4 Nachteile
Was gegen Serverless spricht
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.
Eine aktuelle Studie von Datadog kommt zum Ergebnis, dass Serverless Computing populärer denn je ist. Demnach nutzen
70 Prozent der AWS-Kunden,
60 Prozent der Google-Cloud-Kunden und
49 Prozent der Microsoft-Azure-Kunden
eine oder mehrere Serverless-Lösungen.
Das ist eigentlich keine spektakuläre, neue Erkenntnis - Serverless ist inzwischen ein alter Hut, beziehungsweise im Cloud-Computing-Game fest etabliert. Dabei verspricht der Ansatz Schnelligkeit, nahezu keinen Aufwand für die Infrastrukturplanung und eine höhere Entwicklerproduktivität. Ein No-Brainer ist Serverless dennoch nicht.
Denn wie bei jeder Technologie gibt es auch hier Nachteile zu beachten. Eine sorgfältige Planung, ein angemessenes Architekturdesign und effektives Monitoring können Unternehmen dabei unterstützen, die Herausforderungen zu meistern und die Serverless-Vorteile voll auszuschöpfen - oder zur Erkenntnis zu gelangen, dass es für den angestrebten Zweck nicht der richtige Ansatz ist.
1. Kaltstart-Latenz
Im Gegensatz zu herkömmlichen Cloud-Modellen, bei denen virtuelle Maschinen oder Container vorab bereitgestellt werden, müssen Serverless-Funktionen bei Bedarf instanziiert werden. Das ermöglicht zwar dynamisch zu skalieren, führt aber auch zu einer Verzögerung, die die Reaktionszeit der Anwendung beeinträchtigen kann. Obwohl die Cloud-Anbieter sich mit diesem Problem beschäftigen, kann dieser Punkt speziell für Applikationen mit Echtzeit-Leistungsanforderungen zum Problem werden.
2. Vendor-Lock-in
Manche Entwickler und Cloud-Architekten glauben immer noch daran, serverlose Anwendungen ließen sich schnell und einfach zwischen verschiedenen Cloud-Anbietern portieren. Jeder Cloud-Anbieter wartet jedoch mit seiner eigenen Serverless-Implementierung auf. Das macht einen Anbieterwechsel diffizil, ohne dabei erhebliche Änderungen an Code und Infrastruktur vorzunehmen.
Dieser Umstand kann Unternehmen wiederum in ihrer Flexibilität einschränken und auch daran hindern, sich an veränderte Geschäftsanforderungen anzupassen. Da der Trend eindeutig zu Multi-Cloud-Implementierungen geht, wird es zunehmend wichtig, diese Einschränkung zu berücksichtigen.
3. Debugging und Monitoring
Herkömmliche Debugging-Techniken, etwa der Login auf einem Server oder Code-Inspektion, sind in einer Serverless-Umgebung unter Umständen nicht möglich. Darüber hinaus kann es sich komplex gestalten, die Performance und den Status einzelner Serverless-Funktionen zu monitoren - speziell wenn es sich um soclhe handelt, die über verschiedene Services verteilt sind.
Um serverlose Anwendungen effektiv debuggen und überwachen zu können, müssen Unternehmen in spezielle Tools und Methode investieren. Das wird in der Regel erst offenbar, wenn der Bedarf bereits vorhanden ist - dann kann es allerdings zu Verzögerungen und Mehrkosten kommen.
4. Kostenmanagement
Die Kosten von eingesetzten Serverless-Systemen zu managen, ist ein großes Problem. Serverless kann zwar Kosteneinsparungen realisieren, weil keine Infrastruktur verwaltet und bereitgestellt werden muss - dabei ist es jedoch essenziell, die Kosten auch effektiv zu kontrollieren.
Das wird wiederum dadurch erschwert, dass Serverless-Systeme dynamisch im Hintergrund laufen. Zudem kann die Anzahl der Prozesse und der damit verbundenen Ressourcen mit zunehmender Komplexität der Anwendungen steigen, was ebenfalls zu unerwarteten Mehrkosten führen kann. Um das zu vermeiden, sollten Unternehmen auf Kostenmanagement-Strategien setzen.
Dieser Beitrag basiert auf einem Artikel unserer US-Schwesterpublikation Infoworld.