Das US-Unternehmen Pulumi hat am 5. September 2019 die General Availability von Pulumi 1.0 angekündigt. Die Plattform richtet sich an Teams, die ihre Cloud-Infrastruktur mit Infrastructure as Code in allgemeinen Programmiersprachen statt in Markup-DSLs verwalten wollen. Die erste Veröffentlichung lag im Juni 2018, das Versionszeichen 1.0 steht laut Unternehmen für Vollständigkeit, Stabilität und Kompatibilität nach zwei Jahren produktivem Einsatz.
Unterstützt werden TypeScript, JavaScript, Python und Go. Über Paketmanager, IDEs und Testframeworks dieser Sprachökosysteme sollen Entwicklungs- und Betriebsteams dieselben Werkzeuge und Review-Prozesse für Anwendungscode und Infrastruktur nutzen. Zum Start abgedeckt sind die Dienste von AWS, Azure, Google Cloud, Kubernetes und DigitalOcean; heise developer berichtete am 9. September über den Release.
Stack-Verwaltung, State und verschlüsselte Secrets
Neben dem Open-Source-SDK mit CLI und Bibliotheken bietet Pulumi einen gehosteten Dienst mit Dashboard, Identitätsanbindung an GitHub, GitLab, Atlassian oder SAML/SSO sowie rollenbasierten Zugriffen. Der State lässt sich wahlweise über den Dienst oder selbst verwaltet in S3, Azure Storage, Google Cloud Storage oder dem Dateisystem ablegen. Für sensible Konfiguration wie Passwörter und Tokens ist eine Verschlüsselung eingebaut; als Backends dienen der Pulumi-eigene KMS-Dienst, AWS KMS, Azure KeyVault, Google Cloud KMS oder HashiCorp Vault.
Für die Automatisierung nennt Pulumi Integrationen in Azure DevOps, AWS Code Services, CircleCI, Codefresh, GitHub, GitLab, Google Cloud Build, Jenkins und Travis. Der CLI-Befehl pulumi up führt das Programm über die mehrsprachige Laufzeit aus, zeigt einen Review-Plan mit anzulegenden, zu ändernden und zu löschenden Ressourcen und koordiniert die API-Aufrufe nach der Freigabe parallel. Damit greift das Werkzeug dieselben Abläufe auf, die Teams mit Azure DevOps oder GitLab bereits für Builds und Tests nutzen.
Koexistenz mit Terraform und Nutzen für Spielbetrieb
Bestehende Infrastruktur kann Pulumi importieren und parallel zu Terraform, CloudFormation, Azure Resource Manager oder Kubernetes- und Helm-Konfiguration verwalten. Wer zuvor mit Terraform gearbeitet hat, verliert damit nicht den Zugriff auf den vorhandenen State. Höhere Frameworks kapseln typische Architekturen ab; ein Kubernetes-Cluster entsteht im Beispiel des Anbieters mit zwei Codezeilen über das EKS-Paket.
Für Spieleprojekte ist die Kombination aus Cluster-Verwaltung und CI/CD relevant, weil dedizierte Spielserver zunehmend auf Kubernetes laufen. Agones von Google und Ubisoft verwaltet Matchmaking- und Spielserver-Flotten auf genau dieser Plattform. Ein deklaratives IaC-Werkzeug, das solche Cluster mit demselben Sprach-Stack wie die Spiellogik-Tools provisioniert, vereinfacht dabei Rollouts und Rückrollen im Betrieb. Co-Gründer und CEO Joe Duffy führt die Version 1.0 in der Ankündigung auf zwei Jahre Arbeit mit tausenden Kunden zurück, von Start-ups bis zu Global-2000-Unternehmen. Die Community-Edition bleibt kostenlos; Team- und Enterprise-Ausgaben des gehosteten Dienstes sind kostenpflichtig.

