Überblick
Ansible® und Chef 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 Chef auf einem agentenbasierten Ansatz, d. h. auf den Maschinen wird zusätzliche Software benötigt. Ein weiteres Hauptunterscheidungsmerkmal ist, dass Ansible die Python-basierte Konfigurationssprache YAML verwendet, die leichter zu erlernen und auf Administrationsteams ausgerichtet ist. Chef hingegen verwendet Ruby, eine domainspezifische Sprache (DSL), die auf Entwicklungsteams ausgerichtet ist und eine steilere Lernkurve hat.
In diesem Artikel werden die Ähnlichkeiten und Unterschiede von Ansible und Chef im Detail erklärt.
Unterstützte Versionen gängiger Open Source-Automatisierungstools
Wie fügen sich Ansible und Chef in die Bandbreite der Automatisierungstools ein? Ansible, Chef, Salt und Puppet 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.
- Chef wurde 2020 von Progress übernommen und ist in einer Reihe kommerzieller Produkte inklusive Chef Enterprise Automation Stack 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.
Unterschiede im IT-Automatisierungsansatz von Ansible und Chef
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). Seine beliebte Konferenz für Nutzende, AnsibleFest, ist Teil des jährlich stattfindenden Red Hat Summit, und Ansible Meetups werden regelmäßig auf der ganzen Welt 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.
Chef
Chef ist eine auf Open Source basierende IT-Automatisierungsplattform, die in Ruby DSL geschrieben ist und Infrastruktur in Code transformiert. Ähnlich wie bei Ansible Playbooks nutzt auch Chef wiederverwendbare Definitionen, die als Anspielung auf den Produktnamen „Kochbücher“ (Cookbooks) oder „Rezepte“ (Recipes) genannt werden, um zu automatisieren, wie Infrastruktur in Netzwerken konfiguriert, bereitgestellt und gemanagt wird. Dabei spielt es keine Rolle, ob es sich um On-Premise-, Cloud- oder Hybrid-Umgebungen handelt.
Im Gegensatz zu Ansible verwendet Chef eine agentenbasierte Architektur. Dabei wird der Chef-Server auf der Hauptmaschine und der Chef-Client als Agent auf den einzelnen Client-Maschinen ausgeführt. Hinzu kommt eine zusätzliche Komponente, die als „Workstation“ bezeichnet wird. Diese enthält sämtliche Konfigurationen, die getestet und dann ohne Befehle vom Chef-Hauptserver zu den Client-Maschinen gesendet werden. Da die Verwaltung dieser Pull-Konfigurationen Programmierwissen voraussetzt, ist Chef selbst für erfahrene DevOps-Profis in der Anwendung komplizierter als andere Automatisierungstools.
Wichtige Automatisierungsbegriffe
Die in Chef verwendete 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 SSH eine Verbindung zu Remote-Maschinen 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 denen 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. Allerdings nutzen viele heutzutage den Begriff DevSecOps, 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. Sowohl Chef als auch Ansible sind hochgradig skalierbar und bieten eine hohe Interoperabilität mit Kontrollmaschinen, die auf Linux/Unix ausgeführt werden, und Knoten, die auf Windows ausgeführt werden können. Dennoch sticht Ansible mit seiner aktiven Open Source Community und der Unterstützung von Red Hat heraus.
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 als Orchestrator der Automatisierungstools verwendet werden. Zusätzlich lassen sich mit Ansible Systeme in Public Cloud-Hyperscaler wie Amazon Web Services (AWS), Microsoft Azure und Google Cloud Platform automatisieren – um nur einige zu nennen.
Im Vergleich zu Chef 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.
Erfahren Sie, was Kunden, Partner und Analysten über Ansible Automation Platform zu sagen haben.
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 dem Automatisierungs-Mesh können Sie die Steuerungs- und Ausführungskapazitäten unabhängig voneinander skalieren und die Automatisierung näher an den Endpunkten bereitstellen, die sie benötigen – und das mit geringen oder ganz ohne Ausfallzeiten. Dadurch erhalten Sie ein konsistentes Automatisierungserlebnis – vom Rechenzentrum über die Cloud bis hin zum Netzwerkrand.
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.