Suchen

Ein Vergleich der vier gängigsten offenen Automatsierungs-Tools für Datacenter Open-Source-Tools für mehr Automatisierung im Rechenzentrum

| Autor / Redakteur: Filipe Pereira Martins und Anna Kobylinska / Ulrike Ostler

Die Zeiten selbstgeschriebener Skripte im DIY-Verfahren sind lange passé. Angesichts der unzähligen Server, die es im Rechenzentrum zu zähmen gilt, müssen Lösungen her, die den Verantwortlichen die schwere Last der Server-Automatisierung abnehmen. Als die interessantesten Open-Source-Tools gelten „Chef“, „Puppet“, „Saltstack“ und „Ansible“.

Wer für Automatisierung im Rechenzentrum sorgen will, sollte Puppets tanzen lassen, für einen Chef sorgen oder auf einen Saltstack setzen oder auf Ansible.
Wer für Automatisierung im Rechenzentrum sorgen will, sollte Puppets tanzen lassen, für einen Chef sorgen oder auf einen Saltstack setzen oder auf Ansible.
(Bild: blitzmaerker / pixelio.de)

Bei Puppet handelt es sich um das führende Framework zur Rechenzentrums-Automatisierung. Es umfasst das gesamte Spektrum der Datacenter-Orchestrierung, liefert leistungsstarke Automatisierungswerkzeuge mit einer engen Systemintegration für die wichtigsten Betriebssysteme und eine umfassende Auswahl an Aktionen, Modulen und Benutzerschnittstellen.

Puppet und Puppet Enterprise

Puppet weist den größten Reifegrad unter den vier vorgestellten Lösungen zur RZ-Automatisierung auf und verfügt über ein sehr durchdachtes Ökosystem nützlicher Plug-Ins. Offene RESTful-APIs und eine moderne Plug-In-Architektur ermöglichen einen hohen Grad an Interoperabilität.

Abbildung 1: Das Web-UI von Puppet Enterprise
Abbildung 1: Das Web-UI von Puppet Enterprise
(Bild: Filipe Pereira Martins und Anna Kobylinska)

Mit dem Ereignisinspektor (Edition Enterprise) kann zum Beispiel der aktive Status der Infrastruktur aus verschiedenen Blickwinkeln untersucht werden, um mögliche Problemfelder aufzudecken und ihren Ursachen auf die Spur zu kommen. Mit einem Modul mit der Bezeichnung „Razor“ kann Puppet eine Bestandsaufnahme der Hardware-Architektur in Echtzeit erfassen und die Bereitstellung von Ressourcen richtlinienbasiert automatisieren. Puppet „zieht Fäden“ an über zehn Millionen Server-Knoten weltweit.

Chef und Enterprise Chef

Chef Opscode basiert auf einem ähnlichen Konzept wie Puppet. Beide Lösungen installieren jeweils einen zentralen Master-Server und Agenten auf den einzelnen Knoten eines Chef-Clusters. Chef nutzt eine Untermenge von Ruby, Puppet wahlweise eine eigene JSON-ähnliche Sprache oder Ruby. Die technischen Unterschiede zwischen den beiden Lösungen liegen in der Art und Weise, wie sie ihre Dienste bereitstellen.

Abbildung 2: Die Topologie einer Chef-Umgebung
Abbildung 2: Die Topologie einer Chef-Umgebung
(Bild: Filipe Pereira Martins und Anna Kobylinska)

Eine Chef-Installation erfordert zusätzlich zum Master-Server eine Workstation für das Verwalten des Masters. Diese kann mit Hilfe des so genannten „Messers“ (knife tool) Chef-Dienste auf den Knoten installieren, was die Einrichtung der Umgebung etwas vereinfacht.

Die Knoten authentifizieren sich dann beim Master unter Verwendung von Zertifikaten. Korrekt eingerichtete Chef-Agenten melden sich in regelmäßigen Zeitintervallen beim Master, um Aktualisierungen der Konfiguration abzuholen.

Ergänzendes zum Thema
Vorsicht! Update-Roulette

Unabhängig vom verwendeten Automatisierungs-Tool stellen etwaige Aktualisierungen eine nicht zu unterschätzende Herausforderung dar. Fehlerträchtige Updates können unerwünschte Nebeneffekte verursachen, die sich auf die gesamte Datacenter-Infrastruktur übertragen können.

Da ein solcher Vorfall – wie die fehlerträchtige Version 3.5 bei Puppet – nie ganz auszuschließen ist und im Falle einer Automatisierungssoftware gravierende Folgen haben kann, sollten Updates von Orchestration-Tools an sich niemals automatisiert werden. Unter Linux kann die gewünschte Version mit Hilfe von „Apt“ oder „Yum“ eingefroren werden.

Eine automatische, unmittelbare Anwendung neuer Einstellungen kann Chef derzeit leider nicht bieten. Chef fehlt derzeit noch (im Gegensatz zu Puppet) eine ausgereift ePush-Funktion; diese befindet sich aber in der Entwicklung.

Das Browser-basierte Benutzer-Interface von Enterprise Chef mag funktional sein, es fehlen ihm aber zahlreiche benötigte Features wie die Fähigkeit zum Modifizieren von Konfigurationseinstellungen und Berichterstattung. In dieser Hinsicht hat Puppets Web UI weitaus mehr zu bieten.

Ergänzendes zum Thema
Die Bewertung durch die Autoren

Die vier vorgestellten Automatisierungs-Tools verdienen Bestnoten. Puppet Enterprise triumphiert in allen Kategorien. Saltstack kommt auf Grund vergleichsweise schwacher Interoperabilität auf die unangefochtene Nummer zwei. Die übrigen Mitbewerber Chef und Ansible teilen sich auf der Liste empfehlenswerter Automatisierungssoftware den dritten Platz.

Abbildung 5: Die Bewertung in Tabellenform
Abbildung 5: Die Bewertung in Tabellenform
( Bild: Filipe Pereira Martins und Anna Kobylinska )

Wer bereits eines der vorgestellten Tools einsetzt, hat vorerst noch kaum einen berechtigten Grund zum Wechsel. Der rasche Fortschritt der Entwicklung könnte in Zukunft aber durchaus ein anderes Bild ergeben. Wachsamkeit ist daher angesagt.

Die ganze Konfiguration von Chef dreht sich um das Versionskontrollsystem „Git“. Die Kenntnis der Funktionsweise von Git zählt daher neben „Ruby“-Kenntnissen zu den Voraussetzungen für Chef-basierte Automatisierung der Infrastruktur eines Rechenzentrums.

Artikelfiles und Artikellinks

(ID:42939807)