Chef und Chef Automate (3)

Lesezeit
5 Minuten
Bis jetzt gelesen

Chef und Chef Automate (3)

18.09.2023 - 06:48
Veröffentlicht in:

Hierzulande eher weniger Beachtung finden – sehr zu Unrecht – Chef und das darauf basierende kommerzielle Produkt Chef Automate. Und das, obwohl Chef als eines der ersten Systeme am Markt echte Automatisierung bot und bis heute in vielerlei Hinsicht einzigartig ist. In dieser Workshopserie stellen wir beide Werkzeuge vor, die viel zu bieten haben, aber auch eine gewisse Lernkurve mit sich bringen. Im dritten Teil schauen wir uns die Funktionsweise von Chef Automate im Detail an.

Chef InSpec bringt Compliance
Die vierte und letzte Komponente, die dieser Artikel aus dem Chef Automation Stack vorstellt, ist InSpec, bei dem wir uns an dieser Stelle auf die wesentlichen Details beschränken wollen. InSpec ist eine Chef-Komponente, die die Automatisierung um den Faktor Compliance erweitert. Viele Unternehmen verfügen heute über eigene, stark ausdifferenzierte Regelwerke. Schon die DSGVO macht diverse Vorgaben im Hinblick auf die Art und Weise, wie Unternehmen ihre Systeme zu betreiben haben und welche Regeln es zu beachten gilt. Halten Firmen sich nicht an diese Vorgaben, kann das sehr schnell sehr teuer werden – denn die DSGVO sieht Strafen vor, die sich am Umsatz der Firmen orientieren.

Admins haben aus guten Gründen also ein Interesse daran, das Eintreten bestimmter Zustände oder Ereignisse auf den eigenen Systemen vorab zu verhindern. Freilich wäre es möglich, Nagios & Co. für solche Aufgaben zu nutzen und Alarm schlagen zu lassen, falls etwas schief geht. Jedoch sind Monitoring-Werkzeuge auf diese Aufgaben eigentlich nicht ausgelegt. Und um etwa zu verhindern, dass bestimmte Konfigurationsdateien bestimmte Einträge enthalten – zum Beispiel sollte die SSHD-Konfiguration heute auf modernen Systemen den passwortbasierten Login ausschließen –, wäre es nötig, einen eigenen Parser für die Konfigurationsdatei von SSHD in einem Monitoring-Check zu implementieren.

Chef Automate kombiniert auch Chef InSpec mit Chef Infra und Chef Habitat. Per Mausklick ist sofort ersichtlich, wie es um die Compliance bestellt ist.
Bild 4: Chef Automate kombiniert auch Chef InSpec mit Chef Infra und Chef Habitat. Per Mausklick ist sofort ersichtlich, wie es um die Compliance bestellt ist.
 

Hier springt Chef InSpec dem Admin zur Seite. Anhand einer eigenen, deklarativen Skriptsprache stellt es Funktionen bereit, mittels derer es den Zustand einzelner Dienste oder des Systems insgesamt überwacht. Ein Check könnte etwa die bereits erwähnte SSH-Konfiguration untersuchen und prüfen, ob jene die "verbotenen Zeilen" enthält oder nicht. Ist passwortbasierter Login erlaubt, schlägt das Werkzeug Alarm. Wobei "Alarm schlagen" nicht so einfach ist, denn für einzelne Compliance-Tests lassen sich in InSpec nach einem komplexen System Punkte vergeben.

Ob ein System als "compliant" gilt oder nicht, ist dann anhand der Gesamtpunktzahl festzulegen – wobei es freilich auch eine Klasse für Verstöße gibt, die so schlimm sind, dass sie immer zu Alarmen führen. InSpec ist extrem mächtig, und sein Einsatz ist auch ohne die anderen Komponenten des Chef-Stacks möglich und sinnvoll. Wer also automatisiert Compliance auf Systemen überwachen möchte, findet hier mit einiger Wahrscheinlichkeit die Lösung des persönlichen Bedarfs.

Chef Desktop für Clients
Erwähnt sei schließlich auch Chef Desktop. Das Werkzeug ist relativ neu in der Chef-Sammlung und der Name ist Programm: Chef Desktop richtet sich an Unternehmen, die nicht nur ihre Server im Rechenzentrum zentral automatisieren und im Hinblick auf Compliance überwachen, sondern auch ihre Desktops in das System integrieren wollen.

