Πώς να μεταβείτε στο cloud σε δύο ώρες χάρη στο Kubernetes και τον αυτοματισμό

Πώς να μεταβείτε στο cloud σε δύο ώρες χάρη στο Kubernetes και τον αυτοματισμό

Η εταιρεία URUS δοκίμασε το Kubernetes με διάφορες μορφές: ανεξάρτητη ανάπτυξη σε γυμνό μέταλλο, στο Google Cloud και στη συνέχεια μετέφερε την πλατφόρμα της στο σύννεφο Mail.ru Cloud Solutions (MCS). Ο Igor Shishkin λέει πώς επέλεξαν έναν νέο πάροχο cloud και πώς κατάφεραν να μεταναστεύσουν σε αυτόν σε ένα ρεκόρ δύο ώρες (t3ran), ανώτερος διαχειριστής συστήματος στην URUS.

Τι κάνει το URUS;

Υπάρχουν πολλοί τρόποι βελτίωσης της ποιότητας του αστικού περιβάλλοντος, και ένας από αυτούς είναι να γίνει φιλικό προς το περιβάλλον. Αυτό ακριβώς εργάζεται η εταιρεία URUS - Smart Digital Services. Εδώ εφαρμόζουν λύσεις που βοηθούν τις επιχειρήσεις να παρακολουθούν σημαντικούς περιβαλλοντικούς δείκτες και να μειώνουν τις αρνητικές επιπτώσεις τους στο περιβάλλον. Οι αισθητήρες συλλέγουν δεδομένα σχετικά με τη σύνθεση του αέρα, το επίπεδο θορύβου και άλλες παραμέτρους και στη συνέχεια τα στέλνουν στην ενοποιημένη πλατφόρμα URUS-Ekomon για ανάλυση και υποβολή συστάσεων.

Πώς λειτουργεί το URUS από μέσα

Ένας τυπικός πελάτης της URUS είναι μια εταιρεία που βρίσκεται μέσα ή κοντά σε μια κατοικημένη περιοχή. Αυτό μπορεί να είναι εργοστάσιο, λιμάνι, σιδηροδρομική αποθήκη ή οποιαδήποτε άλλη εγκατάσταση. Εάν ο πελάτης μας έχει ήδη λάβει προειδοποίηση, έχει επιβληθεί πρόστιμο για περιβαλλοντική ρύπανση ή θέλει να κάνει λιγότερο θόρυβο, να μειώσει την ποσότητα των επιβλαβών εκπομπών, έρχεται σε εμάς και του προσφέρουμε ήδη μια έτοιμη λύση για περιβαλλοντική παρακολούθηση.

Πώς να μεταβείτε στο cloud σε δύο ώρες χάρη στο Kubernetes και τον αυτοματισμό
Το γράφημα παρακολούθησης της συγκέντρωσης H2S δείχνει τακτικές νυχτερινές εκπομπές από μια κοντινή μονάδα

Οι συσκευές που χρησιμοποιούμε στο URUS περιέχουν αρκετούς αισθητήρες που συλλέγουν πληροφορίες σχετικά με το περιεχόμενο ορισμένων αερίων, τα επίπεδα θορύβου και άλλα δεδομένα για την αξιολόγηση της περιβαλλοντικής κατάστασης. Ο ακριβής αριθμός των αισθητήρων καθορίζεται πάντα από τη συγκεκριμένη εργασία.

Πώς να μεταβείτε στο cloud σε δύο ώρες χάρη στο Kubernetes και τον αυτοματισμό
Ανάλογα με τις ιδιαιτερότητες των μετρήσεων, συσκευές με αισθητήρες μπορούν να τοποθετηθούν σε τοίχους κτιρίων, στύλους και άλλα αυθαίρετα σημεία. Κάθε τέτοια συσκευή συλλέγει πληροφορίες, τις συγκεντρώνει και τις στέλνει στην πύλη λήψης δεδομένων. Εκεί αποθηκεύουμε τα δεδομένα για μακροχρόνια αποθήκευση και τα προεπεξεργαζόμαστε για μεταγενέστερη ανάλυση. Το απλούστερο παράδειγμα αυτού που λαμβάνουμε ως αποτέλεσμα της ανάλυσης είναι ο δείκτης ποιότητας αέρα, γνωστός και ως AQI.

