Serverless-Infrastrukturen Teil 2 – Über Opa Cloud und Enkel Serverless

  • Serverless-Infrastrukturen bieten weit mehr als die reine Ausführung von Funktionen oder Microservices
  • Serverless-Infrastrukturen bieten finanzielle Vorteile und erhalten dabei die Portierbarkeit
  • Serverless-Angebote werden sich noch erheblich deutlicher in das Portfolio der Cloud-Anbieter integrieren und bilden damit die nächste Evolutionsstufe von Cloud Computing
  • Autonome und selbstheilende Infrastrukturlandschaften bilden die Basis für digitale Produkte und Dienste, die mit dem Kunden schon beinahe eine Symbiose bilden

Im ersten Teil über Serverless-Infrastrukturen haben wir die Vor- und Nachteile, sowie die grundsätzliche Funktionsweise beleuchtet. Doch wie baue ich damit komplexe und hochperformante Systemarchitekturen - und warum? Beginnen wir mit dem Ausflug in die Welt der Cloud Adaption.

Ist der Opa Cloud kurz vorm Aussterben?

Cloud Computing ist in Deutschland und in den Unternehmen weltweit angekommen. Bereits 75 Prozent, der von uns untersuchten Unternehmen, beschäftigen sich unterschiedlich stark mit Cloud Computing. Doch wie sieht das bereits zehn Jahre alte - genau sie haben richtig gelesen - zehn Jahre alte Cloud Computing Geschäft aus? Die Rolle der Architekten und der Administratoren hat sich erweitert und auf Cloud Computing-Technologien ausgeweitet. Neue Zertifizierungen und Lehrgänge sind entstanden und die Business Welt wächst in dieses Geschäft hinein. Doch damit hat sich die Auseinandersetzung mit Netzwerken, Servern und Firewalls nicht sonderlich verlagert. Die Themen stehen immer noch hoch im Kurs und die 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 Cloud Adaption oder Automatisierung next level

Die coolen Kids - also die Enkel, um bei der Metapher aus der Überschrift zu bleiben, spielen heute mit anderen Clouds, die sich momentan evolutionär entwickeln. Es handelt sich um eine autonome Form der Infrastrukturnutzung. Die Entwickler schreiben einen Code und führen diesen aus - und das basierend auf der Notwendigkeit (Ereignis). Dadurch sind der Betrieb und die Auseinandersetzung mit Infrastruktur obsolet und 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-Infrastruktur sein kann, zeigte u.a. ein, aus einem Mittagsplausch entstandener 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 6O 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, dann sind wir hier in einem Bereich, der In-Memory-Geschwindigkeiten nahe kommt. Dies zeigt, dass Potential, welches in dieser neuen Art von Diensten bereitstellen kann. Einige Cloud-Anbieter nutzen daher auch dieses Potential für Szenarien, in denen viel Traffic erzeugt wird und bieten darauf basierend eigene Dienste an. Paradebeispiel ist hier der Use Case IoT. Klar ist, dass der Cloud-Anbieter hier auch viel beim eigenen Betrieb sparen kann, denn die Kosten für einen möglichst autonomen Betrieb sind deutlich geringer und weniger fehleranfällig, als ein Prozess mit manueller Intervention. 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 oder spezielle Computer und andere Ressourcen Commodity geworden sind, muss nichts mehr repariert werden. Der eine geht ein anderer steht.

Design vom Kunden zur Infrastruktur

Die neuen digitalen Geschäftsmodell erzwingen eine sehr nahe und personalisierte Kundenimplementierung. Der Dienst oder das Angebot muss dafür immer und überall zur Verfügung stehen - und zwar genau dann, wenn der Kunde diese Dienste benötigt. Da Kunden das Nutzungsverhalten und auch die Interessen wechseln, muss sich auch die Anwendunge dynamisch mitentwicklen und damit auch die Infrasturktur. Komplizierte und komplexe Systeme können nur noch hoch automatisiert betrieben werden. Denn die Komplexität ist riesig geworden.

Quelle: https://www.slideshare.net/BruceWong3/the-case-for-chaos

Damit wird aber 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

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.

Quelle: https://cloud.google.com/serverless

Was man im kleinen Beispiel starten kann, wie zum Beispiel der Speicherung von Daten in der Cloud, wird schnell zu einer großen Architektur, bei welcher ich mich nicht um viel Sorgen muss. Es funktioniert einfach. Ein schönes Beispiel sind die IoT-Angebote der Cloud-Anbieter. Hier, am Beispiel von Cloud IoT Core schön zu sehen, ist die vollkommene Abwesenheit von Servern, die man direkt manipulieren, konfigurieren, betreiben, …. muss. Kombiniert man dies mit Technologien, wie beispielsweise Kubernetes oder DC/OC und Container Technologie, dann bekommt man schnell eine sehr leistungsstarke und selbstheilende Infrastruktur.

Quelle: https://cloud.google.com/iot-core

Handlungsempfehlungen für alle Generationen

Wie sollten 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.

Opa Cloud:

Hersteller und Anwender sollten sich gewiss sein, dass die Notwendigkeit der “traditionellen” und klassischen Cloud zwar noch vorhanden ist in den nächsten Jahren, aber diese über die Zeit verblassen wird.

Mutter Cloud:

Das Bindeglied zwischen beiden Welten. Die Anbieter durchlaufen bereits die Transformation, die von der nachfolgenden Generation der Cloud dann gelebt und umgesetzt wird. Doch auf der Anbieterseite ist noch viel zu tun, damit alle Dienste im eigenen Portfolio auch einem Serverless-Ansatz Rechnung tragen. Für die Anwender heißt es zu lernen sich auf die neuen Dienst entsprechend einstellen zu können. Dazu ist es notwendig die verteilte Ausführung von Code zu trainieren und zu verstehen, die Zustandslosigkeit der einzelnen Funktionen zu beachten und auch den Umgang mit Daten und deren Sensibilität - gerade bei geteilten Ressourcen - zu beherzigen.

Enkel Serverless:

Nun, ob es noch Cloud ist, das gilt freilich wieder zu diskutieren. Auch der Name ist natürlich wieder nicht ideal. Dennoch ist die Art, wie Infrastrukturen und Dienste zukünftig genutzt werden, deutlich näher in einer Welt zu finden, in der keine Zeit mehr auf Server verschwendet wird. Ähnlich wie mit der Generation, die keinen Wählscheibentelefon mehr kennt, so wird diese Generation schwerlich den alten Cloud-Betrieb nachvollziehen können - und das ist auch gut so.

Wenn man bei den eigenen Vorhaben (Betrieb, Anwendungsentwicklung und Co.) bislang nur Infrastruktur auf dem Plan hatte, dann überspringen Sie besser alle diese Generationen und lernen direkt vom Enkel.