Sobes.tech
Middle

Was ist eine unveränderliche Infrastruktur (Immutable Infrastructure)?

sobes.tech KI

Antwort von AI

Dieser Ansatz besteht darin, dass Infrastrukturkomponenten (Server, Container) nach der Bereitstellung nicht modifiziert werden. Änderungen erfordern die Erstellung einer neuen Instanz des Components mit den erforderlichen Konfigurationen und den Austausch der alten.

Hauptideen:

  • Einfache Rücksetzung: Wenn eine neue Version Probleme verursacht, kann man einfach den Datenverkehr auf die alten, unveränderten Instanzen umleiten.
  • Zuverlässigkeit: Beseitigt das Risiko des "Konfigurations-Derifs" (configuration drift), wenn manuelle Änderungen an laufenden Servern zu inkonsistenten Zuständen führen.
  • Einfache Tests: Jede bereitgestellte Instanz wird auf die gleiche Weise gebaut, was Entwicklungs-, Test- und Produktionsumgebungen ähnlicher macht.
  • Skalierbarkeit: Der Ansatz funktioniert gut mit horizontaler Skalierung und automatischer Clusterverwaltung.

Implementierungsbeispiele:

  • Verwendung von Virtual Machine-Images (AMI in AWS) oder Containern (Docker-Images), die einmal gebaut werden und nach dem Start nicht verändert werden.
  • Einsatz von Tools wie Packer zur Erstellung von Images.
  • Orchestratoren wie Kubernetes, die den Lebenszyklus von Containern verwalten und das einfache Ersetzen alter Pods durch neue ermöglichen.

Vergleich mit veränderlicher Infrastruktur:

Merkmal Veränderliche Infrastruktur Unveränderliche Infrastruktur
Änderungen Werden direkt an laufenden Instanzen vorgenommen Neue Instanz wird erstellt, alte ersetzt
Rollback Schwierig, erfordert manuelle Eingriffe Einfach, Umschalten auf alte Instanzen
Zuverlässigkeit Risiko der Konfigurations-Derive Hohe Konsistenz
Verwaltung Häufig manuelle Verwaltung, Konfiguration Verwendung von Images, Automatisierung

Dieser Ansatz erfordert eine stärkere Automatisierung bei der Erstellung und Bereitstellung von Komponenten, erhöht jedoch die Vorhersehbarkeit und Zuverlässigkeit der Infrastruktur.