Infrastructure as Code
Infrastruktur in Git. Reproduzierbar. Auditierbar.
Terraform und Pulumi mit GitOps-Workflow. Jede Infrastrukturanpassung durchlaeuft Code Review, automatisierte Tests und Audit-Trail.
Warum Infrastructure as Code¶
Manuelle Infrastruktur ist technische Schuld. Ein ueber die Konsole konfigurierter Server ist ein Schneeflocke — niemand weiss genau, wie man ihn reproduziert. IaC eliminiert:
- Schneeflocken-Problem — Jede Umgebung ist aus Code reproduzierbar
- Dokumentations-Drift — Code IST Dokumentation. Immer aktuell.
- Audit-Fragen — „Wer hat die Firewall geaendert?” → git blame
- DR-Albtraum — Disaster Recovery = terraform apply
- Umgebungsparitaet — Dev = Staging = Prod (nur andere Parameter)
GitOps-Workflow¶
Alles automatisiert. Plan-Vorschau im PR-Kommentar — Reviewer sieht genau, was sich aendern wird, vor der Genehmigung. Kostenschaetzung zeigt Auswirkung auf die Cloud-Rechnung.
Modularisierung¶
Terraform-Module fuer Standardmuster:
- Netzwerk — VPC/VNet, Subnets, NSG, Load Balancer
- Kubernetes-Cluster — Managed K8s mit Node Pools, RBAC, Monitoring
- Datenbank — Managed PostgreSQL/SQL Server mit Backup, Monitoring
- Monitoring — Grafana + Prometheus + Alarmregeln
- Anwendung — Container-App mit Ingress, TLS, DNS
Internes Modul-Registry. Neues Team fuellt Parameter aus, bekommt produktionsreife Infrastruktur in Stunden. Best Practices eingebaut — Sicherheit, Tagging, Benennung, Monitoring.
Drift-Erkennung¶
Jemand aendert etwas manuell in der Konsole. Ohne Drift-Erkennung bemerken Sie es nicht — bis terraform apply die Aenderung ueberschreibt und etwas kaputtgeht.
Automatische Drift-Erkennung stuendlich. Alarm bei Abweichung. Behebung: Entweder in State importieren oder manuelle Aenderung zuruecksetzen.
Security as Code¶
Checkov, tfsec, Sentinel Policies — automatische Validierung von Sicherheitsregeln:
- Verschluesselung at rest obligatorisch
- Oeffentlicher Zugang verboten (sofern nicht explizit genehmigt)
- Tagging-Regeln (Kostenstelle, Umgebung, Eigentuemer)
- Netzwerksegmentierung
- Logging aktiviert
Sicherheitspruefung laeuft in CI — nicht-konforme Aenderungen erreichen die Produktion nicht.
Häufig gestellte Fragen
Terraform ist der Standard mit einem riesigen Oekosystem. Pulumi ermoeglicht TypeScript/Python — besser fuer Entwicklerteams. Wir waehlen basierend auf Team und bestehendem Tooling.
Remote State in verschluesseltem Storage (S3 + DynamoDB Lock oder Azure Blob). State Locking fuer Teamzusammenarbeit. Workspace pro Umgebung. Automatisches Backup.
Abhaengig von der Infrastrukturkomplexitaet. Typischerweise 4-8 Wochen fuer bestehende Umgebungen. Neue Umgebungen von Grund auf sind schneller — 2-4 Wochen.