Αρχιτεκτονική του GC.Platform

Τεχνική τεκμηρίωση για τις ομάδες αρχιτεκτονικής και ανάπτυξης από την πλευρά του πελάτη. Εδώ θα βρείτε σε ποιο τεχνολογικό stack λειτουργεί το GC.Platform, πώς είναι δομημένο, πώς ολοκληρώνεται και πώς κλιμακώνεται.

Η αρχιτεκτονική σε μία εικόνα

Το GC.Platform είναι μια αρχιτεκτονική μικροϋπηρεσιών, multi-cloud, φιλοξενούμενη εξ ολοκλήρου στην Ευρωπαϊκή Ένωση. Κάθε module λειτουργεί ως ανεξάρτητη υπηρεσία, με δικό του κύκλο deployment και κλιμάκωσης. Η πλήρης εικόνα των κύριων εξαρτημάτων:

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

Το διάγραμμα δείχνει τα κύρια εξαρτήματα που διαχειρίζονται τη ροή από τον τελικό χρήστη μέχρι τα δεδομένα προϊόντων. Τα backends των modules (GC.Catalog, GC.Platform API, ERP, CART, AUTH, DASHBOARD, Messaging, AI.Assistant) λειτουργούν ανεξάρτητα, επικοινωνώντας μέσω API και events. Κάθε ένα έχει δικό του App Service Plan, ώστε να κλιμακώνεται ατομικά.

Φιλοξενούμε σε τρεις περιοχές της ΕΕ, σε δύο cloud

Το GC.Platform λειτουργεί σε μοντέλο multi-cloud με τρεις περιοχές cloud στην Ευρωπαϊκή Ένωση: Microsoft Azure στην Πολωνία, Microsoft Azure στη Γερμανία και Oracle Cloud στη Γερμανία. Κάθε στρώμα του συστήματος βρίσκεται στο cloud όπου λειτουργεί καλύτερα: συναλλακτικά δεδομένα και εφαρμογές στο Azure, δεδομένα προϊόντων (στρώμα MDM) στο Oracle Cloud.

Την κίνηση από τους πελάτες της πλατφόρμας σας τη διαχειρίζεται το Cloudflare — το edge layer που προστατεύει από επιθέσεις DDoS, φιλτράρει την κίνηση στο WAF και επιταχύνει στατικό περιεχόμενο παγκοσμίως. Κάτω από το Cloudflare λειτουργεί το Azure Front Door — ο πολυπεριφερειακός load balancer της Microsoft, που δρομολογεί την κίνηση στην πλησιέστερη διαθέσιμη εφαρμογή και την ανακατευθύνει αυτόματα σε περίπτωση μη διαθεσιμότητας οποιουδήποτε εξαρτήματος.

Κάθε μικροϋπηρεσία του GC.Platform λειτουργεί σε τουλάχιστον δύο instances εφαρμογής στο Azure App Service, σε ξεχωριστό plan. Τα συναλλακτικά δεδομένα στο Azure SQL λειτουργούν σε κατάσταση Zone Availability — ανθεκτικά σε βλάβες μιας μόνο ζώνης διαθεσιμότητας. Είναι μια τυπική προσέγγιση για enterprise αρχιτεκτονική, αλλά συχνά παραλείπεται σε e-commerce πλατφόρμες που διαφημίζονται ως «cloud».

Τι κρύβεται κάτω από το καπό

Επιλέγουμε τεχνολογίες συνειδητά — για το συγκεκριμένο έργο, όχι για τη μόδα. Το stack του GC.Platform συνδυάζει ώριμες, δοκιμασμένες λύσεις με σύγχρονα εργαλεία εκεί όπου αυτά δίνουν πραγματικό πλεονέκτημα.

Backend

  • •.NET (τρέχουσες εκδόσεις LTS) — backend services (GC.Platform API, ERP, CART, AUTH, DASHBOARD, Messaging, AI.Assistant)
  • •PHP — server-side rendering για το GC.Catalog, βελτιστοποιημένο για SEO και χρόνο πρώτης απόδοσης καταλόγων με μεγάλες βάσεις SKU
  • •Azure App Service — runtime εφαρμογών για όλα τα backends

