Chef

Chef

Copyright ┬ęShutterstock/REDPIXEL.PL

Was ist Chef?

Chef bezeichnet ein Unternehmen sowie seine Software-L├Âsung, die sich auf Configuration-Management spezialisiert hat. Der Name leitet sich vom englischen Wort f├╝r K├╝chenchef ab, da die Software mit so genannten Rezepten und Kochb├╝chern arbeitet. Chef ist Open-Source-basiert und dient der Automatisierung relevanter Prozesse in der Server-Verwaltung. Die Software tr├Ągt dazu bei, Konfigurationen zu testen. Ebenso lassen sich Konfigurationen versionieren sowie replizieren. Die Software liegt ebenso in einer kostenpflichtigen Enterprise-Variante vor.

├ťberblick und Entwicklung

Chef ist eine im Jahr 2009 ver├Âffentlichte Software zur Konfigurationsverwaltung und Anwendungsentwicklung. Das herausgebende Unternehmen tr├Ągt den gleichen Namen. Entwickler von Chef ist Adam Jacob, Inhaber einer Consulting-Firma, die sich auf Deployment-Tools und End-To-End-Serverprodukte spezialisiert hat. Adam Jacob stellte seine Entwicklung dem Technologieunternehmer Jesse Robbins vor. Dieser erkannte das Potential, nachdem er die Anwendung im Zusammenhang mit Amazon testete. Zusammen mit weiteren Entwicklern folgte die Gr├╝ndung eines neuen Unternehmens.

Die Entwicklung Chefs erfolgte urspr├╝nglich unter dem Namen Marionette. Die Umbenennung war die logische Folge des Formats der Software. Diese arbeitet mit einer Art “Kochrezept” beziehungsweise mehreren Rezepten, die sich in einem “Kochbuch” zusammenfassen lassen. Dies veranlasste die Entwickler zur Umbenennung, da der Begriff im Englischen gleichbedeutend ist mit Chefkoch.

Architektur und Plattformen

Grunds├Ątzlich basiert Chef als Software auf einer traditionellen Systemarchitektur im Master-Client-Konzept. Die Software-Client-Application ist in Ruby geschrieben, eine objektorientierte Programmiersprache beziehungsweise DSL (Domain-specific Language). Der Server basiert auf den Programmiersprachen Ruby und Erlang.

