Cloud-Infrastrukturen mit HashiCorp Terraform verwalten

IT-Infrastrukturen in komplexen Cloud-Umgebungen können Probleme bereiten. Mit Terraform lassen sich sogar Multi-Cloud-Architekturen verwalten.

Artikel verschenken
In Pocket speichern vorlesen Druckansicht
Cloud-Infrastrukturen mit HashiCorp Terraform verwalten
Lesezeit: 16 Min.
Von
  • Malte Lachnit
  • Stephan Riedel
Inhaltsverzeichnis

Seit Jahren wachsen in vielen IT-Abteilungen die beiden klassischen Rollen IT-Operations (Betrieb) und Software Development (Softwareentwicklung) immer stärker zusammen. Das Ziel: Die eigene Software soll schneller, stabiler und zuverlässiger ausgeliefert werden und den Kundenanforderungen besser entsprechen. Verkürzte Releasezyklen schaffen zudem einen Wettbewerbsvorteil.

Die daraus hervorgegangene DevOps-Kultur hat das Ziel, Software von der Erstellung bis zur Auslieferung in einem kontinuierlichen Lifecycle abzubilden (Continuous Integration und Continuous Delivery, CI/CD). Dazu stehen dem DevOps-Team verschiedene Werkzeuge bereit. Die Provisionierung und Konfiguration der Server, virtuellen Maschinen oder Container erfolgt beispielsweise mithilfe einer Konfigurationsmanagementsoftware. Dabei installiert und konfiguriert das DevOps-Team Betriebssystem und Software nicht mehr händisch. Es definiert stattdessen den gewünschten Zielzustand im Quellcode. Dieses Vorgehen ist auch als Configuration as Code bekannt.

iX-TRACT
  • Infrastructure as Code bietet die Möglichkeit, Cloud-Ressourcen schnell, flexibel, sicher und nachvollziehbar zu provisionieren.
  • HashiCorp stellt mit Terraform ein mächtiges Provisioning-Tool kostenlos zur Verfügung.
  • Terraform arbeitet mit den Clouds von Alibaba, Amazon, Google, Microsoft, Oracle und VMware zusammen und bildet Multi-Cloud-Szenarien ab.

Der Rollout in die gewünschte Umgebung läuft bei Configuration as Code automatisiert ab – die Anbindung an eine CI-/CD-Pipeline vorausgesetzt. Das verbessert die Nachvollziehbarkeit und reduziert das Risiko für sogenannte Configuration Drifts. Das bedeutet: Konfigurations- und Patchstände einzelner Server weichen untereinander nicht ab. Bekannte Konfigurationsmanagementlösungen sind neben Chef und Ansible insbesondere SaltStack und Puppet. Allerdings müssen DevOps-Teams die zugrunde liegenden IT-Infrastrukturkomponenten wie Server, Router, Switches oder Firewall weiterhin manuell bereitstellen.