Frontend

  • •GC.Catalog — native JavaScript ES6+ χωρίς framework, SCSS για styles, Vite ως bundler. Συνειδητή απόφαση: για τους automotive καταλόγους, ένα ελαφρύ επίπεδο διαδραστικότητας στον browser δίνει καλύτερα αποτελέσματα SEO και performance από ένα βαρύ SPA framework
  • •GC.Dashboard — React, για το προηγμένο διαχειριστικό περιβάλλον
  • •AI.Assistant — React, component chat ενσωματωμένο στο GC.Catalog

Δεδομένα

  • •Azure SQL Pool — συναλλακτικά δεδομένα των GC.CART, GC.Messaging, GC.AUTH (κάθε module με ξεχωριστή instance SQL)
  • •Oracle Cloud — στρώμα GC.MDM (Master Data Management), όπου η δομή και η απόδοση των ερωτημάτων προϊόντων είναι καθοριστικές
  • •Azure Cognitive Search — αναζήτηση στον κατάλογο προϊόντων, indexing και facets
  • •Azure Cache for Redis — στρώμα cache για συχνά ζητούμενα δεδομένα

Επικοινωνία μεταξύ υπηρεσιών

  • •Azure Service Bus — ουρές και topics για επιχειρηματικά events (παραγγελίες, αλλαγές καταστάσεων, ολοκληρώσεις)
  • •Azure Storage Queues — ουρές για εργασίες στο παρασκήνιο και ασύγχρονη επεξεργασία

Edge υποδομή

  • •Cloudflare — WAF, προστασία anti-DDoS, επιτάχυνση CDN
  • •Azure Front Door — πολυπεριφερειακός load balancing

Ασφάλεια και ταυτότητα

  • •Microsoft Entra ID — διαχείριση ταυτότητας για την ομάδα που συντηρεί την πλατφόρμα, με υποχρεωτικό MFA
  • •Azure Key Vault — secrets, κρυπτογραφικά κλειδιά, πιστοποιητικά
  • •Azure Log Analytics, Application Insights — logs, monitoring, audit

Κάθε module ανεξάρτητο

Το GC.Platform δεν είναι monolith. Κάθε module — GC.CATALOG, GC.CART, GC.AUTH, GC.MDM, GC.CMS, GC.DASHBOARD, AI.Assistant — είναι ξεχωριστή backend υπηρεσία, σε δικό του App Service Plan, με δικά του instances και δική του ευθύνη. Η επικοινωνία μεταξύ των modules γίνεται μέσω REST API και μέσω events στο Azure Service Bus.

Πρακτική συνέπεια: όταν αυξάνεται η κίνηση στον κατάλογο στην περίοδο αλλαγής ελαστικών, κλιμακώνουμε το GC.CATALOG. Όταν αυξάνεται ο αριθμός παραγγελιών, κλιμακώνουμε το GC.CART. Όταν το AI.Assistant διαχειρίζεται περισσότερες συνομιλίες, κλιμακώνουμε ακριβώς αυτή την υπηρεσία. Χωρίς απενεργοποιήσεις, χωρίς διακοπές λειτουργίας, χωρίς ντόμινο σε άλλα μέρη της πλατφόρμας.

Κάθε module διαθέτει δική του pipeline CI/CD στο Azure DevOps και μπορεί να αναπτυχθεί ανεξάρτητα από τα υπόλοιπα. Αυτό σημαίνει ότι η ενημέρωση ενός στοιχείου δεν απαιτεί νέο deployment ολόκληρης της πλατφόρμας.

Ανοιχτό API για ολοκλήρωση με ERP

Το GC.Platform παρέχει API σε αρχιτεκτονική REST. Όλες οι backend υπηρεσίες (GC.Platform API, ERP API, CART API, AUTH API, DASHBOARD API, Messaging API, AI.Assistant) επικοινωνούν με το ίδιο πρότυπο — αυτό απλοποιεί τη δουλειά των ομάδων ολοκλήρωσης από την πλευρά του πελάτη.

