Die Vorteile der Cloud können nur ausgeschöpft werden, wenn sie durch automatisierte Provisionierung und Deprovisionierung, Skalierung und Selbstheilung ausgereizt werden. Dies bedeutet für Unternehmungen, dass sie in diesen Bereichen Know-How aufbauen müssen und ihre Prozesse entsprechend anpassen. Es reicht nicht mehr, manuell Software zu kompilieren und installieren.
Infrastruktur per Knopfdruck
Infrastructure as Code (IaC) bietet die Möglichkeit, die gewünschte Infrastruktur zu beschreiben und automatisiert bereitzustellen. Kein mühsames, manuelles Einrichten von virtuellen Maschinen oder fehleranfälliges Klicken durch ein Portal.
Seinen Ursprung hat IaC im DevOps-Umfeld, wo die zunehmende Geschwindigkeit von Entwicklungs- und Produktionszyklen eine höhere Automatisierung notwendig macht. Seither hat es sich als zentrale Praxis etabliert und mit der Einführung von Tools wie Terraform wird es breit genutzt. Mit dem Aufkommen der Cloud, wo Selbstbedienung ein wichtiger Pfeiler darstellt, ist es unerlässlich geworden, Ressourcen automatisiert zu provisionieren.
Dazu haben sich eine Vielzahl an Tools etabliert. Diese folgen generell zwei Ansätzen. Entweder wird der gewünschte Zustand deklarativ angegeben und so durch das Tool provisioniert oder bei einem imperativen Ansatz werden die Befehle festgehalten, welche dann auf dem Zielgerät ausgeführt werden, um den gewünschten Zustand zu erreichen. Die folgende Tabelle bietet einen Überblick:
Tool | Beschreibung | Ansatz |
Terraform | Verwaltung von Infrastruktur, mithilfe von Providern | Deklarativ |
OpenTofu | Community-Fork von Terraform, vollständig Open-Source | Deklarativ |
Pulumi | Ressourcenbereitstellung mit gängigen Programmiersprachen | Imperativ |
CloudFormation | Amazon AWS | Deklarativ |
Azure Bicep | Microsoft Azure | Deklarativ |
Deployment Manager | Google Cloud | Deklarativ |
Ansible | YAML-basierte Playbooks für Konfigurationen, Deployment und Orchestrierung | Grossteilig Deklarativ |
Chef | Codebasierte Infrastruktur- und Konfigurationsverwaltung | Imperativ |
Automatisierung in der Cloud
Während Automatisierung bereits in klassischen IT-Umgebungen etabliert ist, um effizient entwickeln und installieren zu können, bietet die Cloud die Möglichkeit, dies übergreifend einzusetzen. Von der Entwicklung über Tests bis hin zum Betrieb von Softwarelösungen lassen sich Prozesse automatisieren – inklusive Sicherheitsprüfungen und Kostenkontrolle.
Die wichtigsten Vorteile im Überblick:
Bereich | Vorteil |
Zuverlässigkeit | Da die Systeme mithilfe von Automatisierung und IaC aufgesetzt wurden, kann sichergestellt werden, dass die unterliegenden Ressourcen konsistent gemäss Vorgaben gesetzt wurden. |
Effizienz der Entwicklung | Manuelle Konfiguration wird minimiert. Anpassungen können schneller getestet und eingespielt werden. |
Kostenoptimierung | Durch die Automatisierung kann der Ressourcenbedarf besser abgeschätzt werden. Kosten können regelbasiert budgetiert und gehandhabt werden. Ressourcen können optimiert aufgesetzt werden. |
Compliance | Durch Versionskontrolle und den Wegfall manueller Konfigurationen können Anpassungen effizient geprüft werden. Zudem können Richtlinien definiert und übergreifend eingesetzt werden. |
Wandel der IT-Branche
Die Cloud verändert nicht nur Technologien und wie wir sie einsetzen. Auch die Mitarbeiter müssen sich anpassen, während früher der Fokus auf Spezialisierung lag, müssen sie sich heute immer breiter aufstellen, um die Anforderungen zu erfüllen. Schon heute prägt der Begriff DevOps die Berufsbilder, interpretiert wird dies jedoch sehr unterschiedlich. In der Cloud gewinnt er weiter an Bedeutung
Eins ist jedoch sicher, die Cloud stellt weitere Anforderungen an Entwickler und System-Administratoren. Sie müssen den neuen Anforderungen gerecht werden und den gesamten Lebenszyklus von Software kennen.
Vorbedingungen zum Erfolg in der Cloud
Um Automatisierung in der Cloud erfolgreich umzusetzen, braucht es mehr als nur Tools. Unternehmen müssen die organisatorischen Voraussetzungen schaffen, um ihre Mitarbeiter zu befähigen, die Cloud effizient aufzusetzen und den Betrieb sinnvoll zu gestalten.
Als Grundlage sollte eine fundamentierte Cloud Strategie definiert werden. Darin können die Automatisierungs-Werkzeuge, angepasste Prozesse wie auch Leitsätze zur Konfiguration und Einspielung von Hardware sowie Software festgelegt werden. Zudem müssen die Mitarbeiter aufgegleist werden, damit sie die neuen Aufgaben übernehmen können, sei dies mit Schulung oder Zeit und Ressourcen um die neuen Tätigkeiten zu lernen.
Weiterführende Links
Infrastructure as Code, IaC Tools, Cloud Automation, NIST Cloud Definition