Kostenlose DevOps-Analyse
Zurück zum Glossar
DevOps Glossar·Automation·Zuletzt geprüft

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.

Auch bekannt als: IaC · Infrastruktur als Code · Infrastructure-as-Code

// Kurz gefragt1 Klick, anonym

Ist Infrastructure as Code (IaC) bei Ihnen gerade ein Thema?

Wir fragen kurz, wie dringend das Thema bei Ihnen gerade ist. Je nach Antwort zeigen wir Ihnen direkt den passenden nächsten Schritt — ganz ohne Formular.

// Im DetailInfrastructure as Code (IaC)

Der typische Ablauf bei Infrastructure as Code sieht so aus. Ein Engineer beschreibt die gewünschte Infrastruktur in einer Datei, zum Beispiel „zwei VMs mit je 4 CPUs in diesem Netz, davor ein Load Balancer". Die Datei landet per Pull Request im Git-Repository, ein Kollege prüft die Änderung. Nach dem Merge liest ein Werkzeug die Datei, fragt über die API der Zielplattform den Ist-Zustand ab und legt an, ändert oder löscht, bis beide übereinstimmen. Niemand klickt dafür in einer Web-Konsole, und die nächste Umgebung entsteht aus derselben Datei mit anderen Parametern.

IaC-Werkzeuge arbeiten in zwei Stilen. Deklarativ heißt, Sie beschreiben den Zielzustand, etwa „es gibt drei Webserver", und das Werkzeug ermittelt selbst, was zu tun ist. Existieren schon zwei, legt es einen dritten an. Terraform, OpenTofu und Kubernetes-Manifeste arbeiten so. Imperativ heißt, Sie beschreiben die Schritte, etwa „lege einen Webserver an", und ein zweiter Lauf legt einen weiteren an. Shell-Skripte gegen eine Cloud-API sind imperativ, Pulumi erlaubt Programmcode mit deklarativem Kern. Deklarative Beschreibungen lassen sich gefahrlos wiederholen, deshalb dominieren sie.

Vom Konfigurationsmanagement grenzt sich IaC im engeren Sinn über die Aufgabe ab. Provisionierung erzeugt Ressourcen wie VMs, Netzwerke und Datenbanken, das ist die Domäne von Terraform. Konfigurationsmanagement richtet bestehende Systeme ein, mit Paketen, Diensten und Dateien, das ist die Domäne von Ansible. Im Sprachgebrauch zählen beide zu IaC, und in Pipelines laufen sie oft nacheinander. GitOps geht einen Schritt weiter: Ein Agent im Cluster gleicht den Zustand im Repository laufend mit der Realität ab, statt nur bei einem Pipeline-Lauf.

In regulierten und industriellen Umgebungen zählt vor allem die Nachvollziehbarkeit. Jede Infrastrukturänderung ist ein Commit mit Autor, Zeitpunkt und Review. Test-, Staging- und Produktionsumgebung entstehen aus demselben Code, und ein Fehler, der nur in Produktion auftritt, hat eine Ursache weniger. IaC funktioniert dabei auch ohne Public Cloud, für VMware, OpenStack oder Bare-Metal-Server im eigenen Rechenzentrum.

Bei den Werkzeugen hat sich seit 2023 viel verschoben. HashiCorp stellte Terraform im August 2023 auf die Business Source License um, daraufhin entstand der Open-Source-Fork OpenTofu unter dem Dach der Linux Foundation. IBM hat HashiCorp im Februar 2025 übernommen. Daneben beschreibt Pulumi Infrastruktur in TypeScript, Python oder Go, und Crossplane verwaltet Cloud-Ressourcen über die Kubernetes-API.

Zwei Stolpersteine kommen fast immer. Der State, also Terraforms Buchführung darüber, welche realen Ressourcen zum Code gehören, liegt auf einem Laptop statt in einem gesicherten, gesperrten Remote-Speicher. Und manuelle Änderungen am laufenden System erzeugen Drift. Das klassische Beispiel ist die von Hand umgestellte Firewall-Regel, die nirgends dokumentiert ist und deren Urheber das Unternehmen vor zwei Jahren verlassen hat. Der nächste Lauf setzt sie zurück, und keiner weiß, warum sie existierte.

// Beispiele aus der Praxis2 Szenarien
/01

Fehler nur in Produktion, Ursache in der Konfiguration

Ein Team jagte wiederholt Fehler, die in Staging nie auftraten. Die Ursache waren von Hand gepflegte Unterschiede bei Timeouts und Datenbankparametern. Heute entstehen Staging und Produktion aus demselben IaC-Code, nur mit unterschiedlichen Parameterdateien. Unterschiede zwischen den Umgebungen stehen damit im Diff und fallen im Review auf.