Integration API — η διεπαφή που είναι αφιερωμένη στην ολοκλήρωση με τα ERP συστήματα του πελάτη — έχει δημόσια τεκμηρίωση. Το τυπικό εύρος ολοκλήρωσης καλύπτει την ανταλλαγή τιμών, διαθεσιμότητας εμπορεύματος, παραγγελιών, τιμολογίων και διαδρομών μεταφοράς μεταξύ GC.Platform και ERP του πελάτη. Το αναλυτικό εύρος καθορίζεται στη φάση ανάλυσης της υλοποίησης, προσαρμοσμένο στις ιδιαιτερότητες του ERP από την πλευρά του πελάτη.

Οι άλλες διεπαφές — εσωτερικές μεταξύ των modules του GC.Platform, frontend μεταξύ των client εφαρμογών και του backend, ολοκλήρωσης με συνεργάτες του κλάδου — τεκμηριώνονται στη φάση υλοποίησης και διατίθενται στην ομάδα σας στο πλαίσιο των εργασιών ολοκλήρωσης.

Κύκλος ζωής του συστήματος μετά την υλοποίηση

Κάθε υλοποίηση του GC.Platform περιλαμβάνει τουλάχιστον δύο περιβάλλοντα: production και staging. Το περιβάλλον staging εξυπηρετεί τα tests ολοκλήρωσης, την επαλήθευση των ενημερώσεων και τις δοκιμές αλλαγών διαμόρφωσης πριν την εφαρμογή τους σε production.

Τις ενημερώσεις του GC.Platform τις εφαρμόζουμε ασύγχρονα — αυτό σημαίνει ότι δεν υπάρχει αυστηρό «παράθυρο συντήρησης» που πρέπει να παρακολουθείτε. Κάθε module ενημερώνεται ανεξάρτητα, χωρίς διακοπές στη λειτουργία των υπόλοιπων εξαρτημάτων. Σε αναγκαίες περιπτώσεις — π.χ. μεγάλη δομική αλλαγή ή ενημέρωση που απαιτεί μετάβαση δεδομένων — ορίζουμε εκ των προτέρων παράθυρο συντήρησης, σε συνεννόηση με την ομάδα σας.

Το production deployment το πραγματοποιεί η ομάδα μας, μέσω της pipeline CI/CD στο Azure DevOps. Κάθε deployment διαθέτει αυτόματη δυνατότητα rollback — σε περίπτωση προβλήματος μετά την εφαρμογή, μπορούμε γρήγορα να επαναφέρουμε το σύστημα στην προηγούμενη, λειτουργική έκδοση. Χωρίς χειρωνακτική επαναδιαμόρφωση, χωρίς κίνδυνο ανθρώπινων σφαλμάτων σε αγχωτική κατάσταση.

Ασφάλεια σε επίπεδο Enterprise cloud

Όλη η επικοινωνία — μεταξύ του client και της πλατφόρμας καθώς και εντός του GC.Platform — γίνεται μέσω TLS 1.2 ή υψηλότερου. Τα δεδομένα στις βάσεις Azure SQL είναι κρυπτογραφημένα με Transparent Data Encryption (TDE), τα κλειδιά τα αποθηκεύουμε στο Azure Key Vault. Η ομάδα που συντηρεί την πλατφόρμα συνδέεται μέσω Microsoft Entra ID με πολυπαραγοντική πιστοποίηση, κάθε λειτουργία σε production καταγράφεται και είναι ελέγξιμη. Η υποδομή στην οποία λειτουργεί το GC.Platform είναι πιστοποιημένη σύμφωνα με τα πρότυπα ISO 27001, SOC 1, SOC 2 και SOC 3.

Την πλήρη πολιτική ασφάλειας, προστασίας δεδομένων και ΓΚΠΔ την περιγράφει η σελίδα Δεδομένα και ασφάλεια.

Επιστροφή στο GC.Platform

Την περιγραφή των modules, των σεναρίων χρήσης και τη συνολική εικόνα της πλατφόρμας θα τη βρείτε στη σελίδα GC.Platform.