Was ist Koch? - Ein Tool für das Konfigurationsmanagement

Dieser Blog über What is Chef ist der erste Blog der Chef-Blogserie. Es geht um das Konfigurationsmanagement und darum, wie Chef dies mithilfe eines Anwendungsfalls erreicht.

Chef ist ein Tool für das Konfigurationsmanagement und steht in engem Wettbewerb mit Marionette . In diesem Blog werde ich erklären, was Chef ist, Konfigurationsmanagement und wie Chef mit einem Anwendungsfall Konfigurationsmanagement erreicht.

Was ist Koch?

Chef ist ein Automatisierungstool, mit dem die Infrastruktur als Code definiert werden kann. Infrastruktur als Code (IAC) bedeutet einfach, dass die Infrastruktur durch Schreiben von Code (Automatisieren der Infrastruktur) verwaltet wird, anstatt manuelle Prozesse zu verwenden. Es kann auch als programmierbare Infrastruktur bezeichnet werden. Chef verwendet eine rein rubinrote, domänenspezifische Sprache (DSL) zum Schreiben von Systemkonfigurationen. Nachfolgend sind die von Chefkoch durchgeführten Automatisierungstypen aufgeführt, unabhängig von der Größe der Infrastruktur:



  • Infrastrukturkonfiguration
  • Anwendungsbereitstellung
  • Konfigurationen werden in Ihrem Netzwerk verwaltet

Mögen Marionette Das hat eine Master-Slave-Architektur, sogar Chef hat eine Client-Server-Architektur. Chef hat jedoch eine zusätzliche Komponente namens Workstation. Ich werde in meinem nächsten Blog über Workstation sprechen. Siehe das folgende Diagramm:

Chef vs Puppet - Was ist Chef - Edureka

wie man Ersetzen in Java verwendet

In Chef werden Knoten dynamisch mit den Konfigurationen auf dem Server aktualisiert. Das nennt man Konfiguration ziehen Dies bedeutet, dass wir nicht einmal einen einzigen Befehl auf dem Chef-Server ausführen müssen, um die Konfiguration auf die Knoten zu übertragen. Die Knoten aktualisieren sich automatisch mit den auf dem Server vorhandenen Konfigurationen. Mein nächster Blog auf Chef Tutorial erklärt die Chef-Architektur zusammen mit allen Chef-Komponenten im Detail.

Lassen Sie uns nun die Gründe für die Popularität des Küchenchefs betrachten.

Was ist Chef - Chef Key Metrics

  • Chef unterstützt mehrere Plattformen wie AIX, RHEL / CentOS, FreeBSD, OS X, Solaris, Microsoft Windows und Ubuntu. Weitere Client-Plattformen sind Arch Linux, Debian und Fedora.
  • Chef kann in Cloud-basierte Plattformen wie Internap, Amazon EC2, Google Cloud Platform, OpenStack, SoftLayer, Microsoft Azure und Rackspace integriert werden, um neue Computer automatisch bereitzustellen und zu konfigurieren.
  • Chefkoch hat eine aktive, intelligente und schnell wachsende Community-Unterstützung.
  • Aufgrund der Reife und Flexibilität des Küchenchefs wird es von Giganten wie Mozilla, Expedia, Facebook, HP Public Cloud, Prezi, Xero, Ancestry.com, Rackspace, Get Satisfaction, IGN, der Marshall University, Socrata, der University of Minnesota und der Wharton School verwendet der Universität von Pennsylvania, Bonobos, Splunk, Citi, DueDil, Disney und Cheezburger.

Laut Phil Dibowitz, Produktionsingenieur, Facebook

„Es gibt drei Skalendimensionen, die wir im Allgemeinen für die Infrastruktur betrachten - die Anzahl der Server, das Volumen der verschiedenen Konfigurationen in diesen Systemen und die Anzahl der Personen, die für die Wartung dieser Konfigurationen erforderlich sind. Chef stellte eine Automatisierungslösung zur Verfügung, die flexibel genug ist, um sich unserer Skalendynamik anzupassen, ohne dass wir unseren Workflow ändern müssen. “

Ohne Zweifel ist Chefkoch eines der bekanntesten Konfigurationsmanagement-Tools und steht in engem Wettbewerb mit Marionette . Bevor ich jedoch tief in 'What is Chef' eintauche, ist es nur fair, dass ich zunächst erkläre, was Configuration Management ist und warum es wichtig ist.

Konfigurationsmanagement

Keine Sorge, in diesem Blog wird es keine umfassende Definition von Konfigurationsmanagement geben :)

