Τι είναι ο σεφ; - Ένα εργαλείο που χρησιμοποιείται για τη διαχείριση διαμόρφωσης



Αυτό το ιστολόγιο στο What is Chef είναι το πρώτο blog της σειράς blog του Chef. Μιλά για τη Διαμόρφωση διαμόρφωσης και πώς το επιτυγχάνει ο Chef χρησιμοποιώντας μια θήκη χρήσης.

Το Chef είναι ένα εργαλείο που χρησιμοποιείται για τη Διαχείριση Διαμόρφωσης και ανταγωνίζεται στενά Μαριονέτα . Σε αυτό το blog, θα εξηγήσω τι είναι ο Chef, Configuration Management και πώς ο Chef επιτυγχάνει Configuration Management με μια υπόθεση χρήσης.

Τι είναι ο σεφ;

Το Chef είναι ένα εργαλείο αυτοματισμού που παρέχει έναν τρόπο να ορίσετε την υποδομή ως κώδικα. Η υποδομή ως κώδικας (IAC) σημαίνει απλώς ότι η διαχείριση της υποδομής γράφοντας κώδικα (Αυτοματοποίηση υποδομής) και όχι η χρήση μη αυτόματων διαδικασιών. Μπορεί επίσης να χαρακτηριστεί ως προγραμματιζόμενη υποδομή. Ο σεφ χρησιμοποιεί μια καθαρή Ruby, γλώσσα για συγκεκριμένους τομείς (DSL) για τη διαμόρφωση διαμορφώσεων συστήματος. Ακολουθούν οι τύποι αυτοματισμού που έκανε ο Chef, ανεξάρτητα από το μέγεθος της υποδομής:





  • Διαμόρφωση υποδομής
  • Εφαρμογή εφαρμογής
  • Η διαχείριση των ρυθμίσεων γίνεται στο δίκτυό σας

Σαν Μαριονέτα που έχει αρχιτεκτονική Master-Slave ακόμη και Chef έχει αρχιτεκτονική Client-Server. Αλλά ο Chef έχει ένα επιπλέον συστατικό που ονομάζεται Workstation. Θα μιλήσω για το σταθμό εργασίας στο επόμενο blog μου. Ανατρέξτε στο παρακάτω διάγραμμα:

Chef vs Puppet - Τι είναι Chef - Edureka



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

Τώρα, ας δούμε τους λόγους πίσω από τη δημοτικότητα του Chef.

apache spark vs hadoop mapreduce

Τι είναι ο σεφ - βασικές μετρήσεις του σεφ

  • Ο Chef υποστηρίζει πολλές πλατφόρμες όπως AIX, RHEL / CentOS, FreeBSD, OS X, Solaris, Microsoft Windows και Ubuntu. Πρόσθετες πλατφόρμες πελατών περιλαμβάνουν το Arch Linux, το Debian και το Fedora.
  • Ο Chef μπορεί να ενσωματωθεί σε πλατφόρμες που βασίζονται σε cloud όπως το Internap, το Amazon EC2, το Google Cloud Platform, το OpenStack, το SoftLayer, το Microsoft Azure και το Rackspace για την αυτόματη παροχή και διαμόρφωση νέων μηχανημάτων.
  • Ο σεφ έχει ενεργή, έξυπνη και ταχέως αναπτυσσόμενη κοινοτική υποστήριξη.
  • Λόγω της ωριμότητας και της ευελιξίας του Chef, χρησιμοποιείται από γίγαντες όπως οι Mozilla, Expedia, Facebook, HP Public Cloud, Prezi, Xero, Ancestry.com, Rackspace, Get Satisfaction, IGN, Marshall University, Socrata, University of Minnesota, Wharton School του Πανεπιστημίου της Πενσυλβανίας, Bonobos, Splunk, Citi, DueDil, Disney και Cheezburger.

Σύμφωνα με τον Phil Dibowitz, Μηχανικό Παραγωγής, Facebook



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

