BLOG

Serverlos = Betrieb auf Autopilot

Lori MacVittie Miniaturbild
Lori MacVittie
Veröffentlicht am 31. Juli 2017

Sie benötigen eine Plattform für Automatisierung und Orchestrierung. Serverlos könnte genau das sein, wonach Sie gesucht haben.

Serverlos (auch bekannt als Function as a Service) steckt noch in den Kinderschuhen. Und jede neue Technologie muss sich in der Regel der Frage stellen: „Aber wozu ist sie gut?“ Dies gilt insbesondere in einer Zeit, in der fast täglich neue Entwicklungen oder Technologien unsere Aufmerksamkeit fordern.

Die typischen Anwendungsfälle für Serverless drehen sich um die Fähigkeit, die Leistung der Cloud für bestimmte Arten von Workloads wie Bildverarbeitung oder Data Mining zu nutzen. Aber es gibt heute Organisationen, die Serverless für, sagen wir mal, unattraktivere Zwecke nutzen, etwa zur Automatisierung von Vorgängen.

Ich könnte sogar behaupten (und ich denke, das werde ich tun, weil ich selbst es bin), dass der serverlose Ansatz heutzutage vielleicht eines der effizientesten Mittel zur Automatisierung von Vorgängen ist. Hier sind vier Gründe, warum ich Ihnen vorschlage, Serverless als Plattform zur Automatisierung von Vorgängen ernsthaft in Betracht zu ziehen.

verallgemeinerte serverlose Architektur

1. Es ist ereignisgesteuert

In einem ereignisgesteuerten System führen Aktionen dazu, dass Dinge passieren. Ereignisse (manchmal auch Aktionen genannt) können auf verschiedene Weise ausgelöst werden, werden aber höchstwahrscheinlich über einen REST-API-Aufruf entweder über eine Befehlszeile (denken Sie an „curl“) oder über eine einfache Weboberfläche aufgerufen. Hierzu gehören Aufgaben wie die Bereitstellung eines Dienstes, das Aktualisieren einer Konfiguration oder das Deaktivieren einer Firewall-Regel. Grundsätzlich wird die Bereitstellung von Anwendungen in der Produktion – und anschließend der erforderlichen Netzwerk- und App-Dienste – in eine Reihe von „Aktionen“ zerlegt. Viele Aktionen in der Pipeline werden durch den Abschluss einer vorherigen Aktion ausgelöst, was sich gut auf „Aktionssequenz“-Konzepte in serverlosen Umgebungen wie OpenWhisk abbilden lässt. Bei der Bereitstellungsorchestrierung handelt es sich letztendlich um die Automatisierung eines Prozesses, der aus vielen kleineren, einzelnen automatisierten Aufgaben besteht. Jeder von ihnen könnte ordnungsgemäß durch einen API-Aufruf in einer serverlosen Umgebung dargestellt werden, wobei ein übergreifender API-Aufruf die gesamte Sequenz initiiert.

2. Es fördert Infrastruktur als Code und Wiederverwendung

Vorlagen und Skripte passen zum Konzept der Infrastruktur als Code, aber ein serverloses System würde dieses Kriterium existentiell erfüllen. Dadurch wird die Wiederverwendung von Bereitstellungsartefakten und -konstrukten weiter gefördert, indem diese als in den Prozess eingefügter Code gekapselt werden. Das bedeutet vorhersehbare, wiederholbare und konsistente Prozesse, die im Laufe der Zeit gemessen und optimiert werden können. Der Ansatz „eine Aufgabe, eine Funktion“ fördert die Zusammensetzbarkeit noch weiter und ermöglicht eine flüssigere Erstellung des Prozesses, der leicht durch Einfügen verschiedener Funktionen auf Basis einer dynamisch generierten Pipeline gesteuert werden kann.

3. Es ist „serverlos“

