Πώς μια startup έφτασε από το docker-compose στο Kubernetes

Σε αυτό το άρθρο, θα ήθελα να μιλήσω για το πώς αλλάξαμε την προσέγγιση της ενορχήστρωσης στο startup project μας, γιατί το κάναμε και ποια προβλήματα λύσαμε στην πορεία. Αυτό το άρθρο δύσκολα μπορεί να ισχυριστεί ότι είναι μοναδικό, αλλά και πάλι πιστεύω ότι μπορεί να είναι χρήσιμο σε κάποιον, καθώς στη διαδικασία επίλυσης του προβλήματος το υλικό συλλέχθηκε από εμάς με ένα αξιοπρεπές τρίξιμο.  

Τι είχαμε και τι μιλάμε; Και είχαμε ένα start-up project με περίπου 2 χρόνια ιστορίας ανάπτυξης από τον χώρο της διαφήμισης. Το έργο δημιουργήθηκε αρχικά ως microservice και το τμήμα διακομιστή του γράφτηκε σε Symfony + λίγο Laravel, Django και εγγενή NodeJ. Οι υπηρεσίες είναι βασικά ένα API για κινητές συσκευές (υπάρχουν 3 από αυτούς στο έργο) και το δικό μας SDK για IOS (ενσωματωμένο στις εφαρμογές των πελατών μας), καθώς και διεπαφές ιστού και διάφορους πίνακες εργαλείων των ίδιων πελατών. Όλες οι υπηρεσίες ήταν αρχικά δεσμευμένες και λειτουργούσαν από το docker-compose.

Είναι αλήθεια ότι το docker-compose δεν χρησιμοποιήθηκε παντού, αλλά μόνο στο τοπικό περιβάλλον των προγραμματιστών, κατά τη δοκιμή υπηρέτης και εντός του αγωγού κατά την κατασκευή και δοκιμή υπηρεσιών. Στο περιβάλλον παραγωγής, χρησιμοποιήσαμε το Google Kubernetes Engine (GKE). Επιπλέον, ρυθμίσαμε το GKE εξ ολοκλήρου μέσω της διεπαφής ιστού του κατά την έναρξη του έργου, κάτι που ήταν αρκετά γρήγορο και, όπως νομίζαμε εκείνη την εποχή, βολικό. Η μόνη αυτοματοποιημένη διαδικασία ήταν η δημιουργία εικόνων Docker για την εκκίνηση υπηρεσιών στο GKE.

Διαβάστε περισσότερα