Groenewold IT Solutions LogoGroenewold IT Solutions – Startseite
DevOps

Terraform – Definition, Erklärung und Praxisbeispiel

Terraform ist ein Open-Source-Tool von HashiCorp für Infrastructure as Code (IaC), mit dem Cloud-Infrastruktur deklarativ definiert, versioniert und automatisiert bereitgestellt werden kann.

Was ist Terraform? Definition, Vorteile & Beispiele

Manuelle Infrastrukturverwaltung über Cloud-Konsolen ist fehleranfällig, schlecht dokumentiert und nicht reproduzierbar. Terraform löst dieses Problem, indem es Infrastruktur als Code behandelt – versionierbar, überprüfbar und automatisiert ausrollbar. Als eines der meistgenutzten IaC-Tools unterstützt Terraform über 3.000 Provider für Cloud-Dienste, SaaS-Produkte und interne Systeme. Ob AWS, Azure, Google Cloud oder Multi-Cloud – Terraform ist der De-facto-Standard für die deklarative Infrastrukturbereitstellung.

Zu Terraform finden Sie hier eine kompakte Definition, eine verständliche Erklärung und ein konkretes Praxisbeispiel - ergänzt um weitere Anwendungsfälle und FAQ.

Was ist Terraform?

Terraform ist ein Open-Source-Tool von HashiCorp für Infrastructure as Code (IaC), mit dem Cloud-Infrastruktur deklarativ definiert, versioniert und automatisiert bereitgestellt werden kann.

Terraform ist ein Open-Source-Infrastructure-as-Code-Tool, das 2014 von HashiCorp veröffentlicht wurde. Es verwendet die eigene deklarative Konfigurationssprache HCL (HashiCorp Configuration Language), um Infrastruktur-Ressourcen wie Server, Netzwerke, Datenbanken und DNS-Einträge zu beschreiben.

Der deklarative Ansatz bedeutet, dass Entwickler den gewünschten Zustand definieren, und Terraform automatisch die notwendigen Schritte berechnet, um diesen Zustand herzustellen. Terraform verwaltet den aktuellen Zustand der Infrastruktur in einer State-Datei und erkennt dadurch Unterschiede zwischen gewünschtem und aktuellem Zustand (Drift Detection).

Das Provider-Ökosystem umfasst über 3.000 Provider, die APIs von Cloud-Anbietern, SaaS-Diensten und internen Systemen abstrahieren. Module ermöglichen die Wiederverwendung von Konfigurationen, und Terraform Cloud bietet eine Team-Plattform mit Remote State Management, Policy as Code und Collaboration-Features.

Wie funktioniert Terraform?

Terraform arbeitet in einem klar definierten Workflow aus drei Schritten: Write, Plan und Apply. In der Write-Phase definieren Entwickler die gewünschte Infrastruktur in HCL-Dateien (.tf). Der Befehl <code>terraform plan</code> erstellt einen Ausführungsplan, der zeigt, welche Ressourcen erstellt, geändert oder gelöscht werden &ndash; ohne tatsächlich Änderungen vorzunehmen.

Nach Überprüfung des Plans führt <code>terraform apply</code> die Änderungen über die Provider-APIs durch. Terraform speichert den aktuellen Zustand in einer State-Datei, die als Single Source of Truth dient. Bei Team-Arbeit wird der State in einem Remote Backend (z.B. S3, Terraform Cloud) gespeichert, um Konflikte zu vermeiden.

Der Befehl <code>terraform destroy</code> kann die gesamte Infrastruktur kontrolliert wieder abbauen.

Praxisbeispiele

  1. Ein Unternehmen definiert seine gesamte AWS-Infrastruktur (VPC, EC2, RDS, S3, CloudFront) in Terraform und rollt identische Umgebungen für Entwicklung, Staging und Produktion aus.

  2. Ein DevOps-Team nutzt Terraform-Module, um standardisierte Kubernetes-Cluster auf Google Cloud bereitzustellen, die alle Sicherheits- und Compliance-Vorgaben erfüllen.

  3. Ein Startup verwendet Terraform Cloud für die Team-Zusammenarbeit mit Remote State, automatischen Plan-Reviews und Policy-as-Code-Prüfungen vor jedem Apply.

  4. Ein Multi-Cloud-Unternehmen verwaltet Infrastruktur auf AWS und Azure gleichzeitig mit Terraform und nutzt Workspaces, um verschiedene Umgebungen zu trennen.

  5. Ein Finanzdienstleister integriert Terraform in seine CI/CD-Pipeline, sodass Infrastrukturänderungen denselben Code-Review- und Genehmigungsprozess durchlaufen wie Anwendungscode.

Typische Anwendungsfälle

  • Automatisierte Bereitstellung von Cloud-Infrastruktur auf AWS, Azure, Google Cloud oder in Multi-Cloud-Umgebungen

  • Reproduzierbare Umgebungen: Identische Infrastruktur für Entwicklung, Test, Staging und Produktion

  • Compliance und Governance durch Policy-as-Code mit Sentinel oder Open Policy Agent (OPA)

  • Disaster Recovery: Schnelle Wiederherstellung der gesamten Infrastruktur aus versionierten Terraform-Konfigurationen

  • Self-Service-Plattformen, bei denen Entwicklerteams über Module standardisierte Infrastruktur eigenständig bereitstellen

Vorteile und Nachteile

Vorteile

  • Cloud-agnostisch: Ein Tool für alle Provider &ndash; AWS, Azure, Google Cloud, Kubernetes und über 3.000 weitere
  • Deklarativ und reproduzierbar: Infrastruktur wird als Code definiert, versioniert und im Team geteilt
  • Plan vor Apply: Der Plan-Schritt zeigt alle Änderungen im Voraus und verhindert unbeabsichtigte Modifikationen
  • Modulares Design: Wiederverwendbare Module ermöglichen standardisierte und konsistente Infrastruktur-Patterns
  • Großes Ökosystem: Aktive Community, umfangreiche Terraform Registry mit fertigen Modulen und Providern

Nachteile

  • State-Management: Die State-Datei muss sorgfältig verwaltet werden &ndash; Korruption oder Drift kann zu Problemen führen
  • Lernkurve: HCL und die Terraform-Konzepte (State, Provider, Module, Workspaces) erfordern Einarbeitung
  • Limitierte Programmierlogik: HCL ist keine vollwertige Programmiersprache &ndash; komplexe Logik kann umständlich werden
  • Lizenzänderung: HashiCorp hat Terraform seit Version 1.6 unter die BSL-Lizenz gestellt, was für manche Nutzer relevant ist (Alternative: OpenTofu)

Häufig gestellte Fragen zu Terraform

Was ist der Unterschied zwischen Terraform und Ansible?

Terraform ist ein deklaratives IaC-Tool, das primär für die Bereitstellung und Verwaltung von Infrastruktur (Server, Netzwerke, Datenbanken) konzipiert ist. Ansible ist ein Konfigurationsmanagement-Tool, das hauptsächlich für die Konfiguration bereits vorhandener Server (Software-Installation, Konfigurationsdateien) eingesetzt wird. In der Praxis ergänzen sich beide: Terraform erstellt die Infrastruktur, Ansible konfiguriert die Server darauf.

Was ist der Terraform State und warum ist er wichtig?

Der Terraform State ist eine JSON-Datei, die den aktuellen Zustand der verwalteten Infrastruktur speichert. Terraform vergleicht bei jedem Plan den gewünschten Zustand (Code) mit dem gespeicherten State, um notwendige Änderungen zu berechnen. Ohne State kann Terraform nicht wissen, welche Ressourcen bereits existieren. Der State sollte remote gespeichert (z.B. S3 mit Locking) und niemals manuell bearbeitet werden.

Was ist OpenTofu und wie unterscheidet es sich von Terraform?

OpenTofu ist ein Fork von Terraform, der nach der Lizenzänderung von HashiCorp (von MPL zu BSL) unter der Linux Foundation entstanden ist. OpenTofu bleibt unter der Open-Source-Lizenz MPL 2.0 und ist weitgehend kompatibel mit Terraform. Für Unternehmen, denen die BSL-Lizenz Bedenken bereitet, ist OpenTofu eine Alternative mit gleicher Grundfunktionalität.

Direkte naechste Schritte

Wenn Sie Terraform konkret einsetzen oder bewerten wollen, starten Sie mit diesen transaktionalen Seiten:

Terraform im Kontext moderner IT-Projekte

Terraform gehört zum Bereich DevOps und spielt in zahlreichen IT-Projekten eine wichtige Rolle. Bei der Entscheidung für oder gegen Terraform sollten Unternehmen nicht nur die technischen Eigenschaften betrachten, sondern auch organisatorische Faktoren wie vorhandenes Know-how im Team, bestehende Infrastruktur und langfristige Wartbarkeit.

Unsere Erfahrung aus über 250 Softwareprojekten zeigt, dass die richtige Einordnung einer Technologie oder Methode im Gesamtkontext oft entscheidender ist als ihre isolierten Stärken.

Wir bei Groenewold IT Solutions haben Terraform in verschiedenen Kundenprojekten eingesetzt und kennen sowohl die Stärken als auch die typischen Herausforderungen, die bei der Einführung auftreten können. Falls Sie unsicher sind, ob Terraform für Ihr Vorhaben geeignet ist, beraten wir Sie gerne in einem unverbindlichen Gespräch. Dabei analysieren wir Ihre konkreten Anforderungen und geben eine ehrliche Einschätzung – auch wenn das Ergebnis sein sollte, dass eine andere Lösung besser zu Ihnen passt.

Weitere Begriffe aus dem Bereich DevOps und benachbarten Themen finden Sie im IT-Glossar. Für konkrete Anwendungen, Kosten und Abläufe empfehlen wir unsere Leistungsseiten und Themenseiten – dort werden viele der hier erklärten Konzepte in der Praxis eingeordnet.

Verwandte Begriffe

Ihre Cloud-Infrastruktur mit Terraform automatisieren?

Wir beraten Sie gerne zu Terraform und finden die optimale Lösung für Ihre Anforderungen. Profitieren Sie von unserer Erfahrung aus über 200 Projekten.

Nächster Schritt

Bereit für den nächsten Schritt? Wir sind es.

Chancen und Risiken gemeinsam identifizieren – direkt, pragmatisch, lösungsorientiert.

30 Min. Strategiegespräch – 100% kostenlos & unverbindlich