Mittlerweile wissen wir alle, dass „serverlos“ nicht buchstäblich „ohne Server“ bedeutet. Aber dasselbe Konzept – dass die zugrunde liegende Hardware- (und Software-)Infrastruktur für die Benutzer „unsichtbar“ ist –, das es für Entwickler attraktiv macht, sollte es auch für den Infrastruktur- und Netzwerkbetrieb attraktiv machen. Denken Sie daran: Wenn Sie mit der Automatisierung und Orchestrierung der Bereitstellungspipeline beginnen, benötigen Sie Software und Systeme zur Verwaltung. Das bedeutet, dass Server und Software lizenziert, gewartet, verwaltet, skaliert und gesichert werden müssen – Sie wissen schon. Sie wissen bereits, wie aufwändig die Verwaltung verbraucherorientierter Apps ist. Stellen Sie sich dasselbe für betriebsorientierte Apps vor. Eine serverlose Infrastruktur bietet, sobald sie eingerichtet ist, eine konsistente Plattform, auf der Sie eine beliebige Anzahl von Workflows erstellen können, ohne sich um die zugrunde liegende Infrastruktur kümmern zu müssen. Das bedeutet, dass die gleichen Vorteile, die Serverless für Entwickler attraktiv macht, auch im Betrieb erzielt werden können.

4. Es ist alles poly 

Sie fragen sich vielleicht: „Was zum Teufel hat das damit zu tun?“ Nun, lass es mich dir erzählen. Kein Rechenzentrum läuft auf einer heterogenen Infrastruktur und selbst innerhalb der Teilmenge eines einzelnen Anbieters verwenden Unternehmen mehrere Modelle und Versionen von Hardware und Software. Zu den Herausforderungen für Unternehmen gehört die Verwaltung der Geräte- und Versionsvielfalt in der gesamten Umgebung. Die meisten serverlosen Umgebungen unterstützen bereits eine Vielzahl von Sprachen und Tool-Sets (eine Aktion kann in Python geschrieben werden, eine andere in node.js) sowie „bildbasierte“ Aktionen, bei denen es sich um Container handelt, die, nun ja, was auch immer ausführen. In einer Welt, in der Sie einen Prozess orchestrieren müssen, der aus Aufgaben besteht, die die Automatisierung einer so großen Vielfalt von Systemen beinhalten, ist die Möglichkeit, das Tool zu verwenden, das am besten funktioniert (und möglicherweise das einzige), ein Segen für den Betrieb.

Der Punkt ist, dass im Gegensatz zu den meisten Anwendungen, auf die sowohl Privat- als auch Unternehmensbenutzer ständig zugreifen und die sie verwenden, Betriebsaufgaben nur selten und manchmal (auch wenn wir das nicht gerne zugeben) ohne große Vorwarnung als Reaktion auf Sicherheits- oder Verfügbarkeitsvorfälle in der weiteren Umgebung ausgeführt werden. Das bedeutet, dass ein ereignisgesteuertes System wie Serverless gut geeignet zu sein scheint. Es bietet eine „Always-On“-Plattform, die eine große Bandbreite an Aufgaben über das gesamte Betriebsspektrum hinweg ausführen kann. In einer Minute führt es möglicherweise eine sicherheitsrelevante Aufgabe aus – die Aktualisierung einer Firewall-Regel. Im nächsten Schritt wird möglicherweise eine Aktion ausgelöst, um als Reaktion auf einen Zero-Day-Exploit, der sofort behoben werden muss, einen neuen App-Dienst – beispielsweise eine WAF – in den Datenpfad einer Anwendung einzufügen. Dieselbe Plattform kann den Mechanismus bereitstellen, um praktisch jede erforderliche Betriebsaufgabe auf automatisierte und erweiterbare Weise auszuführen.

Ereignisse können sogar durch die Ticketerstellung oder einen Bot-Befehl von einem ChatOps-fähigen System wie Slack ausgelöst werden und automatisch die erforderlichen Informationen aus dem Ticket oder Befehl abrufen, um sie zu verwenden, wenn die entsprechenden Aktionen zum Abschließen der Aufgabe aufgerufen werden.

Serverless richtet sich an Entwickler, stellt aufgrund der zugrundeliegenden Prinzipien und Mechanismen jedoch eine attraktive Alternative zum Aufbau eigener operativer Orchestrierungssysteme oder zum Vertrauen auf einen lose gekoppelten Satz von Systemen dar, die ihre eigenen Integrations- und Betriebsherausforderungen mit sich bringen.

Wenn Sie mit der Automatisierung Ihrer Betriebsabläufe noch am Anfang stehen, sollten Sie sich serverlose Plattformen für Unternehmen genauer ansehen, um zu prüfen, inwieweit diese Ihren Anforderungen entsprechen.