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

Saltstack und Saltstack Enterprise

Bei Saltstack handelt es sich um ein CLI-basiertes Tool zur RZ-Automatisierung. Seine hohe Skalierbarkeit verdankt Saltstack unter anderem einer effizienten Client-Master-Kommunikation mit Hilfe von Push-Benachrichtigungen und speziellen Agenten, den so genannten Minions.

Abbildung 3: Saltstack verfügt über ein minimalistisches Web-UI mit der Bezeichnung „Halite“.
Abbildung 3: Saltstack verfügt über ein minimalistisches Web-UI mit der Bezeichnung „Halite“. (Bild: Filipe Pereira Martins und Anna Kobylinska)

Außerdem enthält Saltstack einen asynchronen Datei-Server, um die Datei-Übertragung vom Master auf die Minions zu beschleunigen. Clients finden ihren jeweiligen Master mit Hilfe eines DNS-Eintrags für Saltstack oder einer lokal vorhandenen Host-Datei und initiieren die Zusammenarbeit mit einer Anfrage. Ein Master, der sie akzeptiert, übernimmt die Kontrolle über den Minion-Agenten auf dem jeweiligen Client.

Einen Teil seiner Robustheit verdankt Saltstack der hierarchischen Struktur der Master. Übergeordnete Master kontrollieren die ihnen untergeordneten Master und die zugehörigen Minion-Agenten. Ein Minion kann sich mehreren Mastern anschließen.

Effiziente Lastverteilung

Diese Struktur ermöglicht eine effiziente Lastverteilung, erhöht die Redundanz und verbessert die Skalierbarkeit. Die hierarchische Struktur der Master erleichtert nicht zuletzt die Administration. Der Administrator kann Befehle an übergeordnete Master richten und auf ihnen untergeordnete Master propagieren lassen.

Ergänzendes zum Thema
 
Vorsicht! Update-Roulette

Minions können unter anderem Ereignisse auslösen, beispielsweise um sich nach einer Downtime einem Lastverteiler erneut anzuschließen. Minions können von Saltstack-Mastern Daten abfragen und zwar auch solche, die sich auf anderen Servern befinden, um diese Informationen als eine Entscheidungsgrundlage im Rahmen einer automatischen Konfiguration zu nutzen.

Ähnlich wie bei Ansible lassen sich die Agenten von Saltstack direkt mit CLI-Befehlen ansprechen, um bestimmte Dienste zu starten, Pakete zu installieren oder Details der Konfiguration abzufragen. Für Aufgaben mit einer höheren Komplexität können in Saltstack wie auch in Ansible YAML-Konfigurationsdateien genutzt werden, um die gewünschten Zustände der Infrastruktur herzustellen.

Schwächen im User-Interface

YAML-Konfigurationsdateien können den Clients zentrale Datenbestände bereitstellen, zum Beispiel um Server-Upgrades einzuspielen. In Saltstack lassen sich die Clients also anhand bestimmter Bestandselemente, der so genannten (Salz-) Körner („Grains“), auseinander halten.

Ergänzendes zum Thema
 
Die Bewertung durch die Autoren

Der Administrator kann dadurch Knoten aufgrund ihrer Merkmale ansprechen, ohne sich auf konfigurierte Gruppen verlassen zu müssen. So könnten er etwa mit einer einzigen CLI-Direktive alle Clients aktualisieren, die über eine bestimmte Kernel-Version verfügen.

Saltstack verfügt über ein Web-UI mit der Bezeichnung „Halite“. Leider wird dieses durch zahlreiche Kinderkrankheiten geplagt und qualifiziert sich nicht für den Ersatz bei ausgereiften und leistungsstarken CLIs. Die Fähigkeiten des Tool im Bereich der Administration von Windows-Servern lassen auch einiges zu wünschen übrig.

Saltstack lässt sich mit Hilfe des eigenen Paketverwaltungssystems oder alternativ mittels Git installieren. Ähnlich wie Puppet, Chef und Ansible bietet auch dieses Werkzeug eine große Auswahl an Modulen. Als Entwicklungssprache kommen Python oder PyDSL in Frage.

Ansible

Ansible hat viele Gemeinsamkeiten mit Saltstack. Ansible triumphiert gegenüber SaltStack jedoch mit einer hohen Leistung und einer relativen Simplizität.

Abbildung 4: Ansible besitzt eine beachtliche Sammlung an Modulen, die unter anderem auch Erweiterungen zum Automatisieren von Amazon EC2 beinhaltet.
Abbildung 4: Ansible besitzt eine beachtliche Sammlung an Modulen, die unter anderem auch Erweiterungen zum Automatisieren von Amazon EC2 beinhaltet. (Bild: Filipe Pereira Martins und Anna Kobylinska)

Im Gegensatz zu Saltstack läuft die gesamte Kommunikation bei Ansible über SSH ab. Dadurch entfällt die Einrichtung von Agenten auf den einzelnen Nodes.

Ansible lässt sich mit Hilfe von Git auf einen Master-Server einspielen. Danach werden die zu automatisierenden Nodes der Konfiguration hinzugefügt. Im Gegensatz zu Puppet und Chef baut Ansible auf Python auf.

Zu den Highlights dieser Automatisierungssoftware zählt eine beachtliche Sammlung von Modulen, die unter anderem auch Erweiterungen zum Automatisieren von „Amazon EC2“ und OpenStack beinhaltet. Benutzerdefinierte Ansible-Module lassen sich in einer beliebigen Sprache verfassen, solange die Ausgabe eines Moduls im gültigen JSON-Format erfolgt.

Die Autoren:

Die Autoren Filipe Pereira Martins und Anna Kobylinska sind für McKinley Denali Inc. als IT-Consultants im Bereich der Enterprise-IT mit Schwerpunkt auf Datencenter-Sicherheit, Cloud-Lösungen tätig.

Inhalt des Artikels:

Was meinen Sie zu diesem Thema?

Schreiben Sie uns hier Ihre Meinung ...
(nicht registrierter User)

Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
Kommentar abschicken
copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Kontaktieren Sie uns über: support.vogel.de/ (ID: 42939807 / RZ-Tools)