Coden statt konfigurieren
Im Gespräch mit Lukas Höfer von Consol
Die höhere Skalierbarkeit, Stabilität und Agilität sprechen für Infrastructure as Code, wenn ein Unternehmen neue Produktionsumgebungen entwickeln und implementieren möchte, erläutert Lukas Höfer, Cloud Solutions Architect beim Software- und Beratungshaus Consol Software.
Computerworld: Wie ist Infrastructure as Code im Zusammenhang mit Virtualisierung, Software-defined-Technologien und Cloud einzuordnen?
Lukas Höfer: Software-defined bedeutet, dass wir virtualisierte Hardware-Komponenten als Code definieren können. Und nichts anderes machen wir bei Infrastructure as Code. Ohne IaC wäre also die Cloud, wie wir sie kennen, gar nicht möglich. Denn auch dort läuft im Hintergrund nahezu alles virtualisiert und das Deployment erfolgt mittels wiederholbarer Skripte, um Skalierbarkeit und Stabilität zu erreichen.
Computerworld: Auf welche Nachfrage stösst Infrastructure as Code bei Anwendern, speziell in Deutschland?
Höfer: Bei unseren Kunden ist IaC ein grosses Thema. Ein Grund: Teilweise kann es schon helfen, sich vorgefertigter Templates zu bedienen, um schnell einen Prototyp auszurollen. Vor allem beim Aufbau einer Produktionsumgebung sind klar definierte Infrastruktur-Templates nicht zu ersetzen. Wenn alles exakt definiert ist und jede Komponente automatisiert bereitgestellt wird, lässt sich garantieren, dass jede Umgebung, von der Entwicklung bis zur Produktion, einheitlich ist; so werden stabile Produktionssysteme geschaffen. Und genau dies ist das Ziel unserer Kunden.
Computerworld: Welchen Mehrwert bringt Infrastructure as Code im Detail?
Höfer: Der Mehrwert zeigt sich deutlich, wenn man quasi per Copy and Paste innerhalb kurzer Zeit neue Systeme aufbaut. Im Vergleich dazu kann es aber sehr zeitraubend sein, Konfigurationen in Codes einzupflegen, die man mit wenigen Klicks im User Interface umsetzen könnte. Wir arbeiten allerdings häufig mit erfahrenen Kunden zusammen, die den Wert von Automation zu schätzen wissen. IaC bietet zudem vor allem Wiederholbarkeit: Wenn eine Task häufig identisch oder ähnlich ablaufen soll, lässt sich dies mit Code abbilden. Die Nutzung von Code bringt zudem mehr Stabilität im Vergleich zu einer manuellen Konfiguration. Und das führt letztlich dazu, dass man ein höheres Vertrauen in seine Infrastruktur und die darauf ausgeführten Deployments hat.
Computerworld: Für welche Anwendergruppen kommt IaC primär infrage?
Höfer: Klassischerweise stammt IaC ja aus dem IT-Betrieb, der die Infrastrukturbereitstellung und -wartung möglichst automatisiert und somit zeitsparend abwickeln möchte - und zwar nicht nur in der Cloud, sondern auch im klassischen Rechenzentrum. Aktuell boomt das Thema vor allem im Bereich DevOps, wodurch auch Entwickler sich immer mehr mit IaC auseinandersetzen müssen. So entstehen zum Beispiel neue IaC-Tools wie AWS SDK oder Pulumi, die es ermöglichen, die Infrastruktur in Sprachen wie Java oder Python abzubilden. Das kommt den Entwicklern sehr entgegen.
Computerworld: Kann IaC nur in Verbindung mit Cloud-Infrastrukturen eingesetzt werden oder funktioniert der Ansatz auch in Unternehmensrechenzentren?
Höfer: Manche Tools wie AWS CloudFormation oder AWS CDK oder auch Werkzeuge anderer Anbieter sind Provider-spezifisch. Anwendungen wie Terraform, Ansible oder Packer funktionieren aber mit einer Vielzahl von Virtualisierungs-Providern und werden schon lange On-Premise eingesetzt. Inzwischen gibt es auch die Möglichkeit, im eigenen Rechenzentrum auf Hardware der Cloud-Provider deren Tool-Stack auszuführen. Das lässt sich dann natürlich auch im eigenen Rechenzentrum mit deren IaC-Varianten managen.