Was ist Infrastructure as Code?
Infrastructure as Code (IaC) ist ein Ansatz zur Verwaltung von IT-Systeminfrastrukturen, bei dem wiederverwendbare Konfigurationsdateien eingesetzt werden, um konsistente Bereitstellungsumgebungen für die CI/CD-Entwicklung zu schaffen.
Was ist Infrastructure as Code?
Infrastructure as Code bezeichnet die Bereitstellung und Verwaltung von Infrastruktur – einschließlich Hardware, virtueller Ressourcen, Plattformen, Containersystemen, Diensten und Topologien – mithilfe deklarativer oder skriptbasierter Definitionen, also Code, anstatt durch manuelle Konfiguration oder den Einsatz herkömmlicher Konfigurationswerkzeuge. IaC entkoppelt Konfigurationen, Richtlinien, Profile, Skripte und Vorlagen von der Hardware oder Software, auf der sie bereitgestellt werden, sodass sie wie Code gespeichert, geteilt, überarbeitet und angewendet werden können.
Dieser Ansatz, der mit der zunehmenden Verbreitung von Cloud-Infrastrukturen an Bedeutung gewonnen hat, entspringt der DevOps-Denkweise und überträgt dieselben Prinzipien der Versionskontrolle und Reproduzierbarkeit, die Entwickler auf den Quellcode von Anwendungen anwenden, auf die Orchestrierung der Infrastruktur. Ein IaC-Ansatz unterstützt Continuous Integration, Continuous Delivery und Continuous Deployment, indem bei jeder Anwendung dieselbe Infrastrukturumgebung erstellt wird.

Abbildung 1: IaC trennt Konfigurationsressourcen von Hardware und Software, sodass sie wie Code gespeichert, geteilt und verwaltet werden können
Warum ist Infrastructure as Code wichtig?
Die Möglichkeit, Infrastruktur wie Code zu behandeln, bringt die Vorteile von Automatisierung, Transparenz, Effizienz und Skalierbarkeit in das Infrastrukturmanagement ein. Dadurch können Anwendungen schneller und zuverlässiger bereitgestellt werden – mit weniger manuellem Aufwand und einem geringeren Risiko für menschliche Fehler oder Sicherheitslücken. Da die Konfiguration vom System entkoppelt ist, lässt sie sich leichter auf einem vergleichbaren System an einem anderen Ort bereitstellen. Dies erleichtert die Migration von einem Rechenzentrum in eine Cloud oder von einer Cloud in eine andere.
IaC unterstützt außerdem agile Entwicklung und CI/CD-Strategien, indem sichergestellt wird, dass Sandbox-, Test- und Produktionsumgebungen identisch sind und im Laufe der Zeit konsistent bleiben, da sie alle mit demselben deklarativen Code oder denselben Skripten konfiguriert werden.
Wie funktioniert Infrastructure as Code?
Die IaC-Konfiguration von Servern, Load Balancern, virtuellen Maschinen und anderen Rechenzentrums- oder Cloud-Ressourcen kann entweder mit imperativen Ansätzen erfolgen, die Anweisungen vorgeben (ohne das Ergebnis im Detail zu beschreiben), oder mit deklarativen Ansätzen, die das gewünschte Konfigurationsergebnis festlegen (ohne den Weg dorthin im Detail zu beschreiben, der auf bestehenden Workflows und Vorlagen basieren kann). Der Unterschied lässt sich damit vergleichen, ein Sandwich zu bestellen und darauf zu vertrauen, dass die Person, die es zubereitet, weiß, welche Schritte in welcher Reihenfolge auszuführen sind (deklarativ) – oder jeden für die Zubereitung erforderlichen Schritt vorzugeben, ohne unbedingt zu erwähnen, dass daraus ein Sandwich entsteht (imperativ).
Unabhängig davon, ob ein deklarativer oder imperativer Ansatz verwendet wird, automatisiert IaC die Bereitstellung und Verwaltung der Infrastruktur.
Wie geht F5 mit Infrastructure as Code um?
Die F5 BIG-IP-Plattform kann mithilfe von Plug-ins oder F5 Application Services 3 (AS3)-Erweiterungen für IaC-Konfigurations- und Versionsverwaltungstools wie Terraform und Ansible „als Code“ behandelt werden.
Die F5 Automation Toolchain umfasst AS3-Erweiterungen und Erweiterungen für F5 Declarative Onboarding (DO). AS3 ist ein flexibler, ressourcenschonender Mechanismus auf Basis von JSON-Deklarationen zur Konfiguration von L4–L7-Anwendungsdiensten auf einem BIG-IP-System. DO-Erweiterungen ermöglichen das deklarative L–L3-Onboarding für BIG-IP-Produkte.

