Serverless Computing

Oft fehlt der Business-Mehrwert

31.08.2023
Von 

David Linthicum ist ein US-amerikanischer Technologieexperte und Buchautor. Zu seinen Schwerpunktthemen gehören unter anderem Cloud Computing, SOA, Enterprise Application Integration und Enterprise Architecture.

Serverless Computing ist ein beliebter Ansatz für Cloud-basierte Anwendungen. Aber er ist nicht immer die beste Lösung. Darauf müssen Sie achten.
Nicht jede Anwendung eignet sich für Serverless Computing.
Nicht jede Anwendung eignet sich für Serverless Computing.
Foto: kubais - shutterstock.com

Eine kürzlich von Datadog, einem Anbieter von Cloud-Monitoring-Diensten, veröffentlichte Analyse zeigt, dass Serverless Computing beliebter denn je ist. Unter den Datadog-Kunden nutzen mehr als 70 Prozent der AWS-Anwender, 60 Prozent der Google-Cloud-User und 49 Prozent der Microsoft-Azure-Nutzer eine oder mehrere Serverless-Lösungen nutzen.

Letztlich ist Serverless Computing ein alter Hut und gehört zum festen Bestandteil der Cloud-Entwicklung, wenn es darum geht, die beste Entwicklungsplattform für neue und migrierte Cloud-Anwendungen auszuwählen. Es ist schnell, erfordert keinen großen Aufwand bei der Infrastrukturplanung (fast keinen) und die Anwendungen scheinen gut zu funktionieren.

Also alles in Butter? Mitnichten, denn wie jede Technologie hat Serverless auch systeminterne Nachteile. Und diese Nachteile sollten Sie kennen, bevor Sie sich für eine Serverless-Lösung entscheiden.

Kaltstart-Latenz

Eines der Hauptprobleme beim serverlosen Computing ist die Kaltstart-Latenz. Im Gegensatz zu herkömmlichen Cloud-Computing-Modellen, bei denen virtuelle Maschinen oder Container vorab bereitgestellt werden, erhalten serverlose Funktionen erst bei Bedarf eine Instanz zugewiesen. Dies ermöglicht zwar eine dynamische Skalierung, führt aber auch zu einer Verzögerung, die als Kaltstart bezeichnet wird. Dies kann die Reaktionszeit einer Anwendung beeinträchtigen.

Zwar haben die Anbieter dieses Problem erkannt und daran gearbeitet, doch Anwendungen mit Echtzeit-Leistungsanforderungen können kritisch sein. Deshalb sollten die Anforderungen der verwendeten Apps geprüft werden, bevor sie auf eine serverlose Plattform verlagert werden.

Vendor lock-in

Ein weiterer Trugschluss ist, dass serverlose Anwendungen leicht zwischen verschiedenen Cloud-Anbietern portierbar sind. Nein, Container sind portabel, Serverless ist anders.

Schließlich hat jeder Cloud-Provider seine eigene Serverless-Implementierung. Dies erschwert es, den Anbieter zu wechseln, ohne erhebliche Änderungen an Code und Infrastruktur vorzunehmen. Gerade mit Blick auf Multi-Cloud-Implementierungen könnte dies eine gravierende Einschränkung sein.

Debugging und Monitoring

Herkömmliche Debugging-Techniken, wie etwa das Einloggen in einen Server und die Inspektion des Codes, funktionieren in einer serverlosen Umgebung meist nicht mehr. Darüber hinaus kann die Überwachung der Leistung und des Zustands einzelner Serverless-Funktionen kompliziert sein, insbesondere wenn es sich um Serverless-Features handelt, die über verschiedene Dienste verteilt sind.

Die Konsequenz: Unternehmen müssen in spezielle Tools und Techniken investieren, wenn sie serverlose Anwendungen effektiv debuggen und monitoren wollen.

Kostenmanagement

Eine weitere Herausforderung ist das Kostenmanagement der serverlosen Systeme. Per se verspricht das Serverless Computing interessante Kostenreduzierungen, da Verwaltung und Bereitstellung von Infrastruktur entfallen.

Dieser Vorteil kann sich aber in einen gewaltigen Nachteil verwandeln, wenn die Kosten nicht effektiv überwacht und kontrolliert werden. Da serverlose Systeme Ressourcen dynamisch im Hintergrund zuweisen, können die Kosten für die genutzten Cloud-Ressourcen schnell steigen. Insbesondere, wenn es zu Überschreitungen des gebuchten Kontingents kommt, was sich die Provider meist gut bezahlen lassen.

Unternehmen sollten diesbezüglich sehr sorgfältig planen. Und im Einzelfall auch entscheiden, dass Anwendungen für das Serverless Computing nicht geeignet sind.