Puppet schwenkt mit Relay von Continuous Delivery zu Infrastructure as Code

Puppet Labs' Projekt zur Continuous Delivery mündet nun in einer Plattform (Beta) zur Automatisierung von DevOps-Aufgaben für Infrastruktur als Code.

In Pocket speichern vorlesen Druckansicht 16 Kommentare lesen
Infrastructure as Code: Puppet hat Public Beta der Plattform Relay herausgegeben

(Bild: Gerd Altmann, gemeinfrei (Creative Commons CC0))

Update
Lesezeit: 4 Min.
Von
  • Silke Hahn
Inhaltsverzeichnis

Puppet Labs, Hersteller des Administrationsprogramms Puppet für die automatisierte Konfiguration mehrerer Computer via Netzwerk, hat mit Relay eine event-getriebene Automatisierungsplattform für DevOps-Aufgaben veröffentlicht. Die Plattform liegt als Public Beta vor, sie soll Infrastruktur- mit Betriebsplattformen sowie APIs, Tools und unterschiedliche Upstreams verbinden.

Laut Herausgeber kann die Plattform nicht nur gängige Routineaufgaben der Systemverwaltung übernehmen, bei Bedarf soll sie auch das Modellieren mehrstufiger komplexer DevOps-Prozesse erlauben.

Die neue Plattform soll "jeglichen DevOps-Workflow" als Code darstellen können: Den Hebel setzt Relay offenbar bei den Workflows an, die das Tool in Code umwandelt. Die Workflows sollen dadurch versionierbar sein und lassen sich einer Review unterziehen. Nutzer der Plattform sollen die einzelnen Elemente umgestalten und wiederverwenden können. Damit verfolgt Puppet sein Konzept von Infrastruktur als Code weiter. Nutzer sollten zunächst das Command Line Interface (CLI) installieren, per Kommandozeile können sie dann den von Relay erzeugten Code manuell modifizieren und den Workflows in Form von Code zum Beispiel weitere Arbeitsschritte hinzufügen. Nutzer können offenbar den Workflow herunterladen, modifizieren und in aktualisierter Form wieder in Relay einspielen.

Workflows lassen sich in Relay per Kommandozeile als Code beschreiben und modifizieren

(Bild: Relay.sh)

Der von der Plattform erzeugte Code bestehe aus Triggern, die auf eingehende Events warten, und aus ihnen zugeordneten Arbeitsschritten, die die zu automatisierende Aufgabe definieren. Trigger bestimmen, wann Relay einen Workflowschritt umsetzt und ob er manuell oder wiederkehrend anfällt oder auch angestoßen (pinged) durch eine externe Quelle. Arbeitsschritte (Steps) sind zunächst leere Behälter für konkrete Aktionen, sie stehen in Relay offenbar für die Gesamtheit der Aktivitäten, die anfallen, um einen bestimmten Workflow abzuschließen. Zusammengenommen sind Trigger und Steps Bausteine, mit denen sich Workflows modellieren lassen.

Die zugrundeliegende Engine von Relay ist auf GitHub einsehbar. Unter der Haube dürfte das neue Tool etwas komplexer sein als passives "Lauschen auf Events und laufende Workflows". An Diensten bietet Relay das Verwalten von Verbindungen zum Up- und Downstream von APIs und Diensten, es soll für jeden Workflow automatisch "Push-Triggers" erstellen, mit denen der Prozess sich anstoßen lässt – zu jedem Push-Trigger gibt es laut Release Notes auch spezifische Sicherheits-Tokens. Das Tool erstellt wohl automatisch eine Umgebung zur Ausführung von Webhooks, damit Workflows auf Ereignisse reagieren können, die reine Webhook-Dienste sind.

Zur Absicherung findet das Ausführen von Workflows und einzelnen Schritten in einer Sandbox statt. Die Plattform schreibt außerdem mit, was sie tut, und liefert Monitoring, Logging und Hilfestellung für die Fehlerbehandlung. Sie überwacht die Ausführung und vereinheitlicht laut Anbieter die Interfaces zwischen den Einzelteilen, damit Nutzer Steps, Trigger und Verbindungen wiederverwenden und bei Bedarf zu neuen Workflows zusammenmischen können.

Bei der Wahl der verwendeten Dienste und Tools haben Nutzer offenbar freie Hand, so können die Teams zum Beispiel Dienste von PagerDuty (Warnmeldungen), DataDog (Metriken) und HashiCorp (Konfiguration der Infrastruktur mit Terraform) in Kombination einbinden. Bereits existierende Trigger, Workflows und Arbeitsschritte sollen sich übernehmen lassen. Die Plattform dokumentiert offenbar alle durchgeführten Aufgaben. Insgesamt folgt das neue Produkt einem ähnlichen Ansatz wie Puppet Enterprise, die für den kommerziellen Einsatz vorgesehene Konfigurationsverwaltung von Puppet Labs zur agilen Softwareentwicklung. Im Februar 2020 hatte das Unternehmen einen neuen Updatezyklus angekündigt, das Hauptprodukt Puppet erhält seither zugleich vierteljährliche Aktualisierungen und einen längeren Langzeitsupport (2 Jahre für die LTS-Versionen).

Interessierte finden im Dokumentationsbereich der Firmenwebsite eine Auflistung der unterstützten Dienste und Tools, Puppet bietet auch Testzugänge an. Weitere Informationen lassen sich den Release Notes entnehmen. Justin Vaughan-Brown hat auf heise Developer über die DevOps-Methode zum Projektmanagement in Deutschland berichtet – zum zehnten Geburtstag der DevOps-Bewegung Ende 2019 gab es einen Rückblick von Schlomo Shapiro, der als vertiefende Lektüre weiterhin empfehlenswert ist.

[Update-Hinweis vom 26.06.2020: Hintergrundinformationen zu Puppet Labs und weiterführende Literatur ergänzt.]

(sih)