Αρχιτεκτονική του GC.Platform
Τεχνική τεκμηρίωση για τις ομάδες αρχιτεκτονικής και ανάπτυξης από την πλευρά του πελάτη. Εδώ θα βρείτε σε ποιο τεχνολογικό stack λειτουργεί το GC.Platform, πώς είναι δομημένο, πώς ολοκληρώνεται και πώς κλιμακώνεται.
Η αρχιτεκτονική σε μία εικόνα
Το GC.Platform είναι μια αρχιτεκτονική μικροϋπηρεσιών, multi-cloud, φιλοξενούμενη εξ ολοκλήρου στην Ευρωπαϊκή Ένωση. Κάθε module λειτουργεί ως ανεξάρτητη υπηρεσία, με δικό του κύκλο deployment και κλιμάκωσης. Η πλήρης εικόνα των κύριων εξαρτημάτων:
Το διάγραμμα δείχνει τα κύρια εξαρτήματα που διαχειρίζονται τη ροή από τον τελικό χρήστη μέχρι τα δεδομένα προϊόντων. Τα 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.