Architektura GC.Platform

Dokumentacja techniczna dla zespołów architektonicznych i deweloperskich klientów. Tu znajdziesz, na jakim stosie technologicznym pracuje GC.Platform, jak jest poukładana, jak się integruje i jak się skaluje.

Architektura w jednym obrazie

GC.Platform to architektura mikroserwisowa, multi-cloud, hostowana w całości w Unii Europejskiej. Każdy moduł działa jako niezależna usługa, z własnym cyklem wdrożeń i skalowania. Pełen obraz głównych komponentów:

Schemat architektury GC.PlatformKomponenty GC.Platform: warstwa brzegowa (Cloudflare, Azure Front Door), backendy mikroserwisowe na Azure App Services (GC.Catalog, GC.Platform API, ERP, CART, AUTH, DASHBOARD, Messaging, AI.Assistant), warstwa danych (Azure SQL Pools, Cognitive Search, GC.CMS w CDN+Storage), GC.MDM w Oracle Cloud, zewnętrzni dostawcy modeli AI, frontendy (GC.Catalog, GC.Dashboard, Messaging chat).SQLDBRequestsCloudflare — WAF, DDoS protection, CDNCloudflareWAF · DDoS · CDNAzure Front Door And CDN Profiles — load balancing wielo-regionalnyFront Door+ CDN Profilesmulti-region routingAzure Cognitive Search — wyszukiwanie po katalogu, indeksowanie, fasetyCognitive SearchCatalogue indexingCatalogue DataGC.MDM w Oracle Cloud — warstwa Master Data ManagementORACLE CLOUDGC.MDMMaster DataManagementAI Vendors — zewnętrzni dostawcy modeli językowychEXTERNALAI VendorsLanguage modelprovidersAZURE · BACKENDSGC.Catalog backend — PHP · server-side renderingApp Service PlanGC.Catalog backendPHP · server-side renderingGC.Platform API — Catalogue data APIApp Service PlanGC.Platform APICatalogue data APIAI.Assistant backend — Intelligence appApp Service PlanAI.Assistant backendIntelligence appERP API — Data from ERP systemsApp Service PlanERP APIData from ERP systemsAUTH API — GearCode oAuth · Azure SQL Pool for GC.AUTHApp Service PlanAUTH APIGearCode oAuthAzure SQL PoolGC.AUTHCART API — Customer orders · Windows · Azure SQL Pool for GC.CARTApp Service PlanCART APICustomer orders · WindowsAzure SQL PoolGC.CARTDASHBOARD API — Backoffice operationsApp Service PlanDASHBOARD APIBackoffice operationsGC.Messaging API — Messaging features · Azure SQL Pool for GC.MessagingApp Service PlanGC.Messaging APIMessaging featuresAzure SQL PoolGC.MessagingFRONTENDSGC.Catalog Frontend — End-user catalogue UIGC.Catalog FrontendEnd-user catalogue UIframework:vanilla JS ES6+ · SCSS · ViteGC.Dashboard — Backoffice UIGC.DashboardBackoffice UIframework:ReactMessaging chat — AI.Assistant chat widgetMessaging chatAI.Assistant chat widgetframework:ReactSTATIC ASSETSCDN Profiles + Storage Accounts — CMS data for catalogueCDN Profiles + Storage AccountsCMS data for catalogue→ GC.CMS

Schemat pokazuje główne komponenty obsługujące przepływ od użytkownika końcowego po dane produktowe. Backendy modułów (GC.Catalog, GC.Platform API, ERP, CART, AUTH, DASHBOARD, Messaging, AI.Assistant) działają niezależnie, komunikując się przez API i zdarzenia. Każdy ma własny plan App Service, dzięki czemu skaluje się indywidualnie.

Hostujemy w trzech regionach UE, na dwóch chmurach

