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:
- YouTube. Puppet, Salt oder Ansible – welches Tool ist das Richtige? Präsentation in PDF
- YouTube. Chef vs Puppet vs Ansible vs Saltstack | Configuration Management Tools | DevOps Tools | Simplilearn
- Offizieller Vergleich: Comparing Red Hat Ansible Automation and Puppet Enterprise
- Offizieller Vergleich: Comparing Puppet and Ansible
- Offizieller Vergleich: Comparing Puppet Enterprise and Chef Automate
- Terraform vs. Ansible vs. Puppet
- Chef vs Puppet: Major Differences and Similarities
- Chef vs. Puppet: Methodologies, Concepts and Support
- Puppet Enterprise vs Free Open Source Puppet: Which Is Right For You?
- Puppet vs Salt vs Chef vs Ansible, which to choose? Diskussion auf reddit.com
- DevOps Tools - Chef, Puppet, Saltstack and Ansible Comparison
- Mit Puppet, Chef und andere Rechenzentrumswerkzeugen - Datacenter-Automatisierung mit Open-Source-Tools
- Infrastructure as Code: Chef, Ansible, Puppet, or Terraform?
Architektur + HowTo
- Puppet Enterprise Reference Architectures
- What is Ansible? Quick Start Video
- Get Started with Red Hat Ansible Tower
- YouTube: Youtube What Is Ansible? | Ansible Tutorial For Beginners
- YouTube: What is Puppet | Puppet Tutorial for Beginners | Puppet Configuration Management Tutorial
- Ansible - A Beginner's Tutorial
- Puppet - Offizieller Youtube Channel
- Red Hat Videos - Offizieller YouTube Channel
- Chef Software - Offizieller YouTube Channel
- SaltStack - Offizieller YouTube Channel
DevOps für Citrix
- Fertige Puppet Module für Citrix auf puppetforge
- Puppet Lösungen für Citrix auf virtualdesktopdevops.com
- Ansible - Citrix Virtual Apps and Desktop vCenter Lab Deploy