Infrastructure-as-Code: Effiziente Automatisierung mit Pulumi Deployments

Die Managed-Service-IaC-Plattform Pulumi verspricht mehr Flexibilität und bessere Skalierung beim Konfigurieren und Bereitstellen von Cloud-Infrastruktur.

Lesezeit: 3 Min.
In Pocket speichern
vorlesen Druckansicht Kommentare lesen 1 Beitrag

(Bild: whiteMocca/Shutterstock.com)

Von
  • Matthias Parbel

Seine Hausmesse Cloud Engineering Days 2022 nimmt der Anbieter Pulumi zum Anlass, neue Dienste und Funktionen rund um seine Infrastructure-as-Code-Plattform bekanntzugeben. Eine wesentliche Neuerung betrifft die erweiterte Automatisierung beim Konfigurieren und Bereitstellen von Cloud-Infrastruktur als Code (IaC). Die neuen Pulumi Deployments setzen auf der Automation API auf und versprechen mehr Flexibilität und bessere Skalierung.

Die bereits Anfang 2021 mit Pulumi 3.0 eingeführte Automation API eröffnete Entwicklerinnen und Entwicklern erstmals die Möglichkeit mit einer Markup- und Programmiersprache ihrer Wahl das IaC-Tool direkt in eigene Anwendungen zu integrieren, ohne den Weg über die Kommandozeile nehmen zu müssen. Neben TypeScript/JavaScript, Python, .NET, Go und C# stehen dafür inzwischen auch Java und – wie zur Veröffentlichung des letzten Major Release Pulumi Universal IaC angekündigt – auch YAML zur Verfügung.

Während der Einsatz von YAML eher für kleinere IaC-Anwendungsfälle ausgelegt ist, zielen die in Pulumis Managed-Service-Plattform integrierten Pulumi Deployments auf komplexere Projekte ab, die ein höheres Maß an Automation erfordern. Die neuen Funktionen stehen generell über die Pulumi Service REST API zur Verfügung, um typische IaC-Aktionen wie preview, update, destroy oder refresh programmatisch direkt auf der Plattform nutzen zu können – inklusive der Skalierungs- und Observability-Optionen des Pulumi Service.

Entwicklerinnen und Entwickler können die Pulumi Deployments aber ebenso über die Automation API nutzen, um beispielsweise einen Remote-Workspace einzurichten, der zum Erstellen einer individuellen eigenen Software zur Automatisierung der Infrastruktur dient. Darüber hinaus lassen sich Pulumi Deployments auch im "push-to-deploy"-Modus aus GitHub heraus anstoßen oder via Console per "click-to-deploy".

Die Pulumi Deployments stehen zunächst noch als kostenfreie Preview zur Verfügung, für die sich Interessierte registrieren können. Weitere Details finden sich in einem separaten Blogbeitrag zu der neuen Funktion.

Zu den weiteren Neuerungen der IaC-Plattform, die Entwicklerinnen und Entwicklern die Arbeit der Infrastrukturbereitstellung erleichtern sollen, zählen die Pulumi Architecture Templates. Anhand der Templates sollen sich "out of the box" Projekte für typische IaC-Anwendungsfälle erstellen lassen. Zum Start stehen unter anderem Templates für das Deployment von Kubernetes sowie Serverless-Applikationen auf verschiedenen Cloud-Provider-Plattformen parat.

Neue Wege beschreitet Pulumi mit der Einführung von Konfigurationsoptionen auf Projektebene. Bisher beschränkte sich das IaC-Werkzeug darauf, die Beschreibungen zum Parametrisieren eines Programms für einen einzelnen Stack zusammenzufassen. Ein Stack umfasst dabei zwar auch unterschiedliche Stufen wie die Dev-, Staging- und Produktionsumgebung, die zugrundeliegende Infrastruktur ist dabei für alle Stufen aber im Wesentlichen die gleiche. Mit der neuen Project Level Configuration lassen sich nun auch verschiedene Stacks in einer Projektkonfiguration zusammenfassen. Neben Standardwerten für alle Stacks lassen sich darin auch Sonderfälle festlegen, um beispielsweise sicherzustellen, dass einzelne Werte in Stacks zu prüfen sind oder auch, dass bestimmte Eigenschaften geheim bleiben müssen (siehe Listing).

name: baseinfra
runtime: python
config:
    vm-count:
        type: integer
        description: the number of virtual machines to create
        default: 2
    subnets:
        type: array
        description: an array of subnets to create
        items:
            type: string
    vaultKey:
        type: string
        description: which vault key to use for this stack
        secret: true

Einen kompletten Überblick sämtlicher Änderungen fasst Pulumi-CTO Luke Hoban in seinem Blogbeitrag zusammen.

(map)