Was ist IaC?
Infrastruktur wird als Code beschrieben statt manuell geklickt.
Der Code ist die einzige Wahrheit – reproduzierbar, versionierbar, überprüfbar.
- Gleiche Umgebung immer wieder aufbaubar
- Änderungen nachvollziehbar (Git)
- Weniger manuelle Fehler
Deklarativ vs. imperativ
Deklarativ
Beschreibt den Zielzustand (Terraform, Bicep).
Imperativ
Beschreibt die Schritte dorthin (klassische Skripte).
- Deklarativ ist bei IaC der Regelfall
- Werkzeug gleicht Ist- und Sollzustand ab
GitOps
Der gewünschte Zustand liegt in Git; Änderungen laufen über Commits und Pipelines.
- Nachvollziehbare, geprüfte Änderungen
- State/Secrets sicher verwalten
- Erst planen (plan), dann anwenden (apply)
State & Module
Der State bildet ab, was tatsächlich existiert – er ist kritisch.
- State remote speichern und sperren (Locking)
- Wiederverwendbare Module gegen Copy-Paste
- Variablen und Umgebungen sauber trennen
In die Pipeline
plan im Pull-Request zeigt die Änderung; apply erst nach Freigabe.
- Automatische Prüfung und Vorschau vor dem Anwenden
- Policy-as-Code prüft Regeln automatisch
- Nur geprüfter Code verändert die Infrastruktur