Πώς μια 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 (GKE). Επιπλέον, κάναμε τη διαμόρφωση του GKE στην αρχή του έργου εντελώς μέσω του web interface του, το οποίο ήταν αρκετά γρήγορο και, όπως μας φαινόταν τότε, βολικό. Μόνο η διαδικασία δημιουργίας εικόνων docker για την εκτέλεση υπηρεσιών στο GKE ήταν αυτοματοποιημένη εδώ.

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