WrightStudio - stock.adobe.com
Event-driven Automation automatisiert die Automatisierung
Automatisierungsplattformen entlasten Admins und vereinfachen Prozesse. Noch mehr Freiräume schafft Event-driven Automation. Dieser Ansatz ermöglicht vollautomatische IT-Verwaltung.
Administratoren haben es nicht leicht. Immer aufwendigere Anwendungen und wachsende Datenmengen benötigen größere IT-Infrastrukturen. Auch das Cloud-Zeitalter fordert seinen Tribut. Plötzlich müssen sich Admins mit Hybrid- und Multi-Cloud-Szenarien auseinandersetzen, die das ohnehin schon hohe Komplexitätslevel sprichwörtlich in die Stratosphäre schnellen lassen. Und als wäre das nicht genug, ist der Hunger nach Fachkräften so groß wie nie. Da der Markt diesen Bedarf aber nicht decken kann, herrscht ein konstanter Personalmangel, der in vielen Unternehmen wiederum zur Überlastung der IT-Operations-Abteilungen führt.
Eine weitere Herausforderung stellt der Zeitdruck dar. Kein Unternehmen kann es sich mehr leisten, auf den Anschluss neuer Server und Clients oder das Aufspielen von Software monatelang zu warten. Mangelt es allerdings an Personalressourcen oder sind die Infrastrukturen zu groß für die manuelle Verwaltung, lässt sich das nicht vermeiden. Im Falle von Patches und Updates ist der Faktor Zeit auch eine Frage der Sicherheit: Je länger Sicherheitslücken offen sind, desto größer ist das Risiko.
Automatisierungsplattformen verändern alles
Die Lösung für diese und weitere Probleme ist die strategische Automatisierung der IT. Gemeint ist, nicht nur punktuell einige wenige Prozesse zu automatisieren, sondern möglichst breitflächig und unternehmensweit. Das Mittel zum Zweck sind auf technischer Seite Automatisierungsplattformen: sie automatisieren redundante administrative Arbeitsschritte und Steuerungsprozesse für Hard- und Software. Dadurch entlasten sie die Administratoren und schaffen so Freiheiten, sich um wertschöpfendere Aufgaben zu kümmern.
Die besten Ergebnisse in Sachen Automatisierung erzielen erfahrungsgemäß jene Plattformen, die eine modularisierte Architektur haben und über Programmierschnittstellen (APIs) kommunizieren. Deutlich im Vorteil sind hier Plattformen, die als Open-Source-Software verfügbar sind, da dann Module für viele Anwendungen und Geräte aus der Community kommen. Ein gutes Beispiel für ein Automatisierungs-Tool, das Modularisierung und Open-Source-Verfügbarkeit vereint und dessen Anbieter bei Bedarf auch professionellen Support bietet, ist die Ansible Automation Platform. Die Automatisierung läuft bei ihr über sogenannte Playbooks, die die Administratoren in der Auszeichnungssprache YAMLschreiben. Darin definieren sie zum Beispiel sämtliche Arbeitsschritte, um einen Patch auf beliebig vielen Linux-Systemen zu installieren. Einmal angelegt, können die Nutzer diesen Prozess immer wieder auf Knopfdruck durchführen, etwa wenn der nächste Patch verfügbar ist.
Der zentrale Vorteil von Automatisierungsplattformen ist, dass nicht nur IT-Fachleute sie bedienen können. Über eine grafische Benutzeroberfläche, die zum Standardrepertoire gehört, gelingt das auch technikaffinen Laien. Automatisierungsplattformen richten sich neben IT-Administratoren auch an Entwicklerinnen und Entwickler: Oft testen sie neue Softwareversionen, wofür sie isolierte Server- oder Cloud-Instanzen benötigen, die sie einrichten und ausrollen müssen. Anschließend ist es nötig, die Software auf das System zu schieben und dort zu installieren. All diese Arbeitsschritte könnten sie über das User Interface der Automatisierungsplattform mit einem Klick durchführen, sofern das entsprechende Playbook vorhanden ist. Überdies lassen sich diese Testinstanzen ebenfalls mit einem Klick wieder herunterfahren, was insbesondere im Cloud-Kontext wichtig ist, um keine unnötigen Kosten zu verursachen.
Event-driven Automation setzt neue Maßstäbe
Die Automatisierung via Modul (oder Playbook im Falle von Ansible) ist bereits ein wichtiger erster Schritt, allerdings ist sie proaktiv. Das heißt, die Ausführung der automatisierten Prozesse muss der User selbst anstoßen. In der IT-Administration gibt es jedoch immer wieder eine ganze Reihe von Vorkommnissen, sogenannte Events, auf die IT-Administratoren zeitnah reagieren sollten. Oft ist die nötige Reaktion (oder Action) nichts anderes als eben die Ausführung einer Reihe von Prozessen, die auch automatisiert ablaufen könnten. An dieser Stelle kommt die Event-basierte Automatisierung ins Spiel.
Um Event-driven Automation zu ermöglichen, benötigen Automatisierungsplattformen zunächst einen Event Listener. Diese Komponente ist in der Lage, Events zu verarbeiten, die Drittanbietertools generieren. In Ansible heißen diese Anwendungen Sources und die Plattform unterstützt nativ bereits Tools wie Prometheus, Sensu, Apache Kafka und diverse andere Software-Lösungen, wobei die Liste stetig länger wird. Auch Webhooks, also HTTP-basierte Kommunikationsfunktionen für (Webserver, sind als Source nutzbar. Da es sich bei Ansible um Open-Source-Software handelt, ist es für Developer möglich, auch andere Tools zu implementieren.
Ein Rulebook für alles
Wie die Automatisierungsplattform auf ein Event reagieren soll, legen Admins im Falle von Ansible via Rulebook fest. Sie sind Playbooks sehr ähnlich und enthalten ebenfalls in YAML geschriebene Anweisungen, folgen aber einem strikten Wenn-dies-dann-das-Modell (If this than that). Die möglichen Reaktionen auf ein Event heißen in Ansible Actions. Sie können zum Beispiel ein Playbook aufrufen und die Ausführung der darin enthaltenen Prozesse automatisch auslösen.
„Automatisierungsplattformen entlasten Administratoren und vereinfachen die Prozesse. Noch mehr Freiräume schafft Event-driven Automation. Mit diesem Ansatz kommen Unternehmen einer vollautomatischen Verwaltung der IT-Infrastruktur bedeutend näher.“
Götz Rieger, Red Hat
Die Fortführung des Beispiels eines Entwicklers, der eine Testinstanz aufsetzt, eignet sich, um das Prinzip zu verdeutlichen: Ein Monitoring-Tool könnte beispielsweise die Information an die Automatisierungsplattform weiterleiten, dass auf der Testinstanz keine Prozesse mehr ablaufen – der Test also abgeschlossen ist. Ist im Rulebook nun definiert, dass in diesem Fall (wenn dies) AWS die Instanz herunterfahren soll (dann das), müsste der Entwickler diesen Prozess nicht einmal selbst anstoßen. Um die gesamte temporär benötigte Testumgebung zu erschaffen und nach abgeschlossenem Testing wieder herunterzufahren, reicht in diesem Beispiel ein einziger Klick.
Natürlich müssen Administratoren die Rulebooks und Playbooks initial erstellen, aber anschließend sparen sich die Admins sehr viel Arbeit. Die Möglichkeiten, die diese Funktionalität in Automatisierungsplattformen eröffnet, sind praktisch unbegrenzt.
Über den Autor: Götz Rieger ist Principal Solution Architect bei Red Hat. Er hat über 20 Jahre Erfahrung im professionellen Einsatz von Open-Source-Software und war in diesem Bereich als System-Administrator, Consultant und IT-Architekt tätig. Er begeistert sich für alle Bereiche Linux-basierter Infrastrukturen, sein Schwerpunkt ist die IT-Automatisierung mit Ansible.