Serverless Computing hat sich als Buzzword in der Technologiebranche etabliert und löst bei vielen ein „Oh-oh, schon wieder etwas Neues, das ich lernen muss!“ aus. Also, was steckt dahinter? Keine Server? Klingt verdächtig nach Magie, ist es aber nicht. Es ist der Versuch, den Entwicklern das mühselige Management der Server-Infrastruktur abzunehmen, damit sie sich auf das konzentrieren können, was sie am besten können: Code schreiben.
Wie funktioniert Serverless Computing eigentlich?
Serverless Computing nimmt einem den Aufwand ab, sich um Server zu kümmern. Ja, richtig gehört. Es läuft zwar auf Servern, aber die Konfiguration und Verwaltung dieser Server übernimmt ein Cloud-Anbieter. Entwicklern bleibt die lästige Pflicht erspart, sich um Skalierung, Wartung oder gar das Aufspielen von Patches zu kümmern. Stattdessen konzentrieren sie sich darauf, Funktionen zu schreiben und auszuführen, die nur dann Ressourcen verbrauchen, wenn sie tatsächlich ausgeführt werden. Das bedeutet, man bezahlt nur dann, wenn der Code auch wirklich läuft – absolut zahlungsgerecht, könnte man sagen.
Wo liegen die Unterschiede zu traditionellem Hosting oder PaaS?
Viele verwechseln Serverless Computing manchmal mit Plattform-as-a-Service (PaaS). Psychologisches Phänomen, möchte man meinen. Traditionelles Hosting erfordert einen ständigen Betrieb der Server, während Serverless dynamisch skaliert. Bei PaaS hat man zwar weniger Verwaltungsaufwand, jedoch fallen dennoch laufende Gebühren an, egal ob der Code ausgeführt wird oder nicht. Serverless besteht praktisch darin, sich selbst nur dann um Server „zu kümmern“, wenn Rechnungspreise das unterstützen.
Welche Vorteile bietet Serverless Computing für Startups?
Für Startups, die oft in einer Art Ressourcen-Wüstenwanderung existieren, ist Serverless die Oase der Effizienz. Weniger Kosten. Yay! Skaliert automatisch mit dem Wachstumshunger, ohne dass man ständig neue Server dazu kaufen muss – als ob man sich bei einem All-you-can-eat-Buffet immer den Tisch vergrößern könnte, ohne dafür extra zu zahlen. Der Fokus bleibt auf der Produktentwicklung und nicht auf dem Aufbau und Erhalt der darunterliegenden Infrastruktur. Auch die Markteinführung neuer Funktionen kann drastisch verkürzt werden. Eine klar formulierbare Botschaft an VCs: „Wir sind immer auf der Höhe der Zeit!“
Gibt es auch Herausforderungen bei Serverless Computing?
Ja, wo Licht ist, ist bekanntlich auch Schatten. Das Leben ist kein Ponyhof. Die sogenannte Kaltstart-Problematik kann auftreten, wenn nach einer Ruhephase Funktionen mit Verzögerung starten. Zudem ist man ab einem Punkt sehr auf den gewählten Anbieter angewiesen – ein "Vendor Lock-in"-Problem kann entstehen. Es kann komplizierter werden, wenn eine Anwendung extrem komplex und verteilt ist. Auch die Debugging-Möglichkeiten können manchmal so schlicht daherkommen wie ein Teller rohe Spaghetti – überschaubar, doch recht unübersichtlich.
Danach wird auch oft gesucht:
Cloud Computing, Microservices, FaaS, Infrastructure as a Service, PaaS, AWS Lambda, Azure Functions, Google Cloud Functions, Edge Computing, DevOps, Containerisation.