<EbeneX/>
DevOps · Updated 19. Februar 2026

Infrastructure as Code

Definition

Das Prinzip, IT-Infrastruktur (Server, Netzwerke, Datenbanken) nicht manuell zu konfigurieren, sondern als versionierten Code zu definieren und automatisch bereitzustellen.

Fortgeschritten 1 Min. Lesezeit EN: Infrastructure as Code (IaC)

Einfach erklärt

Früher wurden Server manuell konfiguriert: SSH rein, Pakete installieren, Konfigurationsdateien bearbeiten. Das Problem: Niemand weiß genau, was auf dem Server läuft, Änderungen sind nicht nachvollziehbar, und eine neue Umgebung aufzubauen dauert Stunden.

Infrastructure as Code dreht das um: Die gesamte Infrastruktur wird in Textdateien beschrieben. Ein terraform apply oder ansible-playbook baut dann alles automatisch auf. Die Konfigurationsdateien liegen in Git – jede Änderung ist dokumentiert, überprüfbar und rückgängig machbar.

Vorteile auf einen Blick:

ManuellInfrastructure as Code
UndokumentiertVersioniert in Git
Nicht reproduzierbarIdentisch wiederholbar
FehleranfälligAutomatisiert und testbar
LangsamMinuten statt Stunden

Technischer Deep Dive

Terraform-Beispiel: AWS EC2-Instanz

resource "aws_instance" "inference_server" {
  ami           = "ami-0c55b159cbfafe1f0"
  instance_type = "g4dn.xlarge"  # GPU-Instanz für KI-Inferenz

  tags = {
    Name        = "llm-inference"
    Environment = "production"
  }
}

Pulumi-Beispiel (TypeScript)

import * as aws from "@pulumi/aws";

const server = new aws.ec2.Instance("inference-server", {
  ami: "ami-0c55b159cbfafe1f0",
  instanceType: "g4dn.xlarge",
  tags: { Name: "llm-inference" },
});

GitOps-Workflow

Code-Änderung → Pull Request → Review → Merge → CI/CD → terraform apply

Jede Infrastrukturänderung durchläuft denselben Review-Prozess wie Anwendungscode.

IaC ist wie ein Kochrezept statt mündlicher Überlieferung: Statt jemandem zu erklären, wie man ein Gericht kocht, schreibst du das Rezept auf. Jeder kann es reproduzieren, du kannst es versionieren, und wenn etwas schiefläuft, weißt du genau, was geändert wurde.

Infrastruktur wird in Konfigurationsdateien beschrieben, nicht manuell geklickt

Versionierbar in Git – Änderungen sind nachvollziehbar und rückgängig machbar

Ermöglicht identische Umgebungen für Dev, Staging und Production

Reproduzierbare Umgebungen

Dev, Staging und Production sind identisch konfiguriert – 'works on my machine' gehört der Vergangenheit an

Disaster Recovery

Nach einem Ausfall kann die gesamte Infrastruktur in Minuten aus dem Code neu aufgebaut werden

KI-Infrastruktur

GPU-Cluster, Vektordatenbanken und Inference-Endpoints automatisch provisionieren und skalieren

Was ist der Unterschied zwischen deklarativem und imperativem IaC?

Deklarativ (Terraform, CloudFormation): Du beschreibst den gewünschten Endzustand – das Tool entscheidet, wie es dorthin kommt. Imperativ (Ansible, Skripte): Du beschreibst die Schritte, die ausgeführt werden sollen. Deklarativ ist meist wartbarer, imperativ flexibler.

Was bedeutet 'State' in Terraform?

Terraform speichert den aktuellen Zustand der Infrastruktur in einer State-Datei (terraform.tfstate). Beim nächsten Apply vergleicht Terraform den gewünschten Zustand (Code) mit dem aktuellen Zustand (State) und führt nur die notwendigen Änderungen durch.

Ist IaC nur für Cloud-Infrastruktur?

Nein. IaC funktioniert für Cloud (AWS, GCP, Azure), On-Premises-Server, Netzwerkgeräte und sogar für die Konfiguration von Anwendungen. Ansible zum Beispiel kann beliebige Server konfigurieren, unabhängig vom Hosting.

Dein persönliches Share-Bild für Instagram – 1080×1080px, bereit zum Posten.