Die urspr├╝ngliche Entwicklung Chefs war auf Betriebssysteme von Linux ausgelegt. Inzwischen erfolgt die Bereitstellung des Werkzeugs zur Konfigurationsverwaltung f├╝r mehrere nachgefragte Clients und Server. Es existiert eine Matrix-Plattform, wobei die Software-Versionen eine ganze Reihe von Plattformen unterst├╝tzen. Den meisten Support bietet sie clientseitig f├╝r AIX, FreeBSD, OS X, Solaris, Ubuntu und Microsoft Windows. Weitere unterst├╝tzte Client-Plattformen umfassen Linux, Debian, Arch und Fedora. Serverseitig wird die Software unterst├╝tzt von Oracle Linux, RHEL(CentOS, Ubuntu sowie Oracle Cloud.

Chef und seine Funktionsweise

Die zugrunde liegende Domain-spezifische Programmiersprache Ruby bildet die Basis. Die Entwicklung und Bereitstellung von Anwendungen ist daher an gewisse Kenntnisse dieser Sprache gebunden. Dies betrifft sowohl das kommerzielle Enterprise-Tool, als auch die Open-Source-basierte, frei verf├╝gbare Community-Version. Urspr├╝nglich ist Chef f├╝r die Anwendung in Linux konzipiert worden, doch unterst├╝tzen sp├Ątere Versionen auch Microsoft Windows.

Die Software erm├Âglicht eine Anbindung an lokale Netzwerke. Die Integration der Software in eine Cloud ist keine zwingende Voraussetzung, doch bevorzugen viele Anwender eine solche Einbindung. Geht es um die virtuelle Abarbeitung von Aufgaben in der Cloud, kooperiert das Unternehmen mit mehreren anderen Anbietern und Diensten. Dazu geh├Âren die Amazon Web Services, VMware sowie Microsoft Azure.

Indem ein Anwender “Rezepte” schreibt, beschreibt er, wie Chef Server-Anwendungen managen soll. Zu diesen Server-Applikationen geh├Âren etwa Apache HTTP Server, Hadoop oder MySQL. Ebenso beschreiben Anwender auf diese Weise, wie die Anwendungen zu konfigurieren sind. Diese Rezepte beschreiben grunds├Ątzlich eine Reihe von Ressourcen, die auf eine bestimmte Weise zu behandeln sind. Dazu geh├Âren durchzuf├╝hrende Installationen, das Starten von Anwendungen oder das Schreiben von Dateien. Das Werkzeug sorgt daf├╝r, dass s├Ąmtliche dieser Ressourcen korrekt konfiguriert sind und korrigiert gleicherma├čen alle Ressourcen, die sich nicht im gew├╝nschten Zustand befinden. Zum einfacheren Management lassen sich diese Rezepte in einer Art Kochbuch zusammenfassen.

Chef funktioniert sowohl in einem Stand-Alone-Modus als auch in einem Client-Server-Modus. Der Stand-Alone Modus tr├Ągt auch die Bezeichnung Chef-Solo. Im Client-Server-Modus verwendet der Server Elasticsearch, um alle vom Client weitergeleiteten Attribute zu indexieren. Weiterhin stellt der Server eine API f├╝r Clients zur Verf├╝gung, ├╝ber die sie diese Informationen abfragen k├Ânnen. Die Rezepte k├Ânnen diese Attribute abfragen und anschlie├čend die entsprechenden Daten nutzen, um Konfigurationen vorzunehmen.

Rezepte und Kochbuch: die Grundbausteine

Mit seiner Grundstruktur, bestehend aus Rezepten und Kochbuch, will Chef f├╝r gr├Â├čtm├Âgliche Transparenz sorgen. Auf einer Web-Console sorgt die Software f├╝r die Verf├╝gbarkeit s├Ąmtlicher relevanter Tools f├╝r Reporting und Monitoring. Die Web-Console steht f├╝r Entwickler wie auch f├╝r Administratoren bereit. Hierbei sind die haupts├Ąchlichen Funktionen zum Configuration-Management in der Kommandozeile steuerbar.
Administratoren oder Entwickler legen in den Recipes (Rezepten) fest, wie Server-Applikationen oder entsprechende Dienst-Anwendungen zu verwalten sind. Ebenso nehmen sie dort die Konfiguration vor. Zur ├ťbersicht sowie zur einfachen Verwaltung tr├Ągt die Zusammenfassung der auf diese Weise erstellten Rezepte in einem Cookbook (Kochbuch) bei.
Anweisungen und Zustandsbeschreibungen wie zu installierende Pakete oder auszuf├╝hrende Dienste lassen sich somit festlegen. Ebenso l├Ąsst sich die Reihenfolge der Arbeitsschritte im Kochbuch so festlegen, wie der System-Administrator es vorsieht. Die Abfolge der Abarbeitung dieser Arbeitsschritte erfolgt analog hierzu. Das Konfigurationsverwaltungs-Tool von Chef tr├Ągt daf├╝r Sorge, dass s├Ąmtliche Ressourcen korrekt konfiguriert sind. Sobald sich herausstellt, dass sich eine der Ressourcen nicht im gew├╝nschten Status befindet, greift das Tool mit seiner Regulierung ein. Dies funktioniert sowohl im Client-Server- als auch im Stand-Alone-Betrieb.
Zusammenfassend stellt Chef ein IT-Automatisierungssystem dar, das in erster Linie bei der Verwaltung aufw├Ąndiger System-Landschaften zum Einsatz kommt. Anwender k├Ânnen das Werkzeug auf den System-Plattformen Linux, Mac OS X, Unix und Windows einsetzen. Administratoren oder Entwickler haben mit Chef die M├Âglichkeit, ihre Systemlandschaften mit wenigen Mausklicks aufzusetzen und zu konfigurieren.

Sie haben noch Fragen?

Kontaktieren Sie uns

Kostenloser SEO-Check der OSG


Weitere Inhalte