Serverless-Infrastrukturen und die Cloud

Wie Serverless-Konzepte die IT automatisieren

18.09.2017
Von 
Björn Böttcher ist Senior Analyst und Data Practice Lead bei Crisp Research mit dem Fokus auf Analytics, BI, datenbasierte Geschäftsmodelle und Künstliche Intelligenz. Mit mehr als 10 Jahren Berufserfahrung in der IT und einem wissenschaftlichen Hintergrund und Fokus stehen moderne Lösungen mit praktischem Nutzen im Fokus seiner Betrachtung.
Serverless-Infrastrukturen bieten weit mehr als die reine Ausführung von Funktionen oder Microservices. Im Cloud-Umfeld lässt sich damit der IT-Betrieb automatisieren und beschleunigen.

Im ersten Teil über Serverless-Infrastrukturen haben wir die Vor- und Nachteile, sowie die grundsätzliche Funktionsweise beleuchtet. Doch wie baut man damit komplexe und hochperformante Systemarchitekturen? Ein Ausflug in die Welt der Cloud-Adaption hilft beim Verständnis.

Stirbt die "alte" Cloud bald aus?

Cloud Computing ist in Deutschland und in den Unternehmen weltweit angekommen. Bereits 75 Prozent der von Crisp Research befragten Unternehmen beschäftigen sich in irgendeiner Weise damit. In diesem Kontext hat sich auch die Rolle der Architekten und Administratoren auf Cloud Computing-Technologien ausgeweitet. Neue Zertifizierungen und Lehrgänge sind entstanden und die Business-Welt wächst in das Cloud-Geschäft hinein. Doch damit hat sich die Auseinandersetzung mit Netzwerken, Servern und Firewalls nicht grundsätzlich verändert. Die Themen stehen immer noch hoch im Kurs und eine aktive Steuerung der Infrastruktur ist weitestgehend immer noch erforderlich. Eine Besserung ist mit der programmierten Beschreibung von Infrastrukuren in Sicht. Mittels Programmcode oder Skripten programmiert und orchestriert der "Administrator" anhand von "Infrastructure as Code"die notwendige Systemlandschaft für eine Applikation - das ist schon moderner.

Serverless-Infrastrukturen ermöglichen IT-Automation auf einer höheren Ebene.
Serverless-Infrastrukturen ermöglichen IT-Automation auf einer höheren Ebene.
Foto: Chesky - shutterstock.com

Serverless Cloud Adaption oder Automatisierung auf höherer Ebene

Die wirklich fortschrittlichen IT-Experten aber gehen anders mit dem Thema um. Beim Serverless Computing handelt sich um eine autonome Form der Infrastrukturnutzung. Die Entwickler schreiben einen Code und führen diesen aus - und das basierend auf dem Einritt von definierten Ereignissen. Dadurch werden der Betrieb von und die Auseinandersetzung mit Infrastruktur obsolet; auch die Kosten für die Nichtnutzung verschwinden zunehmend. Wir haben also keine Legosteine mehr, die zusammengepuzzelt werden müssen, sondern vielmehr das fertige Spielzeug zur direkten Nutzung.

Wie effizient diese neue Art der Nutzung auf Basis von Serverless-Infrastrukturen sein kann, zeigte etwa ein wissenschaftlich ausgerichteter Performancetest. Eric Jonas, ein Forscher am AMP Lab, hat mittels einer Python-basierten Serverless-Funktion gezeigt, dass 25 TFLOPs an Performance mit über 60 GB/sec Lesezugriff und 50 GB/sec Schreibzugriff auf einen Objectstorage, in diesem Fall AWS S3, möglich sind. Wenn man diese Zahlen ein wenig genauer in Relation setzt, sind wir hier in einem Bereich, der In-Memory-Geschwindigkeiten nahe kommt. Dies zeigt das Potenzial des Serverless-Konzepts. Einige Cloud-Anbieter nutzen es daher auch schon in Szenarien, in denen sehr viel Traffic erzeugt wird. Sie bieten darauf basierend eigene Dienste an. Ein Paradebeispiel ist hier das Internet of Things (IoT).