Χωρίς αμφιβολία, ο Chef είναι ένα από τα πιο διάσημα εργαλεία διαχείρισης διαμόρφωσης και ανταγωνίζεται στενά Μαριονέτα . Αλλά, πριν βυθιστείτε βαθιά στο 'Τι είναι ο σεφ', είναι δίκαιο να εξηγήσω πρώτα τι είναι η Διαχείριση διαμόρφωσης και γιατί είναι σημαντικό.

Διαχείριση διαμόρφωσης

Μην ανησυχείτε, δεν θα υπάρχει βαρύς ορισμός της Διαμόρφωσης Διαχείρισης σε αυτό το ιστολόγιο :)

Ας κατανοήσουμε τη Διαχείριση ρυθμίσεων με αυτόν τον τρόπο - ας υποθέσουμε ότι πρέπει να αναπτύξετε ένα λογισμικό πάνω από εκατοντάδες συστήματα. Αυτό το λογισμικό μπορεί να είναι ένα λειτουργικό σύστημα ή ένας κωδικός ή μπορεί να είναι μια ενημέρωση ενός υπάρχοντος λογισμικού. Μπορείτε να κάνετε αυτήν την εργασία με μη αυτόματο τρόπο, αλλά τι θα συμβεί αν πρέπει να ολοκληρώσετε αυτήν την εργασία εν μία νυκτί γιατί το αύριο μπορεί να είναι Μεγάλο δισεκατομμύριο ημέρα πώληση στην εταιρεία ή σε ορισμένα Μ ή Πώληση κ.λπ. στην οποία αναμένεται μεγάλη κυκλοφορία. Ακόμα κι αν καταφέρατε να το κάνετε χειροκίνητα, υπάρχει μεγάλη πιθανότητα πολλαπλών σφαλμάτων στη μεγάλη σας μέρα. Τι γίνεται αν το λογισμικό που ενημερώσατε σε εκατοντάδες συστήματα δεν λειτουργεί, τότε πώς θα επιστρέψετε στην προηγούμενη σταθερή έκδοση, θα μπορείτε να κάνετε αυτήν την εργασία χειροκίνητα; AF-φυσικά όχι!

ποια είναι η διαφορά μεταξύ css και css3

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

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

Ανατρέξτε στο ιστολόγιό μου στο Puppet για να μάθετε πώς η NYSE έσωσε εκατομμύρια δολάρια με τη βοήθεια του Configuration Management

Υπάρχουν γενικά δύο τρόποι για να διαχειριστείτε τις διαμορφώσεις σας, δηλαδή τις ρυθμίσεις Push και Pull.

  • Διαμόρφωση τραβήγματος: Σε αυτόν τον τύπο διαχείρισης διαμόρφωσης, οι κόμβοι πραγματοποιούν περιοδικά δημοσκοπήσεις σε έναν κεντρικό διακομιστή για ενημερώσεις. Αυτοί οι κόμβοι διαμορφώνονται δυναμικά, έτσι βασικά τραβούν διαμορφώσεις από τον κεντρικό διακομιστή. Η διαμόρφωση Pull χρησιμοποιείται από εργαλεία όπως Chef, Puppet κ.λπ.
  • Διαμόρφωση ώθησης: Σε αυτόν τον τύπο διαχείρισης διαμόρφωσης, ο κεντρικός διακομιστής ωθεί τις διαμορφώσεις στους κόμβους. Σε αντίθεση με το Pull Configuration, υπάρχουν ορισμένες εντολές που πρέπει να εκτελεστούν στον κεντρικό διακομιστή για τη διαμόρφωση των κόμβων. Το Push Configuration χρησιμοποιείται από εργαλεία όπως το Ansible.

Μάθετε διάφορα στοιχεία της Διαμόρφωσης Διαχείρισης στο Blog Puppet Tutorial

Τώρα είναι η σωστή στιγμή που σας πηγαίνω μπροστά σε αυτήν την αναζήτηση κατανόησης 'Τι είναι ο σεφ' εξηγώντας πώς ο Chef επιτυγχάνει Διαχείριση Διαμόρφωσης.

Τι είναι ο σεφ - Διαχείριση διαμόρφωσης με τον σεφ

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

Η παραδοσιακή ροή εργασιών ανάπτυξης του Gannett χαρακτηρίστηκε από πολλά handoffs και χειροκίνητα τεστ. Ας δούμε ποια ήταν τα προβλήματα που αντιμετώπισαν με αυτήν τη διαδικασία:

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

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

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

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

Ας δούμε ποιες ήταν οι συναρτήσεις που έκανε ο Chef στο Gannett:

  • Ο Gannett άρχισε να κατασκευάζει VPC (Virtual Private Cloud) για περιβάλλον ανάπτυξης που μιμείται την παραγωγή. Κανένα από τα εργαλεία που χρησιμοποιούσαν ήδη δεν ήταν κατάλληλο. Ωστόσο, διαπίστωσαν ότι ο Chef συνεργάστηκε καλά με το cloud και το περιβάλλον Linux και Windows. Χρησιμοποίησαν τον Chef για να χτίσουν ένα περιβάλλον ανάπτυξης που ταιριάζει απόλυτα με το περιβάλλον παραγωγής.
  • Για μια εφαρμογή για μετάβαση στο VPC, έπρεπε να παρασχεθεί και να αναπτυχθεί με τον Chef.
  • Η ασφάλεια θα εμπλέκεται νωρίς και θα διαχειρίζεται τους υποχρεωτικούς ελέγχους για την πρόσβαση στον σεφ και για τη διατήρηση των προτύπων ασφαλείας του συστήματος.

Τώρα είναι η ώρα να καταλάβουμε ποια ήταν τα αποτελέσματα αυτής της διαδικασίας:

γράφοντας έναν διερμηνέα στην Ιάβα
  • Η ανάπτυξη του Gannett έγινε πιο γρήγορη και πιο αξιόπιστη. Παροχή και ανάπτυξη εφαρμογών, η οποία κάποτε χρειάστηκε εβδομάδες, μετά τη χρήση του Chef χρειάστηκαν λεπτά.
  • Όλες οι νέες εφαρμογές αναπτύχθηκαν στο cloud με τον Chef. Αυτές οι εφαρμογές αναπτύχθηκαν σε όλα τα περιβάλλοντα με τον ίδιο τρόπο που αναπτύχθηκαν στην παραγωγή. Επίσης, πραγματοποιήθηκαν δοκιμές σε κάθε περιβάλλον, έτσι ώστε οι υλοποιήσεις να είναι αξιόπιστες.
  • Όλες οι υποδομές αντιμετωπίστηκαν ως κωδικός, ο οποίος αυξάνει σημαντικά την ορατότητα σε τυχόν αλλαγές που συνέβησαν. Η ανάπτυξη, οι λειτουργίες, η ασφάλεια και τα οικονομικά επωφελήθηκαν από αυτό.

Μετά ' Τι είναι ο σεφ 'Το επόμενο ιστολόγιό μου, δηλαδή Σεμινάριο σεφ επικεντρώνεται στην αρχιτεκτονική του Chef μαζί με τα συστατικά του. Εξήγησα επίσης πώς να αναπτύξω το Apache2 χρησιμοποιώντας τον Chef.

Εάν βρήκατε αυτό το ιστολόγιο στο ' Τι είναι ο σεφ ' σχετικό, δείτε το από την Edureka, μια αξιόπιστη διαδικτυακή εταιρεία εκμάθησης με δίκτυο περισσότερων από 250.000 ικανοποιημένων μαθητών σε όλο τον κόσμο. Το μάθημα Εκπαίδευσης Πιστοποίησης Edureka DevOps βοηθά τους μαθητές να αποκτήσουν εμπειρία σε διάφορες διαδικασίες και εργαλεία DevOps, όπως Puppet, Jenkins, Nagios και GIT για την αυτοματοποίηση πολλαπλών βημάτων στο SDLC.