Suchen

Channel Fokus Datacenter & IT-Automation Hardware ist auch nur Software

Autor: Michael Hase

Mit Infrastructure as Code (IaC) ändert sich die Bereitstellung von IT-Infrastruktur grundlegend: Sie wird wie Software programmiert und nicht mehr manuell konfiguriert. Der Ansatz ermöglicht die Automatisierung von Provisionierungs- und Management-Prozessen.

Firmen zum Thema

Bei Infrastructure as Code (IaC) werden Systemlandschaften als Software-Architekturen behandelt.
Bei Infrastructure as Code (IaC) werden Systemlandschaften als Software-Architekturen behandelt.
(Bild: © denisismagilov – stock.adobe.com)

Automatisierung ist kein Selbstzweck. Werden manuelle Tätigkeiten durch maschinelle Abläufe abgelöst, geht es häufig um Effizienz. In der IT gehört das seit Jahrzehnten zur Praxis. Über Skripte werden sich wiederholende administrative Vorgänge mit Hilfe von Code abgewickelt – vom Anlegen neuer User bis zum Zurücksetzen von Passwörtern. Mit Cloud Computing hat das Thema in den vergangenen Jahren aber eine neue Qualität bekommen. Automatisierung zielt nun weniger auf einzelne Prozesse ab, als dass damit umfassendere Ansätze verfolgt werden. Im Vordergrund steht dabei nicht allein Effizienz, sondern auch und vor allem Agilität.

Cloud-native Technologien versetzen Anwender in die Lage, neue Applikationen oder funktionale Updates schnell in Betrieb zu nehmen, ohne dass sie sich intensiv mit der darunterliegenden Infrastruktur befassen müssen. Über vorgefertigte Templates lassen sich für die jeweiligen Workloads ­automatisiert passgenaue Architekturen aufbauen. Unter dem Begriff Infrastructure as Code (IaC) ist diese Form der Bereitstellung im Cloud Computing allgegenwärtig und bei der Nutzung von Infrastructure as a ­Service (IaaS) zum üblichen Vorgehen ­geworden. Das Konzept hält inzwischen aber auch Einzug in On-Premises-Rechenzentren, weil sich die Möglichkeiten, die einschlägigen Tools einzusetzen, nicht ­allein auf die Cloud beschränken.

Sarah Mück, Head of Agile IT & Software Development bei SVA, sieht Automatisierung nicht primär als technische Herausforderung an.
Sarah Mück, Head of Agile IT & Software Development bei SVA, sieht Automatisierung nicht primär als technische Herausforderung an.
(Bild: SVA)

Dass von IaC gerade Unternehmen profitieren, deren Geschäftsmodell stark von IT abhängig ist und die mit ihrer Applikationslandschaft flexibel auf sich ändernde Marktanforderungen reagieren müssen, liegt auf der Hand. „Führt man häufig neue Services ein und möchte deren Bereitstellung komplett automatisieren, kommt man um IaC nicht herum“, erläutert Sarah Mück, Head of Agile IT & Software Development beim Wiesbadener Systemhaus SVA. „Dann braucht man unter den Services eine Infrastruktur, die auf Knopfdruck zur Verfügung steht.“ Ansonsten sei der manuelle Aufwand viel zu groß.

Alles ist Software-defined

Der Begriff Infrastructure as Code drückt bereits den Kern der Sache aus: Infrastruktur wird nicht als ein mehr oder weniger ­komplexes Konstrukt verstanden, das aus Hardware- und Software-Komponenten zusammengefügt ist, sondern sie wird wie eine reine Software-Architektur behandelt. Rechenleistung, Speicher- und Netzwerkressourcen werden dabei über maschinenlesbaren Code automatisiert mit den ­gewünschten Parametern bereitgestellt. Dazu beschreibt man die einzelnen Bestandteile der IT-Umgebung ebenso wie ­ihre Abhängigkeiten mit Hilfe von Skripten, sodass sie gemäß den Vorgaben ohne manuellen Eingriff konfiguriert werden. Infrastruktur wird also wie Software programmiert, statt sie auf klassische Weise zu implementieren.