Natürlich können Cloud-Anbieter damit auch viel beim eigenen Betrieb sparen. Denn ein annähernd autonomer Betrieb ist deutlich kostengünstiger und weniger fehleranfällig als ein Prozess mit manueller Intervention.

Positive Effekte werden auch an einem anderen Punkt deutlich: Die MTTR (Mean time to recovery), also die mittlere Reparaturzeit eines Systems, ist seit jeher von entscheidender Bedeutung. Doch in Zeiten, in denen die Hardware und andere Ressourcen Commodity geworden sind, muss nichts mehr repariert werden. Die eine Ressource geht, eine anderer kommt.

Design vom Kunden zur Infrastruktur

Die neuen digitalen Geschäftsmodelle erzwingen ein sehr kundennahes und personalisiertes Vorgehen. Ein Dienst oder ein Angebot muss immer und überall zur Verfügung stehen - und zwar genau dann, wenn der Kunde ihn benötigt. Da sich Nutzungsverhalten und Interessen der Kunden ändern, muss sich auch die Anwendung dynamisch mitentwicklen - und damit die Infrastruktur. Damit steigt die Komplexität der IT weiter und derartige Systeme lassen sich im Grunde nur noch hochautomatisiert betreiben.

In der Folge wird auch der Job des CTO immer CFO-lastiger. Denn die Infrastruktur muss sich wie der Kunde verhalten:

  • Operative Kosten müssen auf ein Minimum gesenkt werden, um die Gewinnspanne zu erhöhen.

  • Zuverlässigkeit und Verfügbarkeit sind unabdingbar, um Geld zu verdienen.

  • Skalierbarkeit ohne großen Aufwand muss gegeben sein, um dem Kundenansturm standzuhalten.

Wie baut man Serverless Infrastrukturen?

Wie baut man nun diese Art der Infrastrukturen zusammen? Es gibt bereits erste Referenzarchitekturen bei den großen Cloud-Anbietern. Und die Anzahl wächst.

Auszug aus Googles Cloud-Portfolio mit Serverless-Funktionen.
Auszug aus Googles Cloud-Portfolio mit Serverless-Funktionen.
Foto: Quelle: https://cloud.google.com/serverless

Was man in einem kleinen Testprojekt ausprobieren kann, beispielsweise die Speicherung von Daten in der Cloud, wird schnell zu einer großen Architektur, um die man sich wenig Sorgen machen muss. Es funktioniert einfach. Ein schönes Beispiel sind die IoT-Angebote der Cloud-Anbieter. Auffallend ist hier die vollkommene Abwesenheit von Servern, die man direkt manipulieren, konfigurieren und betreiben muss. Kombiniert man dies mit Technologien wie beispielsweise Kubernetes und generell Container-Systemen, bewegt man sich schnell in Richtung einer leistungsstarken und selbstheilenden Infrastruktur.

Serverless - Handlungsempfehlungen für alle Generationen

Wie sollte man sich auf diese Evolution vorbereiten? Fakt ist: Serverless ist mehr als ein neuer Dienst im Portfolio der Cloud-Anbieter - es ist eine Evolutionsstufe der alten Cloud. Hersteller und Anwender sollten sich darüber im Klaren sein, dass die klassische Cloud zwar in den nächsten Jahren noch gebraucht wird. Ihre Bedeutung wird aber abnehmen.

Die Anbieter durchlaufen bereits eine Transformation. Dennoch ist noch viel zu tun, damit alle Dienste im Portfolio auch einem Serverless-Ansatz Rechnung tragen. Für die Anwender heißt es zu lernen, und sich auf die neuen Dienste einzustellen. Dazu ist es beispielsweise notwendig, die verteilte Ausführung von Code zu trainieren.