Infrastructure as Code: Machen Sie Ihr Leben einfacher mit Terraform
Von Idego Group

Die meisten Ingenieure mit mehrjähriger Infrastrukturerfahrung erinnern sich, wie kompliziert und zeitaufwendig das IT-Infrastrukturmanagement war. Systemadministratoren montierten Server manuell in Rechenzentren, befestigten Netzwerk und Speicher, installierten Betriebssysteme und konfigurierten sie gemäß den Teamanforderungen. Dieser manuelle Prozess verursachte zahlreiche Probleme, darunter menschliche Fehler und inkonsistente Konfigurationen in den Infrastrukturelementen.
Die Geburt der Automatisierung
Ingenieure verwendeten anfangs Skripte, um gewünschte Infrastrukturzustände zu erreichen, was den Beginn der Automatisierungsevolution markierte. Virtualisierungstechnologien, die sich von virtuellen Maschinen zu Containern weiterentwickelten, kombiniert mit erhöhter Cloud-nativer und Public-Cloud-Akzeptanz, veränderten die Perspektiven zur Infrastrukturbereitstellung und -verwaltung erheblich.
Definition von Infrastructure as Code
Infrastructure as Code (IaC) ist grundsätzlich die Automatisierung der Infrastrukturbereitstellung und -verwaltung unter Verwendung von Softwareentwicklungsprinzipien und -praktiken. Code, der die IT-Infrastruktur definiert, wird in Versionskontrollsystemen gespeichert und wie traditionelle Software geschrieben, getestet und bereitgestellt.
Das Automatisierungsarsenal
Es gibt mehrere Tools zur Infrastrukturautomatisierung, darunter Puppet, Ansible, Azure Resource Manager, Chef und SaltStack. Das geeignete Tool hängt von Ihrem spezifischen Anwendungsfall und Ihren Zielen ab - verschiedene Tools eignen sich für das Infrastrukturmanagement, die Anwendungsinstallation, einmalige Konfigurationen und Änderungen nach der Installation.
Kurzer Blick auf Terraform
Terraform ist eine einzelne Golang-Binärdatei, die von der Hashicorp-Website heruntergeladen werden kann. Es arbeitet in drei Phasen: Schreiben (Definieren der Infrastruktur in HCL), Planen (Erstellen von Ausführungsplänen) und Anwenden (Durchführen erkannter Aktionen).
Die Zustandsdatei verfolgt bereitgestellte Ressourcen und ermöglicht Terraform den Vergleich von Konfigurationen mit vorhandener Infrastruktur. Workspaces bieten unabhängig verwaltete, isolierte Zustandsdateien - nützlich für Proof-of-Concepts, Tests, mehrere Abonnements, Umgebungen, Regionen oder Standorte.