Προγραμματισμός

Αναθεώρηση: Μαριονέτα εναντίον σεφ εναντίον Ansible εναντίον αλατιού

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

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

Οι μαριονέτες, ο σεφ, ο Ansible και το Salt δημιουργήθηκαν με αυτόν τον ίδιο στόχο: για να διευκολύνουν τη διαμόρφωση και τη συντήρηση δεκάδων, εκατοντάδων ή και χιλιάδων διακομιστών. Αυτό δεν σημαίνει ότι τα μικρότερα καταστήματα δεν θα επωφεληθούν από αυτά τα εργαλεία, καθώς ο αυτοματισμός και η ενορχήστρωση γενικά διευκολύνουν τη ζωή σε μια υποδομή οποιουδήποτε μεγέθους.

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

Κουκλοθέατρο

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

Από εκεί, το CLI (διεπαφή γραμμής εντολών) είναι απλό, επιτρέποντας λήψεις και εγκατάσταση μονάδων μέσω του μαριονέτα εντολή. Στη συνέχεια, απαιτούνται αλλαγές στα αρχεία διαμόρφωσης για την προσαρμογή της λειτουργικής μονάδας για την απαιτούμενη εργασία και οι πελάτες που πρέπει να λάβουν τις οδηγίες θα το κάνουν όταν κάνουν check in με τον κύριο ή μέσω μιας ώθησης που θα ενεργοποιήσει τις τροποποιήσεις αμέσως.

Υπάρχουν επίσης λειτουργικές μονάδες που μπορούν να παρέχουν και να διαμορφώνουν παρουσίες διακομιστή cloud και παρουσίες εικονικού διακομιστή. Όλες οι λειτουργικές μονάδες και οι διαμορφώσεις έχουν δημιουργηθεί με γλώσσα ειδικά για τη μαριονέτα που βασίζεται στο Ruby ή στο ίδιο το Ruby, και συνεπώς θα απαιτούν εξειδικευμένη εμπειρία εκτός από τις δεξιότητες διαχείρισης συστήματος.

Πίνακας βαθμολογίαςΕπεκτασιμότητα (20.0%) Διαθεσιμότητα (20.0%) Εκτέλεση (10.0%) αξία (10.0%) Διαχείριση (20.0%) Διαλειτουργικότητα (20.0%) Συνολική βαθμολογία (100%)
AnsibleWorks Ansible 1.38.09.09.09.08.07.0 8.2
Επιχείρηση Chef 11.49.09.08.09.07.08.0 8.3
Puppet Enterprise 3.09.09.09.09.09.09.0 9.0
SaltStack Enterprise 0.17.09.09.09.09.09.08.0 8.8
$config[zx-auto] not found$config[zx-overlay] not found