header image of page Infrastructur as Code

Infrastructur as Code

Mit dynamisch definierter Infrastruktur sind Skalierung und Migration Probleme von Gestern

Infrastructur as Code (IaC) ist eine IT-Infrastruktur-Definition mit einer Maschinen-/Programm-verständlichen Sprache, wie z.B. yaml oder json. Sie ist die Basis für den automatischen Aufbau der vollständigen Infrastruktur durch entsprechende Programme.

Usescase

Die Anforderungen an den IT-Betrieb ändern sich. Statt Sicherheit und BCCM (business continuity) spielen Kosten und Zeit eine wesentlich größere Rolle.

Durch die agile Softwareentwicklung werden mehr Computing-Instanzen und schnelle Deployments erforderlich. Gleichzeitig muss die Infrastruktur kosteneffizient betrieben werden.

Cloud wird häufig als Lösung vorgeschlagen, doch durch mangelnde Transparenz und fehlendes Know-how stellt sich diese oft als Sicherheitsrisiko und Kostenfalle heraus.

Infrastructure as Code

Die Idee hinter IaC ist, einen gewünschten Infrastrukturzustand vollständig zu beschreiben. Diese Zustandsbeschreibung bzw. der Infrastrukturcode wird in einem Source-Code-Management-Tool (SCM) verwaltet.

Durch IaC werden gern weitere Elemente der Softwareentwicklung übernommen:

Diese Methoden bieten die Möglichkeit, mittels einfacher Codeänderung schnell auf Ressourcenanforderungen reagieren zu können. Ebenso schnell können Ressourcen wieder entfernt werden, wodurch ein optimaler Kostenrahmen gewährleistet wird. Die Wiederverwendung bestehender und getesteter Code- bzw. Infrastrukturelemente verbessert die Sicherheit. Ein weiterer Vorteile ist der Wegfall von IT-Dokumentation, denn SCM protokolliert sämtliche Änderungen der Infrastruktur (IT Audits) etc.

Herausforderungen

Der Einsatz von IaC birgt jedoch viele Herausforderungen: