Frank PientkaInnovation und Technologie

Die „Infrastructure as Code“ Revolution

Für einen reibungslosen Ablauf der Geschäftsprozesse ist eine funktionierende und agile informationstechnische Infrastruktur entscheidend. Wie trägt Infrastructure as Code dazu bei und welche Rolle spielt die DevOps-Bewegung?

Alles ist Code! Nicht nur die entwickelte Software, auch alles das, was ausgeliefert wird, basiert auf Code und sollte dem entsprechend behandelt werden. Bisher mussten die Infrastruktur ebenso wie das Betriebssystem oder die Software oft mit proprietären Werkzeugen oder selbst geschriebenen Skripten verteilt und installiert werden. „Infrastructure as Code“ dreht den Spieß um.

Da Software heute überall und zu jeder Zeit verfügbar sein muss, reicht es nicht mehr, diese Software agil zu entwickeln, automatisch bereitzustellen und dann zu warten, bis die dafür benötigte Infrastruktur zur Verfügung steht. Infrastruktur as Code wird nicht mehr manuell angefasst, sondern jeder Schritt per konfigurierbarem Skript vollzogen. Dadurch erreichen Unternehmen nicht nur eine transparente Nachvollziehbarkeit, sondern auch eine höhere Effizienz, Qualität und Geschwindigkeit. Da dieselben Skripte in der gesamten Deployment Pipeline verwendet und getestet werden, ist das Risiko, dass Fehler in der Produktion auftreten, viel geringer als bei der manuellen Administration. Dadurch, dass nur die bereits getesteten Aktionen erlaubt sind, werden nur noch wenige, ausschließlich aufgabenbezogene Rechte benötigt.

Geht doch etwas schief, lassen sich solche „unveränderlichen“ Systeme einfach von Grund auf neu aufbauen. Bei Systemadministratoren hat sich die Metapher „Nutz- statt Haustiere“ etabliert, die dafür steht, dass Infrastruktur unveränderlich ist und nur über Skripte, ohne manuelle Eingriffe, immer wieder aktuell erstellt und konfiguriert werden kann.

Da durch die DevOps-Bewegung Administration und Entwicklung immer enger zusammenarbeiten, werden immer mehr bewährte Prinzipien aus der Entwicklung auch für die Administration und Provisionierung der Infrastruktur genutzt. High-Performance-DevOps-Teams arbeiten nicht nur schneller und effizienter, sondern liefern auch beständig bessere Qualität mit weniger Fehlern. Letztlich gelangt man vom agilen Sprung zu einem Langstreckenlauf, der kontinuierlich Mehrwert bietet. Durch richtig angewandte DevOps-Prinzipien lässt sich die Fehlerrate in der Produktion reduzieren, die Verfügbarkeit erhöhen und die Wiederherstellungszeit bei Fehlerkorrekturen verkürzen. Es ist auch möglich, mehrere Versionen eines Dienstes parallel auszuliefern, um ihn unter produktiven Bedingungen frühzeitig an Referenznutzern zu testen und so schneller Erfahrung bei geringerem Risiko zu sammeln. Daher ist DevOps eine wichtige Modernisierungs- und Transformationsstrategie auch für die Software-Entwicklung. Da manuelle Tests immer weniger sinnvoll sind und mit der gesteigerten DevOps-Taktrate nicht mithalten können, werden im Entwicklungsprozess immer mehr Testarten frühzeitiger und öfter automatisiert ausgeführt. Die Integration von Sicherheitstests ist eine logische Erweiterung von DevOps und wird daher DevSecOps genannt.

devsecops

„Infrastructure as Code“ hat sich zuerst in Open Source-Projekten bewährt. Dadurch, dass immer mehr kommerzielle Hersteller sich auch dort engagieren, übertragen sie die dort erprobten Prinzipien und Verfahren auch auf die eigenen proprietären Produkte, so dass es immer einfacher wird, diese ebenfalls ohne manuelle Aktionen zu installieren, zu konfigurieren und zu aktualisieren. Mit Chef, Puppet, Ansible und Terraform sind zudem einige Frameworks mit unterschiedlichen Schwerpunkten entstanden, die die Verwendung von „Infrastructure as Code“ für verschiedene Umgebungen und Produkte mit fertigen Rezeptsammlungen unterstützen. „Infrastructure as Code“ ist nicht nur für Cloud native eine immer wichtigere Voraussetzung, sondern spielt auch bei der Modernisierung der eigenen Anwendungsentwicklung und beim Lean Product Development eine immer stärkere Rolle.


Lesen Sie auch:

Wie DevOps die IT beschleunigen

10 Things to Get Right for Successful DevSecOps

 

 

 

Schlagwörter: , , ,