Überblick
Ansible und Salt (auch als SaltStack bekannt) sind auf Open Source basierende IT-Automatisierungstools der Community. Mit beiden Tools können Sie den IT-Betrieb und die Arbeit Ihrer DevOps-Teams durch die Automatisierung von Routineaufgaben vereinfachen, beispielsweise die Konfiguration und Provisionierung von Systemen, Software-Deployments sowie die Verwaltung von Updates für eine große Zahl von Servern oder Endgeräten.
Ansible ist für seine Nutzerfreundlichkeit bekannt, die sich durch den flexibleren agentenlosen Ansatz ergibt, bei dem die Installation von zusätzlicher Software auf den zu automatisierenden Zielen entfällt. Im Gegensatz dazu basiert Salt auf einem agentenbasierten Ansatz, d. h., auf den Maschinen wird zusätzliche Software benötigt. In Bezug auf die Ansätze zur Automatisierung sind sowohl Ansible als auch Salt Python-basiert. Dabei stützt sich Ansible auf YAML-Konfigurationsdateien und prozedurale Automatisierung, um die Reihenfolge der auszuführenden Schritte festzulegen. Salt verwendet einen kleinen Teil von YAML, um häufig verwendete Datenstrukturen wie Listen und Wörterbücher zuzuordnen.
In diesem Artikel werden die Ähnlichkeiten und Unterschiede von Ansible und Salt im Detail erklärt.
Unterstützte Versionen gängiger Open Source-Automatisierungstools
Wie fügen sich Ansible und Salt in die Bandbreite der IT-Automatisierungstools ein? Ansible, Salt, Puppet und Chef gehören zu den meistgenutzten Open Source-IT-Automatisierungstools. Diese Produkte verwenden einen anderen Automatisierungsansatz. Außerdem sind sie als Unternehmenslösungen verfügbar und werden von verschiedenen Softwareunternehmen verkauft. Viele IT-Unternehmen verwenden mehr als eine Lösung für verschiedene Zwecke oder kombinieren diese sogar.
- Ansible wurde 2015 von Red Hat übernommen und ist als Red Hat® Ansible® Automation Platform erhältlich.
- Salt (im Handel als SaltStack bekannt) wurde 2020 von VMware übernommen und ist Teil des vRealize-Automatisierungsportfolios, das kürzlich den neuen Markennamen „VMware Aria Automation“ erhalten hat. VMware wurde 2022 von Broadcom übernommen.
- Puppet wird von Perforce unterstützt und ist in einer Reihe kommerzieller Produkte erhältlich, darunter Puppet Enterprise und Puppet Bolt.
- Chef wurde 2020 von Progress übernommen und ist in einer Reihe kommerzieller Produkte inklusive Chef Enterprise Automation Stack erhältlich.
Unterschiede im IT-Automatisierungsansatz von Ansible und Salt
Ansible
Ansible ist eine auf Open Source basierende, in Python geschriebene Befehlszeilen-Software für die IT-Automatisierung. Damit können Sie Systeme konfigurieren, Software bereitstellen und fortschrittliche Workflows orchestrieren, wodurch Aufgaben wie Anwendungs-Deployments, Netzwerkkonfiguration- und -betrieb sowie Systemupdates unterstützt werden. Red Hat Ansible Automation Platform ist ein Subskriptionsprodukt, das auf Ansible aufbaut und zahlreiche Features für Unternehmen umfasst.
Die Stärke von Ansible liegt in seiner Community. Sein zentrales GitHub-Repository zieht Tausende von Mitwirkenden an, und Zehntausende von Repositories beruhen darauf (Stand: Herbst 2022). Mit AnsibleFest findet jährlich eine beliebte Konferenz für Nutzende statt, und auf der ganzen Welt werden regelmäßig Ansible Meetups organisiert. In dieser engagierten Community findet sich ein enormes Fachwissen zu Ansible, und die Mitwirkenden sorgen dafür, dass Ansible dauerhaft in andere beliebte Softwareprojekte integriert bleibt. Nutzerinnen und Nutzer von Ansible können auf Hunderte von Modulen und Plugins zugreifen und so die Möglichkeiten dieser Lösung erweitern.
Ansible wurde mit Fokus auf Einfachheit und Nutzungsfreundlichkeit konzipiert. Da Sicherheit und Zuverlässigkeit im Vordergrund stehen, gibt es nur eine minimale Anzahl an beweglichen Teilen. Der Transport findet über OpenSSH statt, wobei andere Transport- und Abrufalternativen verfügbar sind. Außerdem wird eine für Menschen lesbare Sprache verwendet, die den Einstieg auch ohne umfassendes Training erleichtert.
Ansible verwendet einen Kontrollknoten (auf dem Ansible ausgeführt wird) und gemanagte Knoten (die Geräte, die automatisiert werden – oftmals ein Linux®- oder Windows-Rechner). Da Ansible agentenlos ist, kann es mit Geräten kommunizieren, ohne dass eine Anwendung oder ein Service auf dem gemanagten Knoten installiert werden muss. Ansible Automation Platform kann Automatisierungsjobs mit einer Technologie namens Automatisierungs-Mesh auf Ausführungsknoten verteilen.
Nutzerinnen und Nutzer von Ansible können verschiedene Teile ihrer Infrastruktur im Detail orchestrieren, indem sie Ansible Playbooks verwenden. Dabei handelt es sich um Dateien, die in der für Menschen lesbaren Sprache YAML geschrieben sind. Ansible hingegen verwendet einen prozeduralen (oder imperativen) Programmieransatz. Dabei wird versucht, die Konfiguration einer IT-Infrastruktur beizubehalten, indem die Schritte zum Erreichen eines gewünschten Zustands definiert werden.
Salt
Salt ist eine modulare Open Source-IT-Automatisierungsanwendung, die in Python geschrieben ist. Das Konfigurationsmanagementtool Salt wurde für extrem schnelle Datenerfassung und -ausführung entwickelt. Es bietet eine schlanke ZeroMQ Messaging Library und ein Concurrency Framework und stellt persistente TCP-Verbindungen (Transmission Control Protocol) zwischen Servern und Agents her.
Wie Ansible verwendet auch Salt YAML, wodurch es leicht zu erlernen und zu verwalten ist. Die agentenbasierte Architektur kann jedoch für neue Nutzende einen erheblichen Lernaufwand bedeuten und auch für erfahrene DevOps-Profis eine Herausforderung darstellen. In diesem Zusammenhang wird der Server als „Salt-Master“ bezeichnet und die Clients als „Salt-Minions“, die als Agents auf dem Client-Rechner laufen. Es können mehrere Master konfiguriert werden, und wenn ein Master ausfällt, verbinden sich die Agents mit einem anderen Master aus der Liste. Da die Server die Konfigurationen an alle Clients weitergeben, erfolgt eine sofortige Remote-Ausführung.
Seit der Übernahme von SaltStack durch VMware hat sich die Open Source Community von Salt verkleinert. Basierend auf GitHub Insights im Herbst 2022 sind weniger Projekte davon abhängig als von Ansible. Und nach der Übernahme in 2022 von VMware durch Broadcom liegt der Schwerpunkt mehr auf der Automatisierung von VMware-Produkten und weniger auf Netzwerken und Multivendor- oder Mehrzweck-Use Cases. Dies beschleunigt die Entstehung von IT-Kompetenzlücken und führt zu Unsicherheiten hinsichtlich der Unterstützung der Salt-Community durch Unternehmen.
Wichtige Automatisierungsbegriffe
Agentenbasierte Architektur bezeichnet ein Infrastruktur- und Automatisierungsmodell, bei dem bestimmte Software, sogenannte Agents, auf gemanagten Umgebungen ausgeführt werden müssen. Der Agent und seine Abhängigkeiten müssen dabei auf den einzelnen Zielknoten installiert sein, wodurch zusätzliche Sicherheitsprüfungen und -regeln erforderlich werden. Dies kann zu einem Problem werden, wenn Objekte automatisiert werden müssen, auf denen der Agent nicht verfügbar ist oder nicht ausgeführt werden darf. Außerdem müssen die Agents gewartet werden.
Die von Ansible verwendete agentenlose Architektur ist eine Methode zur Automatisierung und Verwaltung von IT-Geräten, bei der keine Agent-Software in den gemanagten Umgebungen installiert werden muss. Die Kontrollsoftware stellt über Secure Shell (SSH) eine Verbindung zu Remote-Geräten her und kann diese anschließend sofort managen – ohne einen langwierigen Einrichtungsprozess. Bei dieser Architektur entfällt die Wartung eines Deployment-Systems, sobald die Konfiguration abgeschlossen ist.
Konfigurationsmanagement bezeichnet einen Prozess, bei dem Computersysteme, Server und Software in einem konsistenten, gewünschten Zustand gehalten werden. Damit können Unternehmen sicherstellen, dass ihre Systeme auch bei ständigen Veränderungen wie erwartet funktionieren. Das Konfigurationsmanagement kann automatisiert werden, wodurch Kosten, Komplexität und das Risiko manueller Fehler reduziert werden.
DevOps und DevSecOps sind Akronyme für die englischen Begriffe „Development Operations“ (Entwicklungsoperationen) und „Development, Security and Operations“ (Entwicklung, Sicherheit und Operationen). Es handelt sich dabei um Ansätze für Unternehmenskultur, Automatisierung und Plattformdesign, bei dem die Sicherheit als eine gemeinsame Verantwortung im gesamten IT-Lifecycle integriert ist. DevOps und DevSecOps sind eigentlich Synonyme, da von Anfang an beabsichtigt war, dass Sicherheit Teil des DevOps-Ansatzes ist. Viele sind jedoch zur Verwendung des Begriffs DevSecOps übergegangen, um den Sicherheitsaspekt zu betonen.
YAML steht für „Yet Another Markup Language“ (oder „YAML Ain’t Markup Language“), und ist eine Datenserialisierungssprache, die oft zum Schreiben von Konfigurationsdateien verwendet wird. YAML wurde als einfach verständliche und von Menschen lesbare Sprache entwickelt und kann zusammen mit anderen Programmiersprachen verwendet werden. YAML ist ein Superset von JSON (JavaScript Object Notation).
Welche Automatisierungslösung ist die bessere?
Bei der Wahl einer Automatisierungslösung sollten Sie nicht nur die in einer aktuellen Softwareversion verfügbaren Features berücksichtigen, sondern auch die langfristige Ausrichtung der Plattform. Ansible zeichnet sich durch seine aktive Open Source Community und die Unterstützung von Red Hat aus.
Es ist auch nicht ungewöhnlich, dass Organisationen mehrere Automatisierungslösungen einsetzen. Ansible ist mit einem großen IT-Ökosystem von unterstützten Integrationen verbunden und kann zusammen mit vielen anderen Automatisierungs- und Konfigurationsmanagementtools verwendet werden – und zwar als Orchestrator der Automatisierungstools. Zusätzlich lassen sich mit Ansible Systeme in Public Cloud-Hyperscalers wie Amazon Web Services (AWS), Microsoft Azure und Google Cloud Platform automatisieren – um nur einige zu nennen.
Im Vergleich zu Salt ist Ansible die bevorzugte Wahl für Nutzende, die auf der Suche nach Einfachheit, Benutzerfreundlichkeit und einer agentenlosen Automatisierungslösung sind. Ansible profitiert außerdem von einer großen Community aus Mitwirkenden und Partnerschaften, wird weit verbreitet in verschiedenen IT-Domains wie z. B. der Netzwerk- und Infrastrukturautomatisierung eingesetzt und für seine Integrationsfähigkeit mit anderen Tools sehr geschätzt.
Red Hat macht den Unterschied
Red Hat Ansible Automation Platform ist ein sicherheitsgehärtetes und getestetes Subskriptionsprodukt, bei dem Open Source im Mittelpunkt steht und das Unternehmen umfassenden Lifecycle-Support bietet. Sein Upstream-Projekt „Ansible“ profitiert von der Erfahrung und dem Fachwissen Tausender Mitwirkender weltweit.
Ansible Automation Platform umfasst zahlreiche Upstream-Komponenten, darunter mehr als 140 Red Hat Ansible Certified Content Collections von mehr als 60 Partnern und ROI-Tools (Return on Investment), die Unsicherheiten bei der Installation, Konfiguration und Unterstützung der Automatisierung in Ihrem Unternehmen beseitigen. Außerdem schafft es ein durchgängiges Automatisierungserlebnis für funktionsübergreifende Teams und bietet ein Plug-and-play-Erlebnis für Automatisierungsentwicklungs-, Engineering- und Operations-Teams.
Die Funktionen von Red Hat Ansible Automation Platform, wie Automation Analytics und Red Hat Insights, liefern leicht zugängliche Informationen über die Performance Ihrer Automatisierung. So können Sie die Auswirkungen der Automatisierung analysieren und Probleme mit größerer Präzision überwachen oder lösen. Mit Automatisierungs-Mesh können Sie die Steuerungs- und Ausführungskapazitäten unabhängig voneinander skalieren und die Automatisierung näher an denjenigen Endpunkten bereitstellen, die sie auch benötigen – und das mit geringen oder keinen Ausfallzeiten. Dadurch sorgen Sie für ein konsistentes Automatisierungserlebnis für Ihre Rechenzentren, Clouds und Edge-Standorte.
Als agentenloses, nutzungsfreundliches IT-Automatisierungstool besticht Ansible durch seine Einfachheit, Flexibilität und seine starke Community von Nutzerinnen und Nutzern.
IDC-Bericht: Red Hat Ansible Automation Platform liefert geschäftlichen Mehrwert
Laut einer Studie von IDC steigern Unternehmen, die ihre Abläufe mit Ansible Automation Platform standardisieren, ihre operative Effizienz, Geschwindigkeit und Skalierbarkeit erheblich. Sie erzielen Vorteile im Wert von durchschnittlich 14,81 Mio. US-Dollar pro Jahr und einen ROI von 668 % über einen Zeitraum von 3 Jahren.