Wie bitte? Jetzt geht die Datenverarbeitung in der Cloud sogar ohne Server? Wie soll das denn gehen? Erleben wir gerade das Szenario für einen zukünftigen Nobelpreis?

Nein, natürlich nicht. Das wäre dann doch zu schön. Aber mit Serverless Computing ergeben sich in der Tat sehr interessante Möglichkeiten, hochflexible und dennoch kostenreduzierende Lösungen zu realisieren. Von daher lohnt es, sich die Möglichkeiten des Serverless Computing einmal genauer anzuschauen.

Was ist Serverless Computing?

Oft wird Serverless Computing auch mit Function-as-a-Service (FaaS) bezeichnet, eine Bezeichnung, die vielleicht weniger irreführend ist. Serverless Computing oder FaaS kann man als eine von mehreren Bereitstellungsarten von Cloud-Services betrachten.

Ein Merkmal der Bereitstellungsart FaaS ist eine gegenüber Infrastructure-as-a-Service (IaaS) oder Platform-as-a-Service (PaaS) noch weiter getriebene Übernahme von Verantwortlichkeit durch den Provider. In dem Fall von FaaS muss sich der Cloud-Kunde nicht mehr um die technische Abbildung der gewünschten Funktionalität in der Cloud kümmern. Dies liegt gänzlich im Verantwortungsbereich des Providers. Der Kunde kann sich komplett auf die Funktionslogik fokussieren.

Dazu gesellen sich Abrechnungskriterien, die sich nach der Anzahl der Funktionsaufrufe, dem Speicherbedarf und der Ausführungszeit in Sekunden richten. Zusätzlich gibt es Beschränkungen hinsichtlich der erlaubten CPU-Zeit und dem verwendeten Speicher pro Funktionsaufruf.

Serverless Computing: die technische Sicht

Serverless Computing ist aber viel mehr als nur eine andere Bereitstellungsart. Technisch gesehen basiert Serverless Computing unter der Haube z.B. auf Micro-VMs (minimale virtuelle Maschinen), die automatisch nach Bedarf gestartet werden. Dabei liegt die sogenannte Kaltstartzeit im Millisekundenbereich. Nach Bedarf heißt hier bei einem Aufruf der Funktion.

Die einzige Aufgabe des gestarteten Micro-VMs ist die Ausführung der Funktion. Erfolgen mehr Funktionsaufrufe, werden also mehr Micro-VMs gestartet. Diese Skalierung ist automatisch und unbegrenzt und erfolgt ohne weiteres Zutun oder Konfiguration durch den Kunden.

Die Micro-VMs werden aber nicht nur automatisch nach Bedarf gestartet. Wenn sie ihre Funktion ausgeführt haben, werden sie auch automatisch wieder heruntergefahren. Das sorgt dafür, dass die verbrauchten und zu bezahlenden Ressourcen möglichst klein gehalten werden.

Bei so viel Automatisierung, wie steuert man denn das Ganze? Die Steuerung erfolgt über Events. Events werden verwendet, um flexible Kopplungen zwischen Anwendungen aufzubauen. Bei Serverless Computing werden z.B. weit verbreitete Event-Streaming-Plattformen wie Apache Kafka unterstützt. Diese Plattformen werden schon in privaten Rechenzentren für die Realisierung von verteilten Anwendungen auf Microservice-Architektur eingesetzt. Die eventgesteuerte Architektur von Serverless Computing bietet eine sehr leistungsstarke und effiziente Möglichkeit, Microservices mit all ihren Vorteilen auch in der Cloud zu implementieren.

Gibt es einen Haken?

Bei so viel positiven Eigenschaften gibt es auch Punkte, die man im Blick haben und deren Risiken man abwägen muss. Am häufigsten wird bei Kunden das Risiko eines Vendor Lock-ins genannt. Die Angebote für Serverless Computing sind in der Regel proprietär. Die dort entwickelten Lösungen lassen sich also aufgrund fehlender Standardisierung nicht ohne weiteres auf die Serverless-Plattform eines anderen Anbieters transferieren. Durch eine sorgfältige Planung, geschickte Programmierung und die Verwendung von Standards lassen sich diese Risiken aber relativieren.

Die Hauptaufwände bei Serverless Computing stecken in der Entwicklung des Codes für die einzelnen Funktionen. Durch die Wahl einer Programmiersprache, die bei vielen Anbietern unterstützt wird, lassen sich die Migrationskosten schon drastisch reduzieren. Auf der API-Ebene kann man zusätzlich die Aufrufe ins Serverless Computing mit dem Vendor-API geschickt kapseln. Dadurch lässt sich der Austausch dieser Aufrufe gegen die entsprechenden Aufrufe des neuen Anbieters deutlich vereinfachen.

Auch die Verwendung des Open-Source-Standards Apache Kafka als Event-Source erspart den kompletten Neuaufbau der Event-Infrastruktur, da Kafka bei den Cloudanbietern sehr verbreitet ist.

Und wofür kann man Serverless Computing in der Finanzwelt nutzen?

Gute Kandidaten sind Funktionen, die nicht dauerhaft laufen, sondern eventgesteuert bei Bedarf gestartet werden. Auch bei Funktionen, die aufgrund hoher Spitzenlasten in den Batchbetrieb ausgelagert werden, kann Serverless Computing mit der automatischen Skalierung eine deutliche Verringerung der Laufzeiten ermöglichen. Berechnungen im Kontext Marktpreisrisiko und Rating oder auch Funktionen aus dem Bereich Document Management Services sind weitere Anwendungsmöglichkeiten. Ganz allgemein wird Serverless Computing in den folgenden Bereichen erfolgreich eingesetzt:

  • Autoskalierende Webseiten und APIs
  • Datenverarbeitung/-transformation bei Datenupload
  • Datenbankänderungen oder Datentransformation
  • Batch Jobs, die eine starke Parallelverarbeitung, IO oder Netzwerk brauchen
  • Datenstromverarbeitung
  • IT Automation, CI/CD

Firmen, die Serverless Computing einsetzen, berichten von teils erheblichen Kostenersparnissen bei gleichzeitig geringeren Wartungskosten gegenüber klassischen VMs in der Cloud und zusätzlicher automatischer Skalierung.

Fazit

Man sieht, Serverless Computing ist zwar kein Allheilmittel und nicht jede Anwendung eignet sich für die Umstellung auf Serverless. Allerdings gibt es sehr viele Anwendungen und Bereiche bei Banken und Finanzdienstleistern, die sich sehr wohl für eine moderne Microservice-basierte, skalierbare, performante und zugleich kostensparende und wartungsarme Umsetzung auf einer Serverless-Computing-Plattform eignen.

Wie bei allem ist eine gute Planung essenziell. Lassen Sie uns Ihre Ideen gemeinsam besprechen und die beste Lösung für Sie herausarbeiten. Als Bankenexperten verstehen wir bei PPI sowohl die bankfachlichen Fragestellungen als auch die technischen Herausforderungen in der Cloud. Sprechen Sie uns an!

PPI AG: Cloud Banking

Gast-Autor: Francis Wolf

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

  +  9  =  16

Verwandte Artikel