Infrastructure as Code (IaC): Definition, Tools, Beispiele

Infrastructure as Code (IaC) managed Infrastruktur via versioned declarative Code — Terraform, Pulumi, CDK, Ansible. Ersetzt manuelle Cloud-Console-Clicks.

Was ist Infrastructure as Code (IaC)?

Infrastructure as Code (IaC) ist die Praxis, Infrastruktur (Server, Networks, Datenbanken, Load-Balancer, DNS, IAM-Policies) durch Code statt manuelle Console-Clicks oder One-off-Scripts zu managen. Der Code lebt in Version-Control, wird in Pull-Requests reviewed und via CI/CD applied.

IaC ist fundamental für jedes non-trivial Cloud-Deployment.

Warum IaC?

  • Reproduzierbarkeit.
  • Version-Control.
  • Disaster-Recovery.
  • Documentation by Default.
  • Auditability.
  • Testing.
  • Collaboration.
  • Modularität.

IaC-Tools-Vergleich

ToolTypSpracheAm besten für
Terraform / OpenTofuDeclarativeHCLMulti-Cloud
AWS CloudFormationDeclarativeYAML/JSONAWS-only
AWS CDKImperativeTS, Python, JavaAWS, programmer-friendly
PulumiImperativeTS, Python, GoMulti-Cloud
Azure BicepDeclarativeBicep DSLAzure-only
AnsibleImperativeYAMLConfig-Management + IaC
Kubernetes Manifests / HelmDeclarativeYAMLK8s App-Deployment
CrossplaneDeclarativeYAMLK8s-native Cloud-Control

Declarative vs Imperative IaC

AspektDeclarativeImperative
Du beschreibstDesired End-StateSteps
Tool figurt ausWie hinzukommenWas du geschrieben hast
IdempotencyBuilt-inDu managst
Logic / LoopsLimitedFull Language

Terraform-Beispiel

provider "aws" {
  region = "eu-west-1"
}

resource "aws_s3_bucket" "website" {
  bucket = "my-marketing-site"
}
terraform init
terraform plan
terraform apply

IaC-Workflow

  1. Infrastructure-Code in Repo schreiben
  2. PR mit Change öffnen
  3. CI läuft terraform plan
  4. Reviewer checkt Plan
  5. Merge → CI läuft terraform apply
  6. State in Remote-Backend

IaC Best Practices

  • Remote State mit Locking.
  • Modularisieren.
  • Environments separieren.
  • Plan vor Apply.
  • Tool + Provider-Versions pinnen.
  • Keine Secrets committen.
  • Workspaces für Multi-Region.
  • Drift-Detection.
  • Policy-as-Code.
  • Alles taggen.

Häufige IaC-Fallstricke

  • Manuelle Changes driften State.
  • State-File in Git.
  • Kein State-Locking.
  • Mega-Monolith-State.
  • Hardcoded Values.
  • Insufficient Testing.
  • Ignored Deprecation-Warnings.
  • Destroy-Plan vergessen.

FAQ: Infrastructure as Code

Terraform oder CloudFormation?

Terraform für Multi-Cloud. CloudFormation für AWS-only.

Unterschied zwischen IaC und Configuration-Management?

IaC provisioned Infrastruktur. Config-Management konfiguriert OS/Apps.

Sollte ich Modules nutzen?

Ja für alles wiederverwendbare.

Wo speichere ich Terraform-State?

Remote-Backend mit Locking: S3 + DynamoDB.

Wie handhabe ich Secrets in IaC?

Aus externen Stores referenzieren.

Was ist Drift?

Wenn echte Infrastruktur sich vom deklarierten Code unterscheidet.

Kann ich IaC für Kubernetes nutzen?

Ja.

IaC-deployed Apps mit LoadFocus testen

Nach IaC-Provisioning verifiziert LoadFocus, dass real-Traffic gehandhabt wird. Registrieren bei loadfocus.com/signup.

Wie schnell ist Ihre Website?

Steigern Sie ihre Geschwindigkeit und SEO nahtlos mit unserem kostenlosen Geschwindigkeitstest.

Kostenloser Websitespeed-Test

Analysieren Sie die Ladegeschwindigkeit Ihrer Website und verbessern Sie ihre Leistung mit unserem kostenlosen Seitengeschwindigkeits-Checker.

×