Infrastructure as Code (Terraform und Ansible)
Kurz: Infrastructure as Code beschreibt Server, Netzwerke und Dienste in Dateien, die wie Programmcode versioniert und automatisch ausgeführt werden.
Genauer: Terraform legt Infrastruktur (Server, Datenbanken, DNS) bei Cloud-Anbietern an und hält sie auf dem beschriebenen Stand. Ansible konfiguriert Rechner (Pakete installieren, Dateien kopieren, Dienste starten) über SSH, ohne Agent.
Im Detail
- Deklarativ vs. imperativ: Terraform beschreibt das Ziel, ein Skript beschreibt die Schritte.
- Idempotenz: Mehrfaches Ausführen ändert nichts, wenn alles schon stimmt.
- Vorteile: Wiederholbar, nachvollziehbar in Git, weniger Handarbeit, schnelle Wiederherstellung.
- Zustand (State): Terraform merkt sich, was es angelegt hat. Diese Datei ist sensibel.
- Geheimnisse: Passwörter gehören nicht in den Code, sondern in einen Tresor (API-Schlüssel sicher aufbewahren).
Siehe auch: Kubernetes, CI/CD-Pipeline