Application Release Automation Tools Alternativen zu Puppet
Tools für Application Release Automation, kurz ARA, sind ein fester Bestandteil der Continuous Delivery Toolchain. Puppet ist wohl das bekannteste ARA-Tools, aber es gibt auch Alternativen, die bereits von den Analysten bei Gartner und Forrester evaluiert wurden.
Anbieter zum Thema

Application Release Automation (ARA) ist laut Wikipedia.org der Prozess des Verpackens und Bereitstellens einer fertigen Applikation oder ihres Updates durch die Entwicklungsabteilung. Dies erfolgt über verschiedene IT-Umgebungen hinweg und führt schließlich zu Inbetriebnahme der App oder ihres Updates. Um ihre Aufgabe erfüllen zu können, müssen ARA-Werkzeuge mehrere Fähigkeiten aufweisen, die über die reine Entwicklung hinausgehen, aber Teil des DevOps-Zyklus sind.
Damit das Deployment automatisch und korrekt erfolgen kann, muss das Tool Release Packages erzeugen und die Zielumgebung(en) kennen und modellieren. Je nach Ziel und geschäftlicher Vorgabe muss die Freigabe der Pakete koordiniert erfolgen, beispielsweise anfangs in nur einer begrenzten Zahl von Lokationen, etwa wegen fehlender sprachlicher Lokalisierung. Diese koordinierte Freigabe erfordert Funktionen für das Workflow Management.
Die Vorteile: ARA-Werkzeuge erlauben es der DevOps-Abteilung eines Herstellers, Software wie Anwendungen und Middleware-Komponenten sowohl in kurzen Abständen als auch zuverlässig und sicherheitskonform freizugeben und zu verteilen, etwa nach Schwachstellentests und Patches. Durch diese kontinuierliche Freigabe neuer Funktionen erlangt der Hersteller eine größere Marktpräsenz und höhere Kundenzufriedenheit. Ist er ein Anbieter von Cloud-Software, verpflichten ihn SLAs, seinen Kunden laufend Neuerungen zu liefern.
Mindestanforderungen
Gemäß der Definition der Forrester Group müssen ARA-Tools, die in die Continuous Delivery eingebunden sind, bestimmte Mindestanforderungen erfüllen: Dazu gehört zunächst die Integration mit Tools für Continuous Integration. Darunter ist die Praxis zu verstehen, Quellcode mehrmals pro Tag in ein gemeinsames Repository einzuchecken und ihn jedes Mal zu testen.
Desweiteren müssen Automationsfunktionen vorliegen. Das Tool muss es erlauben, ein Release-Package zu modellieren und Releases von A nach B zu transferieren und zwar über Pipelines, die man verwalten, ändern und richtlinienkonform halten kann, etwa hinsichtlich ihrer Datensicherheit. Dazu muss es den DevOps-Beauftragten die Identifikation und Härtung von Artefakten mit Schwachstellen ermöglichen.
Natürlich sollte so ein Werkzeug je nach Bedarf und Belastung skalierbar sein und Schnittstellen zu eingebundenen Apps bzw. Modulen aufweisen, aber auch Plug-ins von Drittanbietern verwalten und steuern. Man sieht: Bereits der minimale Aufgabenkatalog ist recht umfangreich. Die Definition der Gartner-Analysten sieht ähnlich aus.
Studien zum ARA-Markt
Alternativen zu Puppet sind bereits in den umfangreichen Studien von Gartner und Forrester identifiziert, beschrieben und bewertet worden. Die folgenden drei ARA-Werkzeuge bilden daher nur eine kleine Auswahl aus dem Spektrum, zeichnen sich aber durch Eigenständigkeit aus. Sie sind also nicht Teil einer Plattform, die man noch dazu kaufen müsste. Immerhin landen XebiaLabs und Electric Cloud stets auf den vordersten Plätzen in den genannten Studien.
ElectricFlow 8.2 von Electric Cloud
Mit ElectricFlow von Electric Cloud ist die Planung, Terminierung und das Nachverfolgen von Freigaben mit hoher Genauigkeit möglich. Voraussetzung dafür ist eine hohe Visibilität der verwalteten Releases. In dem überarbeiteten Hierarchie-Menü der Version 8.2. findet der Nutzer Umgebungen, Pipelines und Releases schneller und einfacher. Sollten irgendwelche Komponenten in dieser Modellstruktur fehlen, so werden sie markiert.
Wie in einer Projektplanungssoftware werden Meilensteine und Lieferdaten eingetragen, Überschreitungen markiert. Nun lassen sich für Phasen auch Start- und Daten eintragen, die bis hinab auf die Task-Ebene einsehbar sind. Der Grad der Fertigstellung wird durch die Gegenüberstellung der zwei Sichten für geplante und tatsächliche Leistung sichtbar. Verzögerungsfaktoren und Flaschenhälse lassen sich schnell ausmachen, denn jede Überziehung hinsichtlich des Lieferdatums ist ein Kostenfaktor. Daher ist es wichtig, hier Optimierungs- und Automationsmöglichkeiten zu finden.
In einer Konsole steht eine Generalübersicht über Freigabestatus, Meilensteindaten, Abhängigkeiten, ausstehende Zustimmungen, Testergebnisse, Fortschritt, Umgebungen und beteiligte Teams bereit. Weiteren Einblick gewährt das Tool DevOps Insight. Der BI-Server extrahiert wichtige Kenngrößen aus der Toolchain und zeigt sie in einem Dashboard namens Release Command Center an. Aus einem Self-Service-Katalog können Nutzer eine Bibliothek von Inhalten und Vorlagen herunterladen.
Um Pipelines und Automationsprozesse als hochsprachigen Code abzuspeichern, kann der Nutzer CLI, REST-APIs oder die Domänen-spezifische Sprache (DSL), die auf Groovy basiert, verwenden. Dieser Code lässt sich leicht testen, versionieren, wiederverwenden, überarbeiten und visualisieren. Mit rollenbasierter Zugriffskontrolle, manuellen Freigabeschritten und detailliertem Logging werden die Belange von Compliance, Governance, Auditierbarkeit und Datensicherheit berücksichtigt.
Da Micro-Services inzwischen ein grundlegendes Element für moderne Apps sind, lassen sie sich mit ElectricFlow DevOps Insight auffinden und überwachen. Das Dashboard liefert auch dafür entsprechende Metriken. Zu diesen Kennzahlen zählen Durchsatz bei der Bereitstellung, Erfolgsquoten, Anteil an der Cluster-Nutzung und mehr.
XebiaLabs XL Release
Das erste Produkt von XebiaLabs war Deployit, das inzwischen im Einklang mit anderen Mitgliedern der Produktfamilie in „XebiaLabs XL Deploy“ umbenannt worden ist. Das Tool ist auf die Automation der Bereitstellung von Software spezialisiert. Es bildet Ziel-Umgebungen ab, so etwa auch Plattform-Middleware wie IBM Websphere, Oracle Weblogic, Microsoft .NET/IIS, Glassfish und eine Reihe von Dienstleistern auf der Basis von Java Enterprise Edition (EE). Es ist kompatibel zu Linux, Unix und Windows. Mit XL Satellite lassen sich globale Deployments realisieren.
Für die Release-Automation ist hingegen XL Release wichtig, das mit XL Deploy in einer DevOps-Plattform zusammenarbeitet. XL Release dient als Verwaltung für ganze Pipelines im Continuous Delivery Lifecycle und orchestriert Release-Deployments. Laut Forrester erledigt das Tool diese Aufgabe ausgezeichnet, selbst wenn ein paar Kunden über lange Release-Dauern berichteten, was aber inzwischen in der jüngsten Version 6.x behoben worden sein soll.
Ähnlich wie ElectricFlow umfasst XL Release in Dashboards Analyse-Funktionen und proaktive Berichte, um Einblick in Vorgänge und Leistungen zu verschaffen sowie die Entscheidungsplanung zu unterstützen. Alle Deployments lassen sich hinsichtlich ihres Status' über Teams und Umgebungen hinweg prüfen. Die Anzahl der bereitgestellten Komponenten lässt sich hinsichtlich der Erfolgsquote beurteilen. Auch der Veröffentlichungsfluss selbst ist einsehbar, um etwa die jeweilige Dauer von Prozessschritten zu bewerten. So lassen sich Engpässe identifizieren und beseitigen, was die gesamte Leistung erhöht.
Laut Forrester nutzen Kunden das Duo XL Deploy und XL Release für umfangreiche, unternehmensweite Bereitstellungen, nicht zuletzt aufgrund der bidirektionalen Integration mit der Quellcode-Verwaltung ISPW von Compuware, welche komplexe Deployments auf dem Mainframe und in der Hybrid Cloud unterstützt.
Inedo Buildmaster
Mit Inedo Buildmaster können DevOps-Anwender aus einem zentralen Dashboard heraus einfache wie komplexe Veröffentlichungs-Pipelines für jeden Zweck erzeugen. Das Dashboard gewährt Einblick in den gesamten Entwicklungsprozess und soll auch von Entwicklern verwendet werden, sowohl was das Testen, die Qualitätssicherung und den Betrieb einer App anbelangt. Es setzt mit seinem Build-Management schon früher im Lifecycle an als andere ARA-Tools.
Das Werkzeug ist Browser-basiert und sofort gebrauchsfertig. Über diese Benutzeroberfläche wird es komplett konfiguriert, was Skripte und XML-basierte Konfigurationsdateien überflüssig machen soll. Obwohl die primäre Web-Applikation nur auf Windows läuft, orchestriert das Werkzeug Windows- und Linux-basierte Server, um diverse Build- und Deploy-Aktionen auszuführen. BuildMaster ist eng mit der Windows PowerShell integriert und wird häufig zusammen mit anderen DevOps-Tools genutzt, beispielsweise mit Issue Trackern wie Atlassian JIRA.
Pipelines werden als Code gespeichert, etwa in einem JSON-Dokument. Der Code lässt sich über Releases und Applikationen hinweg in Pipelines wiederverwenden. Deployment-Pläne kann der Nutzer in einer visuellen Oberfläche per Drag & Drop editieren, aber genauso gut in einem Texteditor mit Code-Ansicht. Um Aktionen und Ereignisse zu überwachen, steht der Event Listener bereit. Das Leistungsmerkmal „Infrastruktur-Konfigurations-Synchronisation“ erlaubt die Visualisierung der Infrastruktur an Servern und Umgebungen, die als Pipeline-Ziele dienen.
Will man ein Release manuell hochladen, ist eine Continuous-Integration-Lösung wie Team Foundation Server oder TeamCity hilfreich. Die Orchestrierung kann mit Jenkins erfolgen. Fünf weitere Inedo-Tools ergänzen XL Release, um das Packaging der Software zu erleichtern sowie die Provisionierung von Servern, etwa in der Cloud, zu ermöglichen.
Die Sicherheit kommt nicht zu kurz. Vertrauliche Informationen werden geschützt und optional nur auf Bewilligung freigegeben, zudem lassen sie sich durch eine Zeichenkette an eine bestimmte Umgebung binden. Bewilligungen können das Fortschreiten zur nächsten Phase in der Pipeline verhindern. Über Konfigurationsvariablen und -dateien können Konfigurationen auf Umgebungen begrenzt und die Dateien selbst gelogged und in einer Versionskontrolle überwacht werden. Passwörter, Tokens und API-Schlüssel werden zur Sicherheit verwaltet, gespeichert und der Zugriff darauf überwacht. So ist gewährleistet, dass nicht Unbefugte Releases vorzeitig freigeben und „absaugen“.
Fazit
ARA-Werkzeuge werden vorwiegend in größeren Unternehmen eingesetzt, in denen es darauf ankommt, dass bestimmte Software-Releases, Updates oder Komponenten an die internen wie externen Kunden auf zuverlässige und abgesicherte Weise ausgeliefert werden. Die Unterschiede zwischen den von Gartner und Forrester evaluierten ARA-Werkzeugen sind beträchtlich, so dass jeder Interessent gut beraten ist, sie auf seine Anforderungen hin abzuklopfen.
Dieser Beitrag konnte nur ein wenige Tools vorstellen, die aber zumeist in einer kostenlosen Community Edition verfügbar sind. Doch selbst in dieser kurzen Auswahl treten erhebliche Unterschiede zutage. Dass Inedo Buildmaster Windows-basiert ist, erwartet man nicht ohne weiteres. Der Vorteil, mit XebiaLabs XL Release auch Mainframes bedienen zu können, ist ebenfalls ein unerwarteter Bonus.
Die Abdeckung des Continuous Delivery Lifecycles im DevOps-Umfeld verschiebt sich je nach Tool. Dementsprechend liegt es nahe, nach passenden Ergänzungen im Partnerumfeld der Anbieter Ausschau zu halten.
(ID:45191358)