Lassen Sie uns das Konfigurationsmanagement auf diese Weise verstehen. Angenommen, Sie müssen eine Software auf Hunderten von Systemen bereitstellen. Diese Software kann ein Betriebssystem oder ein Code sein oder ein Update einer vorhandenen Software. Sie können diese Aufgabe manuell ausführen. Was passiert jedoch, wenn Sie diese Aufgabe über Nacht beenden müssen, da morgen möglicherweise eine Aufgabe ausgeführt wird? Big Billion Day Verkauf in der Firma oder einige M. oder Verkauf usw., in denen starker Verkehr erwartet wird. Selbst wenn Sie dies manuell tun könnten, besteht an Ihrem großen Tag eine hohe Wahrscheinlichkeit für mehrere Fehler. Was passiert, wenn die Software, die Sie auf Hunderten von Systemen aktualisiert haben, nicht funktioniert? Wie können Sie dann zur vorherigen stabilen Version zurückkehren und diese Aufgabe manuell ausführen? AF-Kurs nicht!

Um dieses Problem zu lösen, wurde Configuration Management eingeführt. Mithilfe von Konfigurationsmanagement-Tools wie Chef, Puppet usw. können Sie diese Aufgabe automatisieren. Sie müssen lediglich die Konfigurationen auf einem zentralen Server angeben und dementsprechend werden alle Knoten konfiguriert. Es ermöglicht den Zugriff auf eine genaue historische Aufzeichnung des Systemstatus für Projektmanagement- und Prüfungszwecke. Grundsätzlich müssen wir die Konfigurationen einmal auf dem zentralen Server angeben und auf Tausenden von Knoten replizieren. Das Konfigurationsmanagement hilft bei der Ausführung der folgenden Aufgaben auf sehr strukturierte und einfache Weise:

  • Herausfinden, welche Komponenten geändert werden müssen, wenn sich die Anforderungen ändern.
  • Wiederholen einer Implementierung, da sich die Anforderungen seit der letzten Implementierung geändert haben.
  • Zurücksetzen auf eine frühere Version der Komponente, wenn Sie diese durch eine neue, aber fehlerhafte Version ersetzt haben.
  • Ersetzen der falschen Komponente, da Sie nicht genau bestimmen konnten, welche Komponente ersetzt werden sollte.

In meinem Blog auf Puppet erfahren Sie, wie NYSE mithilfe von Configuration Management Millionen von Dollar gespart hat

Es gibt im Allgemeinen zwei Möglichkeiten, Ihre Konfigurationen zu verwalten, nämlich Push- und Pull-Konfigurationen.

  • Pull-Konfiguration: Bei dieser Art der Konfigurationsverwaltung fragen die Knoten einen zentralen Server regelmäßig nach Aktualisierungen ab. Diese Knoten sind dynamisch konfiguriert, sodass sie im Grunde genommen Konfigurationen vom zentralen Server abrufen. Die Pull-Konfiguration wird von Tools wie Chef, Puppet usw. verwendet.
  • Push-Konfiguration: Bei dieser Art der Konfigurationsverwaltung überträgt der zentralisierte Server die Konfigurationen an die Knoten. Im Gegensatz zur Pull-Konfiguration müssen bestimmte Befehle auf dem zentralen Server ausgeführt werden, um die Knoten zu konfigurieren. Die Push-Konfiguration wird von Tools wie Ansible verwendet.

In meinem Puppet Tutorial Blog lernen Sie verschiedene Komponenten des Konfigurationsmanagements kennen

Jetzt ist der richtige Zeitpunkt, an dem ich Sie auf diesem Weg zum Verständnis von „Was ist Chef“ voranbringe, indem ich erkläre, wie Chef das Konfigurationsmanagement erreicht.

Was ist Chef - Konfigurationsmanagement mit Chef

Wir haben verstanden, was Chef ist. Jetzt erkläre ich Ihnen, wie Chef mit einem Anwendungsfall das Konfigurationsmanagement erreicht. Gannett ist eine börsennotierte amerikanische Medienholding. Gemessen an der täglichen Gesamtauflage ist es der größte US-amerikanische Zeitungsverlag.