GC.Platform pracuje w modelu multi-cloud z trzema regionami chmurowymi w Unii Europejskiej: Microsoft Azure w Polsce, Microsoft Azure w Niemczech oraz Oracle Cloud w Niemczech. Każda warstwa systemu jest w tej chmurze, w której pracuje najlepiej: dane transakcyjne i aplikacje w Azure, dane produktowe (warstwa MDM) w Oracle Cloud.

Ruch z klientów Twojej platformy obsługuje Cloudflare — warstwa brzegowa, która chroni przed atakami DDoS, filtruje ruch w WAF i akceleruje treści statyczne na całym świecie. Pod Cloudflare pracuje Azure Front Door — wielo-regionalny load balancer od Microsoft, który kieruje ruch do najbliższego dostępnego instancji aplikacji i automatycznie przekierowuje go przy niedostępności któregokolwiek komponentu.

Każdy mikroserwis GC.Platform pracuje na minimum dwóch instancjach aplikacji w Azure App Service, na osobnym planie. Dane transakcyjne w Azure SQL działają w trybie Zone Availability — odpornym na awarie pojedynczej strefy dostępności. To podejście standardowe dla architektury enterprise, ale często pomijane w platformach e-commerce, które reklamują się jako „chmurowe”.

Co jest pod maską

Dobieramy technologie świadomie — pod konkretne zadanie, nie pod modę. Stos GC.Platform łączy dojrzałe, sprawdzone rozwiązania z nowoczesnymi narzędziami tam, gdzie dają realną przewagę.

Backend

  • •.NET (aktualne wersje LTS) — serwisy backendowe (GC.Platform API, ERP, CART, AUTH, DASHBOARD, Messaging, AI.Assistant)
  • •PHP — server-side rendering dla GC.Catalog, zoptymalizowany pod SEO i czas pierwszego renderowania katalogów z dużymi bazami SKU
  • •Azure App Service — runtime aplikacyjny dla wszystkich backendów

Frontend

  • •GC.Catalog — natywny JavaScript ES6+ bez frameworka, SCSS dla stylów, Vite jako bundler. Świadoma decyzja: dla katalogów automotive lekka warstwa interaktywności po stronie przeglądarki daje lepsze rezultaty SEO i performance niż ciężki framework SPA
  • •GC.Dashboard — React, dla zaawansowanego interfejsu administracyjnego
  • •AI.Assistant — React, komponent czatu osadzany w GC.Catalog

Dane

  • •Azure SQL Pool — dane transakcyjne GC.CART, GC.Messaging, GC.AUTH (każdy moduł z osobną instancją SQL)
  • •Oracle Cloud — warstwa GC.MDM (Master Data Management), gdzie struktura i wydajność zapytań produktowych są kluczowe
  • •Azure Cognitive Search — wyszukiwanie po katalogu produktowym, indeksowanie i fasety
  • •Azure Cache for Redis — warstwa cache dla często odpytywanych danych

Komunikacja między serwisami

  • •Azure Service Bus — kolejki i topiki dla zdarzeń biznesowych (zamówienia, zmiany stanów, integracje)
  • •Azure Storage Queues — kolejki dla zadań w tle i przetwarzania asynchronicznego

Infrastruktura brzegowa

  • •Cloudflare — WAF, ochrona anty-DDoS, akceleracja CDN
  • •Azure Front Door — load balancing wielo-regionalny

Bezpieczeństwo i tożsamość

  • •Microsoft Entra ID — zarządzanie tożsamością zespołu utrzymującego platformę, MFA enforced
  • •Azure Key Vault — sekrety, klucze kryptograficzne, certyfikaty
  • •Azure Log Analytics, Application Insights — logi, monitoring, audyt

Każdy moduł niezależny

GC.Platform nie jest monolitem. Każdy moduł — GC.CATALOG, GC.CART, GC.AUTH, GC.MDM, GC.CMS, GC.DASHBOARD, AI.Assistant — to osobny serwis backendowy, na osobnym planie App Service, z własnymi instancjami i własną odpowiedzialnością. Komunikacja między modułami odbywa się przez REST API i przez zdarzenia w Azure Service Bus.

