Was ist Infrastructure as Code (IaC)?

Infrastructure as Code (IaC) bezeichnet das Management und die Bereitstellung von Infrastruktur mithilfe von Software und automatisierten Prozessen anstelle von Hardware und manuellen Prozessen. Softwareentwickler können Anweisungen für Computing-, Storage- und Netzwerkanforderungen schreiben und ausführen und sie somit schneller bereitstellen, als dies mit einem manuellen Prozess möglich wäre. Im Gegensatz zu den grundlegenden Skripts zum Automatisieren sich wiederholender IT-Prozesse kann Infrastructure as Code komplexere, vielseitigere und anpassungsfähigere Prozesse steuern.

White Paper von IDC: Netzwerkautomatisierung: Das fehlende Puzzleteil in DX-Strategien

VMware Aria Automation

Warum ist Infrastructure as Code wichtig?

In einer modernen Cloud-Umgebung wird Infrastructure as Code immer wichtiger für einen reibungslosen Betrieb. Aufgrund der zunehmenden Anzahl von Containern und Microservices muss die Infrastruktur nun für Hunderte kleiner Anwendungen separat bereitgestellt werden. Dank Infrastructure as Code ist dies durch automatisierte Bereitstellung möglich.
IaC spielt auch in DevOps-Umgebungen eine sehr wichtige Rolle, da sie Entwicklern einfachen Zugriff auf die von DevOps benötigte IT-Infrastruktur bietet. Indem Infrastruktur und Betrieb ähnlich wie Anwendungscode und anderer Code behandelt werden, ist sichergestellt, dass DevOps-Best-Practices, z. B. kontinuierliche Überwachung und Versionskontrolle, auch auf den Code angewendet werden, der die Infrastruktur verwaltet.

Infrastructure as Code und Platform as Code im Vergleich

Infrastructure as Code und Platform as Code (PaC) sind ähnliche Konzepte für verschiedene Ebenen des Technologiestacks. Wie bereits erwähnt, befasst sich IaC mit der Bereitstellung von Computing, Storage und Networking auf Infrastrukturebene. Im Gegensatz dazu beschäftigt sich PaC mit der Plattformschicht (einschließlich Betriebssystem und Entwicklungstools) und bietet Entwicklern die Möglichkeit, die Plattform für ihre Anwendungen zu definieren und auszuführen.


Abgesehen von den unterschiedlichen Ebenen liegt der Hauptunterschied zwischen IaC und PaC in der Implementierung: IaC wird durch das Schreiben von Wrappern über Kubernetes-APIs implementiert. PaC hingegen wird durch das Schreiben von API-Erweiterungen für Kubernetes implementiert.

Welche Vorteile bietet Infrastructure as Code?

Das Implementieren von Infrastructure as Code bietet eine Reihe von Vorteilen:

  • Implementieren von DevOps-Best-Practices: Wenn Infrastruktur wie jeder andere Code behandelt wird, vereinfachen DevOps-Best-Practices wie kontinuierliche Überwachung, Versionskontrolle und automatische Tests das Management.
  • Selfservice für Entwickler: Entwickler müssen sich bei der Bereitstellung von Ressourcen nicht auf die IT-Abteilung verlassen, sondern können mit IaC ihre eigene Infrastruktur sicher und konform bereitstellen.
  • Skalierbarkeit und schnelleres Provisioning: Durch den automatisierten Ansatz von IaC können Ressourcen auf eine Weise skaliert werden, die manuell nur schwer möglich wäre. Dies trifft insbesondere in einer containerbasierten Umgebung zu, in der Microservices für jeden Service eine separate Infrastrukturbereitstellung erfordern.
  • Wiederholbarkeit und Konsistenz: Mit derselben Codebasis für die Infrastrukturbereitstellung wird Konsistenz über Hunderte oder Tausende von Anwendungen hinweg erreicht.

Überlegungen zu Infrastructure as Code

Infrastructure as Code (IaC) ist in einer containerbasierten DevOps-Enterprise-Umgebung erforderlich und weist nur wenige Nachteile auf. Allerdings gibt es einige potenzielle Herausforderungen: Die Vielzahl der verfügbaren Infrastructure-as-Code-Tools kann sich als komplex erweisen und zusätzliche Schulungen für IT-Teams erfordern. Durch die Automatisierung von Infrastruktur können sich Fehler in einer IaC-Umgebung schnell ausbreiten, weshalb Versionskontrolle und Tests von größter Bedeutung sind. Auch wenn IaC im Allgemeinen vor Konfigurationsabweichungen schützt, kann IaC auch zu Konfigurationsabweichungen beitragen, wenn IT-Administratoren Serverkonfigurationen außerhalb der IaC-Standardvorlage ändern. Daher ist es wichtig, IaC-Standards umzusetzen und Richtlinien sorgfältig zu dokumentieren.

Welche Sicherheitsvorteile bietet Infrastructure as Code?

In puncto Sicherheit gilt für Infrastructure as Code die gleiche Einschränkung wie für jede andere Art von Automatisierung: IaC muss von Anfang an richtig eingerichtet werden, um größeren Schaden oder Sicherheitsprobleme durch Fehler, die sich in großem Umfang wiederholen, zu vermeiden. Bei durchdachter und gewissenhafter Konfiguration kann eine sichere Infrastructure as Code jedoch das Risiko menschlicher Fehler minimieren und die Einbeziehung von Sicherheitsüberlegungen in den Entwicklungsprozess gewährleisten.


Da IaC auf Automatisierung und nicht auf manuellen Prozessen basiert, bietet sie alle Sicherheitsvorteile der Automatisierung. Gleichzeitig werden die mit Konfigurationsabweichungen verbundenen Sicherheitsprobleme vermieden. Zentrales Management von Servern und Anwendungen ist ein Garant für Konsistenz und Sicherheit in der gesamten Umgebung. Um nicht autorisierte Änderungen zu verhindern, werden Änderungen nicht manuell durchgeführt, sondern müssen im Code definiert werden. Deklarative Konfigurationen stellen sicher, dass alle direkt (und nicht durch Code) vorgenommenen Änderungen automatisch zugunsten des im Code definierten Zustands überschrieben werden. Dank strenger Versionskontrolle können außerdem Änderungen (auch solche, die über Code vorgenommen wurden) ganz einfach rückgängig gemacht werden.


IaC-Umgebungen sind auch einfacher zu prüfen, da alles (einschließlich Serverkonfigurationen) in Code definiert und dokumentiert ist. Dies erleichtert die Weitergabe dieser Informationen an einen externen Prüfer.

Zugehörige Lösungen und Produkte

VMware Aria Automation

Plattform zur Infrastrukturautomatisierung

Modernes Netzwerk

Bauen Sie ein modernes anwender- und anwendungsorientiertes Netzwerk auf.

Cloud-Management

Einheitliche Bereitstellung, Abläufe und Optimierung