Παράλληλα, στην πλατφόρμα μας λειτουργούν πολλές άλλες υπηρεσίες, οι οποίες όμως είναι κυρίως υπηρεσιακής φύσης. Για παράδειγμα, η υπηρεσία ειδοποιήσεων στέλνει ειδοποιήσεις στους πελάτες εάν κάποια από τις παρακολουθούμενες παραμέτρους (για παράδειγμα, περιεκτικότητα CO2) υπερβαίνει την επιτρεπόμενη τιμή.

Πώς αποθηκεύουμε δεδομένα. Η ιστορία των Kubernetes σε γυμνό μέταλλο

Το έργο περιβαλλοντικής παρακολούθησης URUS διαθέτει πολλές αποθήκες δεδομένων. Σε ένα διατηρούμε "ακατέργαστα" δεδομένα - αυτά που λάβαμε απευθείας από τις ίδιες τις συσκευές. Αυτή η αποθήκευση είναι μια «μαγνητική» ταινία, όπως στις παλιές κασέτες, με ιστορικό όλων των ενδείξεων. Ο δεύτερος τύπος αποθήκευσης χρησιμοποιείται για προεπεξεργασμένα δεδομένα - δεδομένα από συσκευές, εμπλουτισμένα με μεταδεδομένα σχετικά με τις συνδέσεις μεταξύ των αισθητήρων και τις μετρήσεις των ίδιων των συσκευών, τη σχέση με οργανισμούς, τοποθεσίες κ.λπ. Αυτές οι πληροφορίες σάς επιτρέπουν να αξιολογήσετε δυναμικά πώς έχει ένας συγκεκριμένος δείκτης άλλαξε σε μια ορισμένη χρονική περίοδο. Χρησιμοποιούμε την «ακατέργαστη» αποθήκευση δεδομένων, μεταξύ άλλων, ως αντίγραφο ασφαλείας και για την επαναφορά προεπεξεργασμένων δεδομένων, εάν προκύψει τέτοια ανάγκη.