Dieses Vorgehen bietet gegenüber der herkömmlichen Systemintegration nicht nur den Vorteil der größeren Geschwindigkeit. Einmal erstellte Vorlagen lassen sich auch beliebig oft wiederverwenden und führen immer zum gleichen Zielzustand. Definierte Standards für Compliance und Security werden zuverlässig eingehalten. Zudem sind versehentliche Fehler, wie sie bei ­manueller Konfiguration mitunter passieren, so gut wie ausgeschlossen. Da der Aufbau von Infrastruktur auf ähnliche Weise abläuft wie die Entwicklung von Software, können Verfahren, die sich dort bewährt haben, wie Testing und Versionskontrolle auch bei IaC angewendet werden. Somit lassen sich Änderungen an Templates ­lückenlos nachverfolgen und bei Bedarf einfach wieder rückgängig machen.

Bei Kunden stößt das Konzept ­mittlerweile auf große Akzeptanz, wie SVA-Managerin Mück mitteilt. Die Notwendigkeit, sich ­damit zu beschäftigen, ergibt sich für sie häufig im Zuge von Modernisierungsprojekten. „Insbesondere dann, wenn Unternehmen damit anfangen, ihre Applikationslandschaft zu erneuern, wenn sie dafür Container-Architekturen aufbauen und ihre Software-Entwicklung mit Hilfe von DevOps agilisieren, führen wir IaC bei ihnen ein.“ Denn das DevOps-Modell erfordert eine schnelle, standardisierte Bereitstellung spezifischer Umgebungen für Entwicklung, Testing, Staging und Produktion. „Aus unserer Sicht sind ­agile Entwicklung und agiler Betrieb nur möglich, wenn man die Infrastrukturen dafür zuvor in Code gegossen hat, damit sie ­einfach reproduzierbar sind und man sie immer wieder ausrollen kann.“

Notwendigkeit der Transformation

Ohne IaC lassen sich DevOps-Konzepte „nicht vernünftig umsetzen“, bestätigt Florian Weigmann, Chief Product Officer beim Kölner Managed Hosting Provider PlusServer. Automatisierung und Digitalisierung gehören für den Manager zusammen. In dieser Hinsicht stehen nach seiner Wahrnehmung viele Unternehmen im deutschen Mittelstand „vor der Notwendigkeit der Transformation, damit sie das Tempo mithalten können, das in Zukunft in den Geschäftsmodellen ­gefordert ist“. Ob sie fähig dazu sein werden, digitale Produkte schnell genug auf den Markt zu bringen oder flexibel genug auf den Bedarf ihrer Kunden zu reagieren, das hängt nach Überzeugung des ­Experten nicht zuletzt vom Automatisierungsgrad ihrer Infrastruktur ab.

Florian Weigmann, Chief Product Officer bei PlusServer: Alles, was man automatisieren kann, das sollte man automatisieren.
Florian Weigmann, Chief Product Officer bei PlusServer: Alles, was man automatisieren kann, das sollte man automatisieren.
(Bild: PlusServer)

Denn die Anforderungen der Digitalisierung lassen sich Weigmann zufolge nur mit Software bewältigen. „Aber Software läuft nun mal nicht ohne Infrastruktur. Und Menschen, die Systeme manuell konfigurieren und in Betrieb nehmen, sind zu langsam.“ Deswegen sei es sinnvoll, Infrastrukturen mittels geeigneter Werkzeuge in Code zu gießen und dort, wo sie benötigt werden, auf ­Knopfdruck zuverlässig bereitzustellen. ­„Alles, was man automatisieren kann, das sollte man auch automatisieren.“ Denn dadurch erhöhen Unternehmen die Schlagzahl, mit der sie neue ­Lösungen entwickeln und in Produktion nehmen. „IaC versetzt Entwicklungsabteilungen in die Lage, Software im DevOps-Modell zu realisieren und anschließend sofort zu betreiben.“

IaC als Standard

Für solche agilen Verfahren nutzen viele Unternehmen bevorzugt Plattformen der Hyperscaler, weil sie dort Ressourcen ­unverzüglich und nach Bedarf beziehen können. Tatsächlich bilden DevOps und Cloud inzwischen in vielen Köpfen eine Einheit. Der Stuttgarter Dienstleister Zoi setzt mit IaC indes schon einen Schritt vorher an. „Sobald uns ein Kunde damit beauftragt, Teile seiner IT zu einem ­Hyperscaler zu migrieren, schlagen wir ihm das Konzept vor“, berichtet Benjamin Hermann, Geschäftsführer bei Zoi. „Das ist bei uns Standard.“ Die Schwaben ­gehen so bereits seit einigen Jahren vor, weil IaC aus ihrer Sicht die einzige Möglichkeit ist, Cloud-Szenarien sinnvoll zu dokumentieren. „Uns wurde früh klar, dass wir eine automatisierte Lösung mit Versionierung brauchen, die die ganze Dynamik der Cloud abbilden kann.“