/02

Wiederaufbau in einer anderen Region

Nach einem schwerwiegenden Ausfall musste ein Betreiber seine Infrastruktur in einer anderen Cloud-Region neu aufbauen. Weil sie vollständig als versionierter IaC-Code vorlag und der Wiederaufbau zweimal im Jahr geübt wurde, folgte das Team einem getesteten Pfad. Nach Stunden lief die Umgebung wieder, ohne dass jemand Einstellungen aus dem Gedächtnis rekonstruieren musste.

// Welcher Weg passt?Infrastructure as Code (IaC)
// In 2 Klicks: Ihr IaC-EinstiegSchritt 1 / 2

Womit steigen Sie in Infrastructure as Code ein?

IaC ersetzt Klick-Infrastruktur durch versionierten Code — welches Werkzeug passt, hängt an Ihrem Ziel. Zwei Klicks geben die Richtung.

Was wollen Sie vor allem beschreiben?

// Häufige FragenFAQ
Was ist ein Beispiel für Infrastructure as Code?
Ein typisches Beispiel ist eine Terraform-Datei, die eine VM, ihr Netzwerk und eine Firewall-Regel beschreibt. Nach terraform apply existieren genau diese Ressourcen beim Cloud-Anbieter oder in VMware. Ein weiteres Beispiel ist ein Ansible-Playbook, das auf 50 Servern dieselben Pakete und Dienste einrichtet.
Welche IaC-Tools gibt es?
Die verbreitetsten sind Terraform und sein Open-Source-Fork OpenTofu für die deklarative Provisionierung über viele Plattformen, Ansible für Konfigurationsmanagement, Pulumi für Infrastruktur in Programmiersprachen wie TypeScript oder Python und Crossplane für Kubernetes-zentrierte Plattformen. Dazu kommen anbieterspezifische Werkzeuge wie AWS CloudFormation oder Azure Bicep. Die Wahl hängt von Zielplattform und vorhandenen Kenntnissen im Team ab.
Ist Kubernetes ein IaC-Tool?
Nicht im engeren Sinn, Kubernetes ist eine Plattform zum Betrieb von Containern. Sie arbeitet aber nach demselben Prinzip, weil Deployments, Services und Konfiguration als deklarative YAML-Manifeste beschrieben werden, die im Repository versioniert sind. Die Server und Netzwerke unter dem Cluster stellt meist ein IaC-Werkzeug wie Terraform bereit.
Was ist der Unterschied zwischen deklarativem und imperativem IaC?
Deklaratives IaC beschreibt den gewünschten Zielzustand, imperatives IaC die Schritte dorthin. Ein deklaratives Werkzeug wie Terraform vergleicht Soll und Ist und ändert nur die Abweichung, deshalb bleibt ein zweiter Lauf ohne Wirkung. Ein imperatives Skript führt seine Schritte bei jedem Lauf erneut aus und muss selbst prüfen, was schon existiert.
Was ist der Unterschied zwischen IaC und Konfigurationsmanagement?
IaC im engeren Sinn meint das Bereitstellen von Infrastruktur-Ressourcen, etwa mit Terraform. Konfigurationsmanagement richtet bereits existierende Systeme ein, etwa mit Ansible. In der Praxis provisioniert Terraform die Infrastruktur, und Ansible konfiguriert anschließend die Systeme darauf.
Lässt sich IaC auch on-premise und ohne Cloud nutzen?
Ja, IaC ist nicht an Public-Cloud-Anbieter gebunden und funktioniert ebenso für VMware, OpenStack oder Bare-Metal-Server. In OT-nahen, oft vom Internet getrennten Umgebungen braucht es dafür lokale Spiegel der Provider und Module. Der Nutzen ist dort besonders groß, weil sich jede Änderung an der Infrastruktur im Audit belegen lässt.
// Ihre Einschätzung1 Klick, anonym

Wo steht Ihr Team bei Infrastructure as Code (IaC)?

Uns interessiert, wo Ihr Team bei diesem Thema steht. Auf Basis Ihrer Antwort schlagen wir Ihnen den sinnvollsten nächsten Schritt vor — ganz ohne Formular.

// Quellen und Referenzen3 Quellen

Weiterführende Primärquellen zu Infrastructure as Code (IaC): Normtexte, Hersteller- und Projektdokumentation. Alle Ziele öffnen in einem neuen Tab.

// 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