Cloud-Verwaltung: Infrastructure as Code mit Pulumi

Infrastructure as Code arbeitet meist mit einfachen Beschreibungssprachen wie YAML oder JSON. Pulumi erlaubt TypeScript, Python oder Go zur Cloud-Konfiguration.

Artikel verschenken
In Pocket speichern vorlesen Druckansicht

(Bild: Montage iX; Lisa Hemmerling)

Lesezeit: 12 Min.
Von
  • Oliver Frommel
Inhaltsverzeichnis

Auch wenn es möglich ist, sich bei Cloud-Providern seine Infrastruktur in einem Browser grafisch zusammenzuklicken, entfaltet die Cloud ihre Stärken erst mit Automatisierung. Virtuelle Maschinen, Container und andere Dienste sind dabei in Textdateien beschrieben, die ein Tool dann in laufende Cloud-Infrastruktur umsetzt. Diese Vorgehensweise bezeichnet man als Infrastructure as Code. Die Amazon-Cloud AWS verwendet dafür etwa die Templatesprache CloudFormation, Microsoft die Azure Resource Manager Templates und Google den Cloud Deployment Manager, der ebenfalls Templates verarbeitet. Solche Templates lassen sich in den bekannten Textformaten wie YAML oder JSON verfassen.

Ein häufig verwendetes Tool für Infrastructure as Code ist das cloudunabhängige, von HashiCorp als Open Source bereitgestellte Terraform, das für die großen Clouds und kleinere Anbieter Plug-ins (in Terraform als Providers bezeichnet) mitbringt, die auf die jeweils angebotenen Ressourcen zugeschnitten sind. So gibt es etwa Support für Elastic Block Store nur auf AWS, da es diesen spezifischen Dienst ausschließlich dort gibt. Das zeigt, dass der Portabilität von Terraform-Modulen Grenzen gesetzt sind.

Dennoch ist es sinnvoll, sich mit Terraform zu beschäftigen, wenn man mit mehreren Cloud-Anbietern arbeitet. Die Syntax der Templatesprache und die grundlegenden Abläufe sind nämlich immer die gleichen.