Kostenlose DevOps-Analyse
Zurück zum Glossar
DevOps Glossar·Automation

Infrastructure as Code (IaC)

// Direkte Antwort

Was bringt Infrastructure as Code?

Infrastructure as Code definiert Server, Netzwerke und Cloud-Ressourcen als maschinenlesbaren Code statt sie manuell einzurichten. Das macht Infrastruktur reproduzierbar, versionierbar und testbar — genau wie Anwendungscode. Terraform und Ansible sind die verbreitetsten Werkzeuge dafür.

DevOps Automatisierung
// Im DetailInfrastructure as Code (IaC)

Infrastructure as Code (IaC) bedeutet, IT-Infrastruktur — Server, Netzwerke, Load Balancer, Datenbanken, Cloud-Ressourcen — in maschinenlesbaren Dateien zu beschreiben und automatisiert bereitzustellen, statt sie manuell über Konsolen und Klick-Oberflächen einzurichten. Damit wird Infrastruktur zu einem Artefakt, das wie Anwendungscode versioniert, im Review besprochen, getestet und reproduzierbar ausgerollt werden kann. Die verbreitetsten Werkzeuge sind Terraform für die Provisionierung und Ansible für das Konfigurationsmanagement; IaC ist eine tragende Praktik von DevOps und die Grundlage für GitOps.

Man unterscheidet grob zwei Stile. Der deklarative Ansatz (etwa Terraform) beschreibt den gewünschten Zielzustand, und das Werkzeug ermittelt die nötigen Schritte dorthin. Der imperative Ansatz beschreibt die Schritte selbst. Verwandt ist die Unterscheidung zwischen Provisionierung (Ressourcen erzeugen, Domäne von Terraform) und Konfigurationsmanagement (bestehende Systeme einrichten, Domäne von Ansible). In der Praxis kombiniert man beide Welten.

Der Mehrwert liegt in Reproduzierbarkeit und Nachvollziehbarkeit: Eine identische Umgebung lässt sich jederzeit aus dem Code neu aufbauen, Drift zwischen Soll und Ist wird sichtbar, und jede Änderung ist in der Git-Historie nachvollziehbar. Für regulierte und industrielle Umgebungen ist genau das wertvoll — die Git-Historie liefert eine Audit-Spur, und identisch reproduzierbare Test-, Staging- und Produktionsumgebungen reduzieren das Risiko von Konfigurationsabweichungen. IaC ist zudem die Grundlage für GitOps.

Typische Stolpersteine: Der State (etwa Terraforms State-File) wird nicht sicher und geteilt verwaltet, was zu Konflikten und sensiblen Datenlecks führt. Manuelle Änderungen am laufenden System ("ClickOps") erzeugen Drift, der den Code unwahr macht. Und IaC-Code wird oft nicht getestet, obwohl ein Fehler hier ganze Umgebungen betreffen kann.

// Beispiele aus der Praxis2 Szenarien
/01

Identische Staging- und Produktionsumgebung

Ein Unternehmen definiert seine Umgebungen vollständig als IaC, sodass Staging und Produktion aus demselben Code mit unterschiedlichen Parametern entstehen. "Funktioniert in Staging, scheitert in Produktion" durch Konfigurationsabweichungen entfällt damit weitgehend.

/02

Disaster Recovery aus dem Repository

Nach einem schwerwiegenden Ausfall baut ein Betreiber die betroffene Infrastruktur aus dem versionierten IaC-Code in einer anderen Region neu auf — die Wiederherstellung folgt einem reproduzierbaren, getesteten Pfad statt fehleranfälliger manueller Schritte.

// Häufige FragenFAQ
Was ist der Unterschied zwischen IaC und Konfigurationsmanagement?
IaC im engeren Sinn meint das Bereitstellen von Infrastruktur-Ressourcen (Provisionierung), etwa mit Terraform. Konfigurationsmanagement richtet bereits existierende Systeme ein, etwa mit Ansible. Die Begriffe überschneiden sich, und in der Praxis werden beide Aufgaben oft in einem Workflow kombiniert.
Lässt sich IaC auch on-premise und ohne Cloud nutzen?
Ja. IaC ist nicht an Public-Cloud-Anbieter gebunden — es funktioniert ebenso für VMware, OpenStack, bare-metal Provisioning oder On-Premise-Systeme. Gerade in OT-nahen, oft air-gapped Umgebungen ist die reproduzierbare, auditierbare Bereitstellung ein klarer Vorteil.
Warum ist die State-Verwaltung bei IaC kritisch?
Der State bildet ab, welche Ressourcen das Tool als von ihm verwaltet kennt. Geht er verloren oder weicht er von der Realität ab, kann das Werkzeug Ressourcen doppelt anlegen oder fälschlich löschen. Deshalb gehört der State in einen gesicherten, gemeinsam genutzten Speicher mit Sperrmechanismus, nicht auf einen einzelnen Laptop.
Terraform oder Ansible — welches IaC-Werkzeug brauche ich?
Das hängt von der Aufgabe ab. Terraform ist stark im Provisionieren neuer Infrastruktur (VMs, Netzwerke, Cloud-Ressourcen) anhand eines deklarativen Zielzustands und State. Ansible glänzt beim Konfigurieren bereits bestehender Systeme — Pakete, Dienste, Dateien. Es ist keine Entweder-oder-Frage: In der Praxis provisioniert Terraform die Infrastruktur und Ansible konfiguriert die darauf laufenden Systeme.
// Nächster Schritt

Erstgespräch.
Kostenlos.
90 Tage zum Ergebnis.

Wir klären gemeinsam, wie Sie in 90 Tagen die ersten messbaren Industrial-DevOps-Erfolge erzielen.

Erstgespräch buchen
Seit 2006 · 47+ Projekte
Industrie · Automotive · Finance