Όταν ψάχναμε να λύσουμε το πρόβλημα αποθήκευσης πριν από αρκετά χρόνια, είχαμε δύο επιλογές πλατφόρμας: Kubernetes και OpenStack. Αλλά επειδή το τελευταίο φαίνεται αρκετά τερατώδες (απλώς κοιτάξτε την αρχιτεκτονική του για να πειστείτε γι' αυτό), κατασταλάξαμε στο Kubernetes. Ένα άλλο επιχείρημα υπέρ του ήταν ο σχετικά απλός έλεγχος λογισμικού, η δυνατότητα πιο ευέλικτης κοπής ακόμη και κόμβων υλικού σύμφωνα με τους πόρους.

Παράλληλα με το mastering του ίδιου του Kubernetes, μελετήσαμε επίσης τρόπους αποθήκευσης δεδομένων, ενώ κρατήσαμε όλη την αποθήκευση στο Kubernetes στο δικό μας υλικό, λάβαμε εξαιρετική τεχνογνωσία. Όλα όσα ζούσαμε τότε στο Kubernetes: πλήρης αποθήκευση, σύστημα παρακολούθησης, CI/CD. Το Kubernetes έχει γίνει μια πλατφόρμα all-in-one για εμάς.

Αλλά θέλαμε να συνεργαστούμε με την Kubernetes ως υπηρεσία και όχι να ασχοληθούμε με την υποστήριξη και την ανάπτυξή της. Επιπλέον, δεν μας άρεσε πόσο μας κόστισε η συντήρησή του σε γυμνό μέταλλο και χρειαζόμασταν συνεχώς εξέλιξη! Για παράδειγμα, μία από τις πρώτες εργασίες ήταν η ενσωμάτωση ελεγκτών Kubernetes Ingress στην υποδομή δικτύου του οργανισμού μας. Αυτό είναι ένα επαχθές έργο, ειδικά αν σκεφτεί κανείς ότι εκείνη την εποχή τίποτα δεν ήταν έτοιμο για τη διαχείριση πόρων μέσω προγραμματισμού, όπως οι εγγραφές DNS ή η εκχώρηση διευθύνσεων IP. Αργότερα αρχίσαμε να πειραματιζόμαστε με την εξωτερική αποθήκευση δεδομένων. Ποτέ δεν καταφέραμε να εφαρμόσουμε τον ελεγκτή PVC, αλλά ακόμη και τότε έγινε σαφές ότι αυτός ήταν ένας μεγάλος τομέας εργασίας που απαιτούσε αφοσιωμένους ειδικούς.

Η μετάβαση στο Google Cloud Platform είναι μια προσωρινή λύση

Καταλάβαμε ότι αυτό δεν μπορούσε να συνεχιστεί και μεταφέραμε τα δεδομένα μας από το γυμνό μέταλλο στο Google Cloud Platform. Στην πραγματικότητα, εκείνη την εποχή δεν υπήρχαν πολλές ενδιαφέρουσες επιλογές για μια ρωσική εταιρεία: εκτός από την Google Cloud Platform, μόνο η Amazon πρόσφερε παρόμοια υπηρεσία, αλλά και πάλι καταλήξαμε στη λύση από την Google. Τότε μας φάνηκε πιο κερδοφόρο από οικονομική άποψη, πιο κοντά στο Upstream, για να μην αναφέρουμε το γεγονός ότι η ίδια η Google είναι ένα είδος PoC Kubernetes στην παραγωγή.

Το πρώτο σημαντικό πρόβλημα εμφανίστηκε στον ορίζοντα καθώς η πελατειακή μας βάση μεγάλωνε. Όταν χρειαζόμασταν να αποθηκεύσουμε προσωπικά δεδομένα, βρεθήκαμε αντιμέτωποι με μια επιλογή: είτε συνεργαζόμαστε με την Google και παραβιάζουμε τη ρωσική νομοθεσία ή αναζητούμε εναλλακτική λύση στη Ρωσική Ομοσπονδία. Η επιλογή, στο σύνολό της, ήταν προβλέψιμη. 🙂

Πώς είδαμε την ιδανική υπηρεσία cloud

Στην αρχή της αναζήτησης, γνωρίζαμε ήδη τι θέλαμε να λάβουμε από τον μελλοντικό πάροχο cloud. Τι υπηρεσία ψάχναμε:

  • Γρήγορο και ευέλικτο. Έτσι ώστε να μπορούμε να προσθέσουμε γρήγορα έναν νέο κόμβο ή να αναπτύξουμε κάτι ανά πάσα στιγμή.
  • Φτηνός. Μας απασχολούσε πολύ το οικονομικό ζήτημα, αφού ήμασταν περιορισμένοι σε πόρους. Γνωρίζαμε ήδη ότι θέλαμε να συνεργαστούμε με την Kubernetes και τώρα το καθήκον ήταν να ελαχιστοποιήσουμε το κόστος της προκειμένου να αυξήσουμε ή τουλάχιστον να διατηρήσουμε την αποτελεσματικότητα της χρήσης αυτής της λύσης.
  • Αυτοματοποιημένο. Σχεδιάσαμε να συνεργαστούμε με την υπηρεσία μέσω του API, χωρίς διαχειριστές και τηλεφωνικές κλήσεις ή καταστάσεις όπου χρειάζεται να δημιουργήσουμε με μη αυτόματο τρόπο αρκετές δεκάδες κόμβους σε κατάσταση έκτακτης ανάγκης. Δεδομένου ότι οι περισσότερες από τις διαδικασίες μας είναι αυτοματοποιημένες, περιμέναμε το ίδιο από την υπηρεσία cloud.
  • Με διακομιστές στη Ρωσική Ομοσπονδία. Φυσικά, σχεδιάζαμε να συμμορφωθούμε με τη ρωσική νομοθεσία και το ίδιο 152-FZ.

Εκείνη την εποχή, υπήρχαν λίγοι πάροχοι Kubernetes aaS στη Ρωσία και όταν επιλέγαμε έναν πάροχο, ήταν σημαντικό για εμάς να μην θέτουμε σε κίνδυνο τις προτεραιότητές μας. Η ομάδα της Mail.ru Cloud Solutions, με την οποία ξεκινήσαμε να εργαζόμαστε και συνεχίζουμε να συνεργαζόμαστε, μας παρείχε μια πλήρως αυτοματοποιημένη υπηρεσία, με υποστήριξη API και έναν βολικό πίνακα ελέγχου που περιλαμβάνει το Horizon - με αυτόν θα μπορούσαμε να αυξήσουμε γρήγορα έναν αυθαίρετο αριθμό κόμβων.

Πώς καταφέραμε να μεταναστεύσουμε στο MCS σε δύο ώρες

Σε τέτοιες κινήσεις πολλές εταιρείες αντιμετωπίζουν δυσκολίες και πισωγυρίσματα, αλλά στην περίπτωσή μας δεν υπήρξε καμία. Ήμασταν τυχεροί: καθώς εργαζόμασταν ήδη στο Kubernetes πριν ξεκινήσει η μετεγκατάσταση, απλώς διορθώσαμε τρία αρχεία και ξεκινήσαμε τις υπηρεσίες μας στη νέα πλατφόρμα cloud, MCS. Επιτρέψτε μου να σας υπενθυμίσω ότι εκείνη την εποχή είχαμε τελικά αφήσει το γυμνό metal και ζούσαμε στο Google Cloud Platform. Ως εκ τούτου, η ίδια η μετακίνηση δεν κράτησε περισσότερο από δύο ώρες, καθώς και λίγο περισσότερο χρόνο (περίπου μία ώρα) για την αντιγραφή δεδομένων από τις συσκευές μας. Τότε χρησιμοποιούσαμε ήδη το Spinnaker (μια υπηρεσία CD πολλαπλών νέφους για την παροχή Συνεχούς Παράδοσης). Επίσης, το προσθέσαμε γρήγορα στο νέο σύμπλεγμα και συνεχίσαμε να εργαζόμαστε ως συνήθως.

Χάρη στην αυτοματοποίηση των διαδικασιών ανάπτυξης και του CI/CD, το Kubernetes στο URUS διαχειρίζεται ένας ειδικός (και αυτός είμαι εγώ). Σε κάποιο στάδιο, ένας άλλος διαχειριστής συστήματος συνεργάστηκε μαζί μου, αλλά στη συνέχεια αποδείχθηκε ότι είχαμε ήδη αυτοματοποιήσει όλη την κύρια ρουτίνα και υπήρχαν όλο και περισσότερες εργασίες από την πλευρά του κύριου προϊόντος μας και ήταν λογικό να κατευθύνουμε πόρους σε αυτό.

Λάβαμε ό,τι περιμέναμε από τον πάροχο cloud, αφού ξεκινήσαμε συνεργασία χωρίς αυταπάτες. Αν υπήρξαν περιστατικά, ήταν κυρίως τεχνικά και αυτά που θα μπορούσαν εύκολα να εξηγηθούν από τη σχετική φρεσκάδα της υπηρεσίας. Το κύριο πράγμα είναι ότι η ομάδα MCS εξαλείφει γρήγορα τις ελλείψεις και απαντά γρήγορα σε ερωτήσεις στους messenger.

Αν συγκρίνω την εμπειρία μου με το Google Cloud Platform, στην περίπτωσή τους δεν ήξερα καν πού βρισκόταν το κουμπί σχολίων, αφού απλά δεν υπήρχε ανάγκη. Και αν προέκυψαν προβλήματα, η ίδια η Google έστειλε ειδοποιήσεις μονομερώς. Αλλά στην περίπτωση της MCS, νομίζω ότι το μεγάλο πλεονέκτημα είναι ότι είναι όσο το δυνατόν πιο κοντά στους Ρώσους πελάτες - τόσο γεωγραφικά όσο και διανοητικά.

Πώς βλέπουμε να δουλεύουμε με σύννεφα στο μέλλον

Τώρα η δουλειά μας είναι στενά συνδεδεμένη με την Kubernetes και μας ταιριάζει απόλυτα από την άποψη των εργασιών υποδομής. Ως εκ τούτου, δεν σκοπεύουμε να μεταναστεύσουμε από αυτό πουθενά, αν και εισάγουμε συνεχώς νέες πρακτικές και υπηρεσίες για απλοποίηση εργασιών ρουτίνας και αυτοματοποίηση νέων, αύξηση της σταθερότητας και αξιοπιστίας των υπηρεσιών... Τώρα λανσάρουμε την υπηρεσία Chaos Monkey (συγκεκριμένα , χρησιμοποιούμε το chaoskube, αλλά αυτό δεν αλλάζει την έννοια: ), που δημιουργήθηκε αρχικά από το Netflix. Το Chaos Monkey κάνει ένα απλό πράγμα: διαγράφει ένα τυχαίο pod Kubernetes σε τυχαία στιγμή. Αυτό είναι απαραίτητο για να ζήσει κανονικά η υπηρεσία μας με τον αριθμό των περιπτώσεων n–1, επομένως εκπαιδεύουμε τους εαυτούς μας να είμαστε προετοιμασμένοι για τυχόν προβλήματα.

Τώρα βλέπω τη χρήση λύσεων τρίτων - τις ίδιες πλατφόρμες cloud - ως το μόνο σωστό για τις νέες εταιρείες. Συνήθως, στην αρχή του ταξιδιού τους, είναι περιορισμένοι σε πόρους, τόσο ανθρώπινους όσο και οικονομικούς, και η κατασκευή και η συντήρηση του δικού τους cloud ή κέντρου δεδομένων είναι υπερβολικά δαπανηρή και εντάσεως εργασίας. Οι πάροχοι cloud σάς επιτρέπουν να ελαχιστοποιήσετε αυτά τα κόστη· μπορείτε να αποκτήσετε γρήγορα από αυτούς τους απαραίτητους πόρους για τη λειτουργία των υπηρεσιών εδώ και τώρα και να πληρώσετε για αυτούς τους πόρους εκ των υστέρων. Όσο για την εταιρεία URUS, θα παραμείνουμε πιστοί στην Kubernetes στο cloud προς το παρόν. Αλλά ποιος ξέρει, ίσως χρειαστεί να επεκταθούμε γεωγραφικά ή να εφαρμόσουμε λύσεις που βασίζονται σε κάποιο συγκεκριμένο εξοπλισμό. Ή ίσως η ποσότητα των πόρων που καταναλώνονται θα δικαιολογήσει τα δικά του Kubernetes σε γυμνό μέταλλο, όπως στις παλιές καλές εποχές. 🙂

Τι μάθαμε από τη συνεργασία με τις υπηρεσίες cloud

Ξεκινήσαμε να χρησιμοποιούμε Kubernetes σε γυμνό μέταλλο, και ακόμη και εκεί ήταν καλό με τον δικό του τρόπο. Αλλά τα δυνατά του σημεία αποκαλύφθηκαν ακριβώς ως συστατικό aaS στο cloud. Εάν θέσετε έναν στόχο και αυτοματοποιήσετε τα πάντα όσο το δυνατόν περισσότερο, θα μπορείτε να αποφύγετε το κλείδωμα του προμηθευτή και η μετακίνηση μεταξύ παρόχων cloud θα διαρκέσει μερικές ώρες και τα νευρικά κύτταρα θα παραμείνουν μαζί μας. Μπορούμε να συμβουλεύσουμε άλλες εταιρείες: εάν θέλετε να λανσάρετε τη δική σας υπηρεσία (σύννεφο), έχοντας περιορισμένους πόρους και μέγιστη ταχύτητα ανάπτυξης, ξεκινήστε αμέσως νοικιάζοντας πόρους cloud και δημιουργήστε το κέντρο δεδομένων σας αφού το Forbes γράψει για εσάς.

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο