c't 14/2019
S. 152
Praxis
Infrastruktur mit Terraform
Aufmacherbild
Bild: Albert Hulm

Wolken-Fernbediener

Cloud-Dienste automatisch einrichten mit Terraform

Mit Terraform definieren Admins in Textdokumenten, aus welchen Komponenten eine Cloud-Infrastruktur bestehen soll. Damit ist es leicht, Server, Speicherplatz und weitere Ressourcen aus unterschiedlichen Clouds zu kombinieren.

Vieles ist einfacher geworden für Admins und Entwickler: Code liegt in Git-Repositories, Software wird in Container verpackt, automatisch gebaut und nach Updates verteilt. Im Hintergrund laufen aber weiterhin Server, die irgendjemand einrichten muss. Auch das ist dank Cloud-Anbietern einfacher geworden – ohne Fax-Bestellformular sind die Ressourcen nach wenigen Sekunden einsatzbereit. Selbst Schlüssel zum Anmelden über SSH kann man häufig direkt auf der Webseite hinterlegen und sofort mit der Arbeit auf dem Server beginnen. Werden Server nicht mehr benötigt, kann man sie genauso schnell wieder entfernen, abgerechnet wird meist nach Stunden.

So einfach das Bestellen und Löschen auch ist, so hinderlich ist die dokumentarische Arbeit drumherum – besonders, wenn man sich nicht auf einen Anbieter festlegen will. Schließlich möchte man auch nach einigen Wochen noch wissen, bei welchem Cloud-Dienst man welche Ressourcen bestellt hat und welchen Zweck sie erfüllen.

Wer beruflich oder privat Server für mehrere Projekte bei Cloud-Anbietern verwaltet, wünscht sich eine reproduzierbare Alternative zu den Weboberflächen der Cloud-Anbieter. Genau diese Aufgabe löst das vom Unternehmen HashiCorp entwickelte Open-Source-Werkzeug Terraform.

Infrastruktur als Code

Der Administrator definiert die Infrastruktur in einer Textdatei mit einer leicht zu verstehenden Syntax, Terraform spricht mit den APIs der Cloud-Anbieter und bestellt die Ressourcen. Ändert man die Definition, berechnet Terraform die Unterschiede und bestellt Ressourcen nach oder löscht nicht benötigte. Die Definition kann in einer Versionsverwaltung wie Git liegen – ein Rollback zu einer älteren Version ist dann schnell erledigt.

Weitere Bilder

Wolken-Fernbediener (2 Bilder)