Aus meiner Antwort auf die Frage: Wie kann DevOps helfen, Software Escrow-Verfahren zu verbessern? Tensibai hatte die Frage:
Was würde Capistrano auf Puppe oder Koch erfordern?
Meine Antwort war, einen Link zu Noah Gibbs 'Artikel "Brauchen wir sowohl Capistrano als auch Chef?" . Persönlich stimme ich immer noch der Ansicht von Noah zu, dass es am besten geeignet ist,
- Verwenden Sie für Bereitstellungen ein spezielles Bereitstellungstool wie Capistrano.
- Verwenden Sie ein spezielles Konfigurationsmanagement-Tool wie Chef für das Konfigurationsmanagement.
Der grundlegende Ansatz, mit dem jeder Werkzeugtyp seine Aufgabe erfüllt, ist sehr unterschiedlich:
Konfigurationsmanagement-Tools - dienen dazu, den gewünschten Status eines Systems zu erstellen und beizubehalten. Sie sind von Natur aus idempotent. Beispiele für Konfigurationsverwaltungstools sind Chef , Puppet , Ansible , PowerShell DSC und Salt Stack .
Deployment Tools - sind über die Bereitstellung Versionen von Software in eine Hosting - Umgebung, die sie bieten Funktionen , um mehrere Versionen der Software auf mehreren Maschinen zu warten und zu verwalten , welche Version ist „aktuell“, sie sind von Natur unbedingt in der Natur. Beispiele für Bereitstellungstools sind Capistrano , Octopus Deploy , Deployer und Command.io .
Ich glaube, dass Configuration Management Tools die Aufgabe von Bereitstellungstools übernehmen können, und im Fall von Immutable Infrastructure sind sie das am besten geeignete Tool für diese Aufgabe, da Softwareversionen auf dem Ziel nicht gewartet werden müssen.
Frage: Sind Konfigurationsmanagement-Tools wie Chef, Ansible und Puppet so weit gereift, dass sie sowohl das idempotente als auch das imperative Modell erfüllen können?