Theresa Wallas, Marketing Manager

Über die Autorin

Theresa Wallas ist Marketing Managerin für Infralovers und Commandemy. Sie ist eine Expertin wenn es um Themen wie Social Media und Event-Management geht. Sie ist eine begeisterte Mountain-Bikerin und liebt alle Arten von Extremsport. LinkedIn

Alle Artikel dieses Autors sehen

Aufgrund der jahrelangen Erfahrung im Consulting und dem tagtäglichen Kundenkontakt wissen wir genau welche Technologien am Puls der Zeit sind.

Dieser Meinung ist auch das Entwickler-Magazin und veröffentlicht den Beitrag: “Konfigurationsmanagement mit Chef” von unserem Geschäftsführer Edmund Haselwanter in der April Ausgabe: “Automatization Now”.

Edmund erklärt darin einleitend was unter Infrastruktur verstanden wird und warum es in der heutigen Zeit immer bedeutender wird diese Infrastruktur in Code zu schreiben. “Typischerweise steht ein Server zur Verfügung und alle benötigten Ressourcen werden auf diesen einen Server installiert.” Die laufenden Optimierungen bzw. notwendigen Veränderungen wie beispielsweise der Betrieb der Datenbank auf dem eigenen Server, die Absicherung gegen Ausfälle, das Hinzufügen zusätzlicher Server sowie eines redundanten Loadbalancers zeigen auf, dass eine manuelle Ausführung aufwendig und vor allem auch fehleranfällig ist.

Mit Chef lässt sich dieses Problem lösen. Alle Elemente einer Infrastruktur lassen sich mit Chef programmatisch provisionieren und konfigurieren. Die Vorteile liegen dabei auf der Hand:

  • Konsistente Beschreibung der Infrastruktur
  • Ausführbare Dokumentation
  • Infrastruktur als Teil des Softwareentwicklungsprozesses

Um von diesen Vorteilen profitieren zu können müssen die Ressourcen (Elemente der Infrastruktur) beschrieben werden. Dies erfolgt anhand der Beschreibung ihres Zielzustandes, also der deklarativen Beschreibung der Ressourcen.

Doch das ist nur ein wichtiges Element, das in der Verwendung mit Chef zu berücksichtigen ist. Es gibt nämlich auch noch verschiedene Ebenen der Abstraktion in Chef: “Im Prinzip besteht also eine Infrastrukturbeschreibung mit Chef aus einer mehr oder weniger langen – oder auch sehr, sehr langen – Aneinanderreihung von Ressourcen. Damit diese Aneinanderreihung von Ressourcen sich nicht in der Komplexität oder Undurchsichtigkeit verliert, bietet Chef weitere Ebenen der Abstraktion.” Edmund erläutert anschließend diese Abstraktionsebenen:

  • Organizations
  • Environments
  • Roles
  • Nodes
  • Recipes
  • Cookbooks
  • Search

Chef bietet aber nicht nur eine große, bereits eingebaute Funktionalität, sondern auch die Möglichkeit die Funktionalität auf den eigenen Anwendungsfall anzupassen bzw. zu erweitern. Die bedeutendsten Erweiterungsmöglichkeiten sind dabei Libraries, mit denen zusätzliche Hilfsfunktionen ergänzt werden können oder aber Custom Resources und Ohai Plugins in welchen Informationen über Nodes gesammelt werden.

Edmund nennt neben dem Chef-Client, den Chef Server (alternativ Chef-Zero) und Cookbooks als Voraussetzungen für die Verwendung von Chef. Codeschnipsel helfen den Lesern bei den ersten Schritten mit Chef.

“Über die Jahre hat sich das Entwickeln von Cookbooks immer mehr an die Herangehensweise klassischer Software Entwicklung angenähert. Cookbooks werden mit git versioniert und auch in CI Pipelines gebaut und getestet.” Edmund nennt dafür Linting, Unit Testing, Integration Testing aber auch Test Kitchen und liefert dazu gleich den notwendigen Code.

Wenn Sie noch mehr über Chef erfahren wollen, treten Sie doch einfach mit uns in Kontakt oder buchen Sie eines unserer Trainings.

Wir freuen uns auf jeden Fall schon Sie kennenzulernen und mit Ihnen gemeinsam Ihre IT Herausforderungen zu meistern.