Benjamin Hermann, Geschäftsführer bei Zoi: Man kann die Cloud nicht per Hand managen.
Benjamin Hermann, Geschäftsführer bei Zoi: Man kann die Cloud nicht per Hand managen.
(Bild: Zoi)

Der Code ist die Dokumentation – nach diesem Prinzip hilft Zoi den Kunden, ­ihre Workloads auf den Plattformen von AWS, Google oder Microsoft sicher und effizient zu betreiben. Vor allem die Bereitstellung und Skalierung von Ressourcen ebenso wie das An- und Abschalten von Instanzen, um Kosten zu senken, werden so automatisiert. „Man kann die Cloud nicht per Hand managen“, betont Hermann. ­Jeder IT-Manager wisse heute, dass Cloud-Nutzung zu einem Wildwuchs führen kann. „Indem man seine produktiven Szenarien nur über Code bedient, bringt man Struktur und eine versionssichere Dokumentation hinein.“

Die Welle schwappt zurück

Ein frappierendes Erlebnis hatte der Zoi-Geschäftsführer, als ihn ein Kunde nach der Migration eines Legacy-Rechenzentrums in die Cloud darum bat, IaC auch in dessen On-Premises-Umgebung einzuführen. Tatsächlich ist das möglich, da viele Technologieanbieter inzwischen die gängigen IaC-Tools unterstützen. Und so half der auf Multicloud fokussierte Dienstleister dem Traditionsunternehmen dabei, seine klassische IT-Infrastruktur mit Hilfe des Konzepts zu automatisieren. „Mich fasziniert immer noch, wie eine Technologie und Methodik, die in der Cloud groß geworden ist, zurückschwappt in die Legacy-Welt.“

Historisch betrachtet geht der Ursprung von IaC allerdings auf die Zeit, bevor die Cloud aufkam, zurück. Die technologischen Wurzeln des Ansatzes liegen im Configuration Management. Als erstes IaC-Tool gilt das Open-Source-Produkt CFEngine, das ­bereits 1993 zur automatisierten Konfiguration von Unix-Servern entwickelt wurde. Auch mit der jüngeren Generation von Tools, zu der Ansible, Chef, Puppet oder Saltstack (siehe „Ergänzendes zum Thema“) gehören, lassen sich nicht nur Cloud-Instanzen, sondern auch Vor-Ort-Systeme konfigurieren und managen. Die Welle, mit der sich IaC in den Reihen von Administratoren und Entwicklern etabliert hat, wurde jedoch durch das Aufkommen von IaaS und DevOps ausgelöst. Somit trifft zu, dass das Konzept „in der Cloud groß geworden“ ist.

Ergänzendes zum Thema
Von der Konfiguration zur Orchestrierung

Bei Infrastructure as Code (IaC) handelt es sich um eine Weiterentwicklung des Konfigura­tionsmanagements. Tools wie Puppet, Chef, Saltstack oder Ansible wurden entwickelt, um die Konfiguration von Servern zu automatisieren. Sie entstanden zwischen 2005 und 2012 als Open-Source-Projekte, hinter denen kommerzielle Firmen stehen. Ansible wurde 2015 von Red Hat, Chef und Salt in diesem Jahr von Progress beziehungsweise VMware übernommen. Vom Prinzip her basieren die Werkzeuge auf einer Sprachsyntax, mit der man den ­Zustand von Servern definiert, der dann beliebig vielen Maschinen zugewiesen werden kann. Dabei verfolgen die einen Lösungen ­einen deklarativen Ansatz, bei dem der erwünschte Konfigurationszustand beschrieben und durch die Software herbeigeführt wird, während die anderen instruktiv vorgehen und die einzelnen Befehlsschritte vorgeben.

Eine Ebene über den Konfigurations- sind die Orchestrierungs-Tools angesiedelt, mit denen die Bereitstellung von Infrastrukturstacks (Server, Storage, Netzwerk, Firewall, Load­balancer, Datenbanken etc.) automatisiert wird. Sie koordinieren das Zusammenspiel zwischen den Systemgruppen. Konfigurations­werkzeuge verfügen bis zu einem gewissen Grad ebenfalls über Orchestrierungsfunktionen. In der Praxis werden oft beide Arten von Tools zusammen eingesetzt. Eine verbreitete Orchestrierungslösung ist das Open-­Source-Produkt Terraform, hinter dem die Firma ­Hashicorp steht. Mit AWS Cloudformation, Azure Resource Manager und Google Cloud Deployment Manager bieten die Hyperscaler vergleichbare Tools an, deren Einsatz aber auf anbieterspezifische Umgebungen beschränkt ist. Um Hybrid- oder Multi-Cloud-Szenarien zu managen, sind Anwender auf unabhängige Lösungen wie Terraform angewiesen.

Nichtsdestotrotz ergibt es Sinn, damit auch On-Premises-Infrastrukturen zu automatisieren, wie das der Zoi-Kunde inzwischen tut. „Viele Unternehmen halten immer noch am guten alten Hey-Joe-Prinzip fest, auch wenn sie längst wissen, dass das nicht ideal ist“, beobachtet Hermann. „IaC zwingt sie durch das strukturierte Vorgehen zu einer Selbstdisziplinierung.“ Ein Hindernis für die Umsetzung des Ansatzes erkennt der erfahrene Consultant darin, dass Infrastrukturen, insbesondere im Mittelstand, meist historisch gewachsen und recht heterogen sind. Um Prozessketten durchgängig ­automatisieren zu können, müssen sich alle involvierten IT-Komponenten durch IaC-Tools ansteuern lassen, weil sonst doch manuelle Eingriffe nötig sind.

Kulturelle Herausforderung

In der Technologie sieht SVA-Managerin Mück allerdings nicht das Problem, an der eine Automatisierung von IT-Infrastrukturen scheitern könnte. Nach ihrer Einschätzung muss heute jeder Anbieter von Datacenter-Produkten die offenen Standards unterstützen, die sich für IaC herausgebildet haben, wenn er weiterhin für den Markt relevant bleiben will. „Die eigentliche Herausforderung liegt weniger auf der technischen, als auf der organisatorischen und kulturellen Ebene.“ Die Automatisierung ganzer Prozessketten betreffe in Unternehmen so viele verschiedene Fachbereiche, dass man die Silos in der Organisation aufbrechen und konsequent abteilungsübergreifend denken müsse. Schon die Einführung hyperkonvergenter Infrastrukturen sei bei Kunden nicht immer ganz einfach gewesen. „Umso schwieriger ist es, ein Rechenzentrum durchgängig zu automatisieren.“ Wer das plane, brauche Zeit und ein umfassendes Konzept, das auch die kulturellen Aspekte berücksichtigt.

Tatsächlich fangen Unternehmen, was Automatisierung angeht, oft nicht bei null an, wie die Expertin beobachtet. „Bei vielen unserer Kunden haben Administratoren bereits Skripte entwickelt, mit denen sie einzelne Systemgruppen managen.“ An dem Punkt könne man mit IaC-Werkzeugen ansetzen, um das Thema auf einer höheren Abstraktionsebene weiter voranzutreiben. Einige wenige, die Vorreiter unter den SVA-Kunden, seien dabei sogar schon beeindruckend weit.

Ganzheitlicher Ansatz

Die Automatisierung von Infrastrukturen wird aus Sicht von PlusServer-Manager Weigmann primär durch den Fachkräftemangel gebremst. Denn die Tools dafür stehen bereit. „Die Frage lautet: Bekommen Unternehmen genügend Fachleute, die diese Tools auch beherrschen und anwenden können?“ Davon hänge ab, ob sie schnell genug sind, die nächsten Schritte in Angriff zu nehmen. Dabei muss Automatisierung dem Hosting-Profi zufolge ganzheitlich angegangen werden, nicht nur mit Blick auf die Teile der IT, die in der Cloud laufen. „Für uns ist Hybrid IT ein essenzielles Thema.“ Der Graben zwischen der Legacy-Welt und der neuen Welt dürfe nicht zu groß werden.

Gerade im Mittelstand gebe es einzigartige Infrastrukturen, die in der Vergangenheit ihre Berechtigung hatten. „Aber man wird diese Dinge anfassen und verändern müssen.“ IaC könne dort zur notwendigen Standardisierung beitragen. Dadurch steigern Unternehmen ihr Tempo, weil Entwickler nicht mehr auf die IT warten müssen, und zugleich senken sie ihr Betriebsrisiko, weil alles das, was einmal als Template angelegt wurde, mit ­Sicherheit immer wieder funktioniert, fasst Weigmann den Nutzen zusammen. Und nicht zuletzt erhöhen sie durch Automatisierung – heute so wichtig wie vor Jahrzehnten – ihre Effizienz.

(ID:46931967)

Über den Autor

 Michael Hase

Michael Hase

Chefreporter