Praktyczna konsekwencja: gdy rośnie ruch na katalogu w sezonie wymiany opon, skalujemy GC.CATALOG. Gdy rośnie liczba zamówień, skalujemy GC.CART. Gdy AI.Assistant obsługuje więcej rozmów, skalujemy ten konkretny serwis. Bez wyłączeń, bez przerw w działaniu, bez efektu domina w innych częściach platformy.

Każdy moduł ma własny pipeline CI/CD w Azure DevOps i może być wdrażany niezależnie od pozostałych. To znaczy, że aktualizacja jednego elementu nie wymaga ponownego deployu całej platformy.

Otwarte API dla integracji ERP

GC.Platform udostępnia API w architekturze REST. Wszystkie serwisy backendowe (GC.Platform API, ERP API, CART API, AUTH API, DASHBOARD API, Messaging API, AI.Assistant) komunikują się tym samym standardem — to upraszcza pracę zespołów integracyjnych po stronie klienta.

Integration API — interfejs dedykowany do integracji z systemami ERP klienta — ma publiczną dokumentację. Standardowy zakres integracji obejmuje wymianę cen, dostępności towaru, zamówień, faktur i tras transportowych między GC.Platform a ERP klienta. Szczegółowy zakres ustalamy w fazie analizy wdrożenia, dostosowując go do specyfiki ERP po stronie klienta.

Pozostałe interfejsy — wewnętrzne między modułami GC.Platform, frontendowe między aplikacjami klienckimi a backendem, integracyjne z partnerami branżowymi — dokumentujemy w fazie wdrożenia i udostępniamy Twojemu zespołowi w ramach prac integracyjnych.

Cykl życia systemu po wdrożeniu

Każde wdrożenie GC.Platform obejmuje minimum dwa środowiska: produkcyjne i staging. Środowisko staging służy do testów integracji, weryfikacji aktualizacji i prób zmian konfiguracyjnych przed ich wdrożeniem na produkcji.

Aktualizacje GC.Platform wdrażamy asynchronicznie — to znaczy, że nie ma sztywnego „okna serwisowego”, którego musisz pilnować. Każdy moduł jest aktualizowany niezależnie, bez przerw w działaniu pozostałych komponentów. W przypadkach koniecznych — np. dużej zmiany strukturalnej lub aktualizacji wymagającej migracji danych — ustalamy okno serwisowe z wyprzedzeniem, w porozumieniu z Twoim zespołem.

Deploy produkcyjny realizuje nasz zespół, przez pipeline CI/CD w Azure DevOps. Każdy deploy ma automatyczną możliwość rollbacku — w razie problemu po wdrożeniu, możemy szybko cofnąć system do poprzedniej, działającej wersji. Bez ręcznej rekonfiguracji, bez ryzyka błędów ludzkich w stresowej sytuacji.

Bezpieczeństwo na poziomie chmury Enterprise

Cała komunikacja — między klientem a platformą oraz wewnątrz GC.Platform — odbywa się przez TLS 1.2 lub wyższy. Dane w bazach Azure SQL są szyfrowane przez Transparent Data Encryption (TDE), klucze przechowujemy w Azure Key Vault. Zespół utrzymujący platformę loguje się przez Microsoft Entra ID z autentykacją wieloskładnikową, każda operacja na produkcji jest logowana i audytowalna. Infrastruktura, na której pracuje GC.Platform, jest certyfikowana zgodnie z normami ISO 27001, SOC 1, SOC 2 i SOC 3.

Pełną politykę bezpieczeństwa, ochrony danych i RODO opisuje strona Dane i bezpieczeństwo.

Wróć do GC.Platform

Opis modułów, scenariuszy zastosowania i kompletny obraz platformy znajdziesz na stronie GC.Platform.