Puppet vs. Chef vs. Ansible vs. Saltstack - Vergleich der Configuration Management Tools

In nachfolgendem Blog-Beitrag habe ich versucht einen Überblick über am Markt verfügbare Lösung zu geben. Wenn Sie auf der Suche nach einer solchen Lösung sind, führt kein Weg an Puppet, Chef, Ansible oder Saltstack vorbei.

Ich finde es ist wichtig zu erwähnen, dass ich keine produktive Erfahrung mit den genannten Lösungen habe. Die auf dieser Seite gesammelten Informationen sollen nur als Denkanstoß und die Informationssammlung dienen. Nichts ist schneller als die Veränderung in IT-Welt. Die aktuellsten Informationen sind nur auf der Seite der jeweiligen Hersteller zu finden.

  

  PUPPET  CHEF  ANSIBLE  SALTSTACK
 Gegründet   2005  2009  2012  2011
 Unabhängiger Anbieter   Ja  Ja  Nein, gehört zu Red Hat   Ja
 Kommerzielle Version  Puppet Enterprise  Chef Automate   Ansible Tower  Saltstack Enterprise

 Client-Server-Prinzip

 Ja

 Ja

Nein

Schnittstelle:

 SSH, WinRM

Ja

Schnittstelle:

SSH

Master / Agent Master / Agent agentless Salt Master / Salt Minion
Master: Linux/Unix
Ziel-System: Linux/Windows
Master: Linux/Unix
Ziel-System: Linux/Windows
Master: Linux/Unix
Ziel-System: Linux/Windows
Master: Linux/Unix
Ziel-System: Linux/Windows
 Verteilungsmechanismus Die Änderungen werden vom Master-Server an die Agenten gepuscht oder von Agenten selbst gezogen. Die Änderungen werden vom Master-Server an die Agenten gepuscht oder von Agenten selbst gezogen. Die Änderungen werden vom Master-Server per SSH oder WinRM an die Ziel-Systeme gepuscht. Die Änderungen werden vom Master-Server per SSH/ ZeroMQ an die Ziel-Systeme gepuscht.
 Hochverfügbarkeit  Alle Produkte funktionieren identisch. Es gibt immer eine aktive und eine passive Instance, die nach einem Ausfall der aktiven Instance, aktiv geschaltet wird.
 Multi-Master Architektur  Primary Master / Backup Master  Primary Instance / Secondary Instance  Multi-Master Architektur
 Programmiersprache der Software  Ruby  Ruby (clientseitig)
 Erlang (Serverseitig)
 Python  Python
 Skriptsprache  Puppet DSL (Ruby basierend)  Ruby DSL  YAML  YAML
 YAML ist intuitivl und eicht zu lernen
 Scripting-Terminologie  Manifeste / Module  Cookbooks / Rezepte  Playbooks / Rollen  Formulare / Rollen
 Fertige Module  Puppet Forge  Chef Supermarket  Ansible Galaxy  Salt Stack Formulas
 Skalierbarkeit  Alle Tools lassen sich gut skalieren und können in größeren Infrastrukturen eingesetzt werden.
 Nachteile  - Programmierkenntnisse (Ruby) sind notwendig - Programmierkenntnisse (Ruby) sind notwendig

- keine Agenten und als Folge, keine Rückmeldung, ob die Implementierung erfolgreich war.

- Grafikinterface nur in einer kostenpflichtigen Version Ansible Tower

- Windows Support ist begrenzt und komplett PowerShell-basierend

- zu wenig fertigen und sofort einsetzbaren Modulen

- kleine Entwickler-Community
 Vorteile

- viele fertige Module sind bereits vorhanden

- gute Reporting-Funktionalität

- Puppet Bolt hat ähnliche Funktionsweise wie Ansible und kann sogar die YAML Playbook verwenden

- viele fertige Module sind bereits vorhanden

- gute Integration mit GitHub

- Leicht zu lernen

- Python ist populärer als Ruby

- Module können auf beliebigen Programmiersprache geschrieben werden, die Antwort soll in JSON-Format sein

- YAML Playbook leicht zu verstehen und leicht zu schreiben

 - Python ist populärer als Ruby

- YAML Playbook leicht zu verstehen und leicht zu schreiben

 Implementierung / Verwaltung aufwendig / kompliziert aufwendig / kompliziert einfach aufwendig / einfach
 Lizensierung/Kosten pro Jahr Ab 112$ pro Ziel-System Preisliste hier Ab 100 Ziel-Systeme 10000$ 150$ pro Ziel-System
Free Open Source Version ist vorhanden
 Webseite:  www.puppet.com  www.chef.io  www.ansible.com  www.saltstack.com

 Ist diese Tabelle unvollständig oder falsch? Gerne korrigiere ich oder erweitere fehlende oder falsche Information

 

Es wurden vier führende Produkte verglichen: Puppet, Chef, Ansible und Saltstack. Es existiert ein weiteres Produkt Puppet Bolt. Puppet Bolt ist zwar nicht in der Vergleichstabelle vorhanden, sollte aber unbedingt berücksichtigt werden. Puppet Bolt ist das Pendant zu Ansible und kann in ähnlichen Szenarien eingesetzt werden.

Alle Lösungen verfolgen ein ähnliches Ziel, nämlich die Infrastruktur automatisiert bereitzustellen. Dies betrifft nicht nur die initiale Installation, sondern auch alle drauf folgenden Systemänderungen. Die Anpassungen sollen nachvollziehbar und jederzeit wiederholbar sein. Ein weiterer wichtiger Punkt für viele Kunden, die solche Lösungen implementieren wollen, ist die Möglichkeit die Systeme kontinuierlich zu überprüfen und dafür zu sorgen, dass diese einem festdefinierten Standard entsprechen. Viele Projekte werden aus Compliance-Gründen initiiert. Es gibt auch Vorschläge mehrere Lösungen miteinander zu kombinieren.

 

Weitere Informationsquellen:

Architektur + HowTo

DevOps für Citrix

 

 

Wir nutzen Cookies auf unserer Website. Einige von ihnen sind essenziell für den Betrieb der Seite, während andere uns helfen, diese Website und die Nutzererfahrung zu verbessern (Tracking Cookies). Sie können selbst entscheiden, ob Sie die Cookies zulassen möchten. Bitte beachten Sie, dass bei einer Ablehnung womöglich nicht mehr alle Funktionalitäten der Seite zur Verfügung stehen.