Der traditionelle Bereitstellungsworkflow von Gannett war durch mehrere Übergaben und manuelle Tests gekennzeichnet. Lassen Sie uns sehen, mit welchen Problemen sie bei diesem Prozess konfrontiert waren:

  • Es war schwierig, genaue, wiederholbare Builds beizubehalten.
  • Es gab viele Buildfehler und Tests wurden häufig in den falschen Umgebungen ausgeführt.
  • Die Bereitstellungs- und Bereitstellungszeiten können zwischen einigen Tagen und mehreren Wochen liegen.
  • Das Betriebsteam hatte keinen Zugriff auf die Cloud oder Entwicklungsumgebungen.
  • Jede Gruppe verwendete ihre eigenen Tools, und es gab keine Rechenschaftspflicht gegenüber Finanzen oder Sicherheit. Niemand wusste, wie viel eine Anwendung tatsächlich kostete. Die Sicherheit hatte keine Möglichkeit, die Software-Stacks zu überwachen.

Gannett war bereit für die Veränderung. Entwickler wollten ihre Anwendungen schnell bereitstellen. Der Betrieb wünschte sich eine stabile Infrastruktur, in der er auf wiederholbare Weise aufgebaut und bereitgestellt werden konnte. Finance wollte die wahren Kosten einer Bewerbung wissen. Die Sicherheit wollte alle Stapel anzeigen und prüfen und Änderungen verfolgen können.

Gannett sah in der Cloud als Service viele Vorteile. Entwickler hatten Zugriff auf standardisierte Ressourcen. Aufgrund des Compute-on-Demand-Modells der Cloud war es einfacher, Spitzenverkehr zu bewältigen, und die Übergaben wurden minimiert.

Mit Chef können Sie Ihre Infrastruktur bei Bedarf dynamisch bereitstellen und bereitstellen, um mit den Spitzenwerten bei Nutzung und Datenverkehr Schritt zu halten. Dadurch können neue Dienste und Funktionen häufiger bereitgestellt und aktualisiert werden, ohne dass das Risiko von Ausfallzeiten besteht. Mit Chef können Sie die Flexibilität und Kosteneinsparungen nutzen, die die Cloud bietet.

Lassen Sie uns sehen, welche Funktionen der Küchenchef bei Gannett ausgeführt hat:

  • Gannett begann mit der Erstellung von VPC (Virtual Private Cloud) für eine Entwicklungsumgebung, die die Produktion nachahmt. Keines der Tools, die sie bereits verwendeten, war angemessen. Sie stellten jedoch fest, dass Chef gut mit der Cloud sowie der Linux- und Windows-Umgebung zusammenarbeitete. Mit Chef haben sie eine Entwicklungsumgebung erstellt, die perfekt zur Produktionsumgebung passt.
  • Damit eine Anwendung in die VPC verschoben werden konnte, musste sie mit Chef bereitgestellt und bereitgestellt werden.
  • Die Sicherheit würde frühzeitig einbezogen und die obligatorischen Kontrollen für den Zugriff auf Chef und die Einhaltung der Systemsicherheitsstandards verwalten.

Jetzt ist es an der Zeit zu verstehen, was die Ergebnisse dieses Prozesses waren:

  • Der Einsatz von Gannett wurde schneller und zuverlässiger. Die Bereitstellung und Bereitstellung von Anwendungen dauerte einmal Wochen, nach der Verwendung von Chef dauerte es Minuten.
  • Alle neuen Anwendungen wurden mit Chef in der Cloud bereitgestellt. Diese Anwendungen wurden in allen Umgebungen auf dieselbe Weise bereitgestellt wie in der Produktion. Außerdem wurden in jeder Umgebung Tests durchgeführt, sodass die Bereitstellungen zuverlässig waren.
  • Die gesamte Infrastruktur wurde als Code behandelt, wodurch die Sichtbarkeit aller aufgetretenen Änderungen erheblich verbessert wird. Davon profitierten Entwicklung, Betrieb, Sicherheit und Finanzen.

Nach dem ' Was ist Chef Mein nächster Blog, d.h. Chef Tutorial konzentriert sich auf die Architektur von Chef zusammen mit seinen Komponenten. Ich habe auch erklärt, wie Apache2 mit Chef bereitgestellt wird.

Wenn Sie diesen Blog auf „ Was ist Chef ”Relevant, Besuche die von Edureka, einem vertrauenswürdigen Online-Lernunternehmen mit einem Netzwerk von mehr als 250.000 zufriedenen Lernenden auf der ganzen Welt. Der Edureka DevOps-Zertifizierungskurs hilft den Lernenden, Kenntnisse in verschiedenen DevOps-Prozessen und -Tools wie Puppet, Jenkins, Nagios und GIT zu erwerben, um mehrere Schritte in SDLC zu automatisieren.