Από το «Kubernetes Runs» στο «Production Ready»: Τι Κρύβεται Ανάμεσα
Το Αόρατο Έργο Πίσω από το «Kubernetes σε Λειτουργία»
Όλοι μας έχουμε περάσει από αυτό. Το app δουλεύει άψογα στο laptop μας μέσα σε Docker. Το containerize-αρουμε, στήνουμε ένα cluster και ξαφνικά το νιώθουμε «παραγωγικό». Ο CTO ενθουσιάζεται, η ομάδα πανηγυρίζει.
Σύντομα όμως έρχεται η πραγματικότητα.
Η εγκατάσταση που μας έφερε στο «δουλεύει» δεν είναι η ίδια με αυτή που μπορεί να αντέξει πραγματικούς χρήστες, πραγματικά δεδομένα και πραγματικά προβλήματα στις 3 τα ξημερώματα.
Γιατί το «τρέχει σε Kubernetes» δεν σημαίνει «έτοιμο για παραγωγή»
Η αλήθεια είναι λίγο άβολη: το development και το production setup έχουν κοινό μόνο τον orchestrator. Τα πάντα αλλιώς αλλάζουν.
Στο development συναντάμε συνήθως:
- τοπικά clusters με minikube
- self-signed certificates που δουλεύουν μόνο τοπικά
- δοκιμαστικά domains όπως
*.127.0.0.1.nip.io - credentials που βρίσονται σε environment variables
- χειροκίνητα
helm installαπό ένα άτομο - monitoring που αναβάλλεται για αργότερα
- backups που δεν έχουν δοκιμαστεί ποτέ
Στο production πρέπει να απαντήσουμε σε άλλα ερωτήματα:
- Πώς θα γίνονται τα deployments χωρίς χειροκίνητες παρεμβάσεις;
- Πού βρίσκονται πραγματικά τα secrets και ποιος έχει πρόσβαση σε αυτά;
- Τι γίνεται αν χαλάσει ο storage;
- Πώς θα γίνει restore αν χρειαστεί;
- Συμμορφωνόμαι με τις security policies;
- Μπορούμε να εντοπίσουμε προβλήματα πριν τα δουν οι users;
Αυτά τα ερωτήματα δεν είναι «nice-to-have». Είναι το διακριτικό χαρακτηριστικό ανάμεταξύ hobby και business-critical app.
Η Διαδρομή σε Πέντε Στάδια
Η μετακίνηση από το «δουλεύει στο μηχάνημάμου» προς το «η ομάδα μπορεί να το λειτουργήσει χωρίς κίνδυνο» δεν είναι δια
συνεχίζεται...