Wenige Automatisierungslösungen bieten diese Option überhaupt, obgleich sie vor dem Hintergrund des "Single Point of Administration" für den Admin natürlich extrem elegant ist. Das gilt umso mehr in Corona-Zeiten, da viele Mitarbeiter im Home-Office sind und die Pflege und Wartung üblicherweise nicht so stattfindet, wie es im Büro der Fall wäre.

Chef Desktop unterstützt diverse Linux-Distributionen ebenso wie macOS oder Windows. Aus derselben Umgebung heraus, aus der die Wartung der Server passiert, lassen sich Desktops mit Chef Desktop mit bestimmter Software oder Konfiguration versehen und kontinuierlich im Hinblick auf ihre Compliance überwachen. Dass dies eine echte Zeitersparnis mit sich bringen kann, wenn es richtig implementiert ist, dürfte praktisch jeder Admin bestätigen, der bereits etliche Desktop-PCs nacheinander händisch aufgesetzt hat. Chef Desktop tritt mit dem Versprechen an, dieselben Features in Sachen Automation auf Desktops zu bringen, die es bei Servern längst als Standard etabliert hat.

Chef Automate: Die Klammer, die alles zusammenhält
Nun da Chef Infra, Chef Habitat, Chef In-Spec und auch Chef Desktop ausführlich zur Sprache gekommen sind, erschließt sich die Funktion von Chef Automate.

Versetzen wir uns einmal in die Situation des Admins: Der hat in Form von Chef Infra, Chef InSpec und Chef Habitat hervorragende Werkzeuge zur Hand, um eine Automatisierung überall im Setup zu implementieren und zu erzwingen. Chef Automate rollt auf sämtlichen Nodes der Umgebung die gewünschten Dienste aus, kümmert sich zudem um einen Haufen Software in AWS und pflegt auch noch einige virtuelle Instanzen. Ein vom Admin per Chef Infra eigens eingerichteter Cronjob ruft auf den jeweiligen Nodes regelmäßig Chef InSpec auf, um die Einhaltung diverser Compliance-Regeln zu prüfen.

Möchte der Administrator auf einem bestimmten System die Konfiguration der dortigen Dienste ändern, ruft er von seiner Workstation aus "chef" mit der jeweiligen Maschine als Parameter auf. Und wenn die Kollegen im Git-Verzeichnis ihrer Anwendung etwas umbauen, rollt Chef Habitat die Änderung samt der Software, zu der sie gehört, neu aus.

Ein Setup dieser Art hätte zugegebenermaßen bereits einen hohen Automatisierungsgrad, gerade und vor allem auch im Hinblick auf das, was Admins heute in Umgebungen noch immer vorfinden, die angeblich automatisiert sind. In der Praxis wäre ein wie beschrieben funktionierendes Setup trotzdem unangenehm zu warten, insbesondere, wenn es gewisse Men-gen an einzelnen Nodes erreicht. Denn für den Administrator ist dann irgendwann nicht mehr nachvollziehbar, welche Chef-Cookbooks auf welche Systeme anzuwenden sind, welche Rechner welchen Stand haben und wie es mit der Compliance auf den einzelnen Nodes aussieht.

Genau hier kommt die letzte Komponente des "Chef Enterprise Automation Stacks" ins Spiel: Chef Automate. Es legt sich in gewisser Weise wie eine große Klammer um die anderen Komponenten und verbindet ihre Funktionalität. Dazu ist es ab Werk mit einem asynchronen Message-Bus ebenso wie mit diversen APIs ausgestattet, über die sich den einzelnen Komponenten wie InSpec oder Habitat per ReST-Protokoll Befehle schicken lassen. Vor kurzer Zeit hat Chef Automate von Grund auf neu geschrieben und in der neuen Version 2 an den Start gebracht, die ihren Vorgänger ersetzt – mit diesem aber nur noch wenig gemein hat. Aus Sicht der Chef-Produktstrategen ist Automate heute vor allem ein Dashboard für agile Entwicklung und Systemadministration, das schnellen Zugriff auf die diversen Tools des Stacks liefert.

Vier Aspekte vereint
In Summe vereint Automate die vier Aspekte der anderen Lösungen unter einer GUI. Da ist zunächst der Faktor "Application Delivery", für den Habitat zuständig ist. In Automate sieht der Administrator oder der Entwickler jederzeit, welche Dienste gerade auf welcher Zielumgebung ausgerollt sind. Dieselbe Information wäre zwar über die Kommandozeile auch zu bekommen – bei tausenden Anwendungen, die sich auf abertausende Nodes verteilen, ist eine übersichtliche Darstellung im Terminal allerdings kaum noch möglich.

Dasselbe gilt für Compliance. Wer Nodes unterschiedlichster Art in hoher Stückzahl zu verwalten hat, möchte möglichst gut dargestellt bekommen, wo die Compliance in Ordnung ist und wo es Handlungsbedarf gibt. Chef Automate verbindet sich zu diesem Zwecke nicht nur mit InSpec auf den einzelnen Systemen – es bietet auch die Möglichkeit, die InSpec-Regeln für einzelne Systeme per GUI zu hinterlegen und anzuwenden. Das Ausrollen erledigt das Werkzeug dann per Chef Infra im Hintergrund selbst.

Desktopmanagement gehört ebenfalls zum Funktionsumfang von Chef Automate, und hier wird die Überlegenheit eines gut gestalteten GUIs in Form eines Dashboards noch offensichtlicher. Denn eine Vielzahl an (mobilen) Clients, die nicht im selben Gebäude sind, wäre mit Werkzeugen wie der Kommandozeile und SSH praktisch nicht sinnvoll zu verwalten. Chef Desktop zeigt dem Administrator stattdessen den Automationszustand der konfigurierten Clients an und weist gleich auch darauf hin, wenn es in Sachen Automation oder Compliance etwas zu tun gibt. Denn unter der Haube von Chef Automate kann der Admin freilich Automation, Compliance sowie Application Lifecycle Management miteinander verzahnen und kollektiv ausrollen.

Nicht zuletzt hat Chef Automate natürlich auch Chef Infra selbst unter den eigenen Fittichen. Wer also auf bestimmten Systemen etwas automatisiert anhand der Konfiguration des jeweiligen Nodes ausrollen möchte, ist in Automate an der richtigen Adresse – zumal Systeme sich hier sinnvoll kategorisieren und kategorisiert darstellen lassen. Wer 10.000 Nodes gleichzeitig betrachtet, übersieht mit einiger Wahrscheinlichkeit ein Problem. Mit Chef Automate ist diese Gefahr deutlich geringer.

Fazit
Auch wenn Chef hierzulande nicht unbedingt die Aufmerksamkeit bekommt, mit der Puppet und Ansible oder Salt gesegnet sind, verdient sich das Tool doch einen Platz in der Spitzengruppe der Automatisierer. Bei der Pflicht patzt das Programm nicht mal ein bisschen und befindet sich im Hinblick auf seine Features auf Augenhöhe mit der Konkurrenz. Bei der Kür präsentiert sich Chef Infra mit Chef Automate ebenso auf der Höhe der Zeit. Bonuspunkte gibt es für Habitat und InSpec, die Infra und Automate zu einem vollständigen, an die Bedürfnisse der Gegenwart angepassten CI/CD-Automationsstack machen.

dr/ln/Martin Loschwitz

Im ersten Teil der Workshopserie gaben wir einen Überblick über das Chef-Portfolio und stellten die Unterschiede zu Puppet heraus. Im zweiten Teil ging es um die einzelnen Teile des "Chef Enterprise Automation Stacks". Einen genaueren Blick warfen wir dabei auf Chef Habitat.

Ähnliche Beiträge

Schatten-IT durch Low-Code in den Griff bekommen Redaktion IT-A… Mi., 06.12.2023 - 07:33
Schatten-IT stellt für viele Unternehmen ein ernstes Risiko dar. No-Code- und Low-Code-Technologien bieten Mitarbeitern hier einen sicheren Rahmen, um eigene Prozessentwicklungen schnell, kostengünstig und Compliance-konform zu digitalisieren und das Entstehen von Schatten-IT zu verhindern. Intelligente, KI-gestützte und robotergesteuerte Workflows erhöhen den Digitalisierungsgrad und ebnen den Weg für die nächste Stufe der Automatisierung.