Was ist Serverless Computing?
Serverless Computing bedeutet nicht, dass es keine Server gibt. Wir erklären das Prinzip, die Vor- und Nachteile und typische Einsatzgebiete verständlich.
Der Begriff Serverless Computing klingt zunächst widersprüchlich. Bedeutet er etwa, dass gar keine Server mehr nötig sind? Tatsächlich ist das ein verbreitetes Missverständnis. Server gibt es weiterhin, nur kümmern sich die Entwickler nicht mehr selbst darum. Sie überlassen die gesamte Verwaltung dem Cloud-Anbieter und konzentrieren sich allein auf ihren Programmcode. In diesem Ratgeber erklären wir verständlich, was Serverless Computing wirklich bedeutet, wie es funktioniert und welche Vor- und Nachteile damit verbunden sind.
Was bedeutet Serverless Computing?
Serverless Computing ist ein Modell des Cloud-Computings, bei dem ein Anbieter die komplette Server-Infrastruktur bereitstellt und verwaltet. Entwickler laden lediglich ihren Code hoch, der dann bei Bedarf ausgeführt wird. Um Bereitstellung, Wartung, Skalierung und Auslastung der Server müssen sie sich nicht kümmern.
Der Name ist also etwas irreführend. "Serverlos" bedeutet nicht, dass keine Server existieren, sondern dass sie für den Entwickler unsichtbar werden. Die Server arbeiten im Hintergrund, verwaltet vom Anbieter.
Wie funktioniert Serverless Computing?
Im Zentrum stehen meist kleine, klar abgegrenzte Funktionen. Eine solche Funktion erledigt eine bestimmte Aufgabe, etwa das Verarbeiten eines hochgeladenen Bildes oder das Speichern einer Formulareingabe. Dieses Prinzip wird häufig als "Functions as a Service" bezeichnet.
Der Ablauf ist typischerweise so:
- Der Entwickler schreibt eine Funktion und stellt sie beim Anbieter bereit.
- Die Funktion bleibt zunächst inaktiv und verbraucht keine Ressourcen.
- Tritt ein bestimmtes Ereignis ein, etwa ein Aufruf über das Internet, startet der Anbieter die Funktion automatisch.
- Nach der Ausführung wird sie wieder beendet.
Ein wichtiges Merkmal ist die automatische Skalierung. Werden viele Aufrufe gleichzeitig ausgelöst, stellt der Anbieter im Hintergrund automatisch mehr Kapazität bereit. Sinkt die Nachfrage, wird sie wieder reduziert.
Bezahlung nach tatsächlicher Nutzung
Ein zentraler Aspekt ist das Abrechnungsmodell. Bei Serverless Computing zahlt man in der Regel nur für die tatsächliche Ausführung, also etwa für die Anzahl der Aufrufe und die dabei verbrauchte Rechenzeit. Läuft eine Funktion gar nicht, fallen dafür meist auch keine Kosten an. Das unterscheidet das Modell von klassischen Servern, die rund um die Uhr laufen und bezahlt werden, selbst wenn sie kaum genutzt werden.
Welche Vorteile bietet Serverless Computing?
Das Modell hat einige Eigenschaften, die es für bestimmte Anwendungen attraktiv machen:
- Kein Server-Management: Entwickler müssen sich nicht um Einrichtung, Wartung oder Updates der Server kümmern.
- Automatische Skalierung: Die Kapazität passt sich selbstständig an die Nachfrage an.
- Kostenkontrolle: Bezahlt wird nur die tatsächliche Nutzung, was bei schwankender Last sparsam sein kann.
- Schnellere Entwicklung: Der Fokus liegt allein auf dem Code, nicht auf der Infrastruktur.
Welche Nachteile und Grenzen gibt es?
Serverless Computing ist jedoch keine Lösung für jeden Zweck. Es gibt auch klare Einschränkungen, die man kennen sollte:
- Abhängigkeit vom Anbieter: Anwendungen sind oft eng auf einen bestimmten Cloud-Dienst zugeschnitten. Ein Wechsel kann aufwendig sein.
- Verzögerung beim Start: Wird eine länger ungenutzte Funktion erstmals wieder aufgerufen, kann es eine kurze Anlaufzeit geben, oft "Kaltstart" genannt.
- Weniger Kontrolle: Da der Anbieter die Infrastruktur steuert, hat man weniger Einfluss auf technische Details.
- Nicht für jede Aufgabe ideal: Sehr lang laufende oder konstant ausgelastete Anwendungen passen oft schlechter zum Modell.
Wofür eignet sich Serverless Computing?
Besonders gut passt das Modell zu Aufgaben, die unregelmäßig oder ereignisgesteuert anfallen. Typische Einsatzgebiete sind:
- Verarbeitung von Daten, sobald sie eintreffen, etwa beim Hochladen einer Datei
- Reaktion auf Aktionen der Nutzer, zum Beispiel das Absenden eines Formulars
- Hintergrundaufgaben, die nur zu bestimmten Zeiten laufen müssen
- kleinere Bausteine größerer Anwendungen
Für Anwendungen mit gleichmäßig hoher Dauerlast oder sehr speziellen Anforderungen können dagegen klassische Server oder andere Cloud-Modelle besser geeignet sein.
Serverless im Vergleich zu klassischen Servern
Der zentrale Unterschied liegt in der Verantwortung und der Abrechnung. Bei klassischen Servern mietet oder betreibt man eine feste Kapazität, die dauerhaft läuft und verwaltet werden muss. Bei Serverless Computing übernimmt der Anbieter die Verwaltung, die Funktionen laufen nur bei Bedarf und die Kosten richten sich nach der tatsächlichen Nutzung. Welche Variante sinnvoll ist, hängt stark von der Art und Auslastung der Anwendung ab.
Fazit
Serverless Computing bedeutet nicht, dass es keine Server gibt, sondern dass deren Verwaltung vollständig vom Cloud-Anbieter übernommen wird. Entwickler stellen nur ihren Code bereit, der bei Bedarf automatisch ausgeführt und skaliert wird, abgerechnet nach tatsächlicher Nutzung. Das Modell bietet Komfort, Flexibilität und potenzielle Kostenvorteile, eignet sich aber vor allem für ereignisgesteuerte Aufgaben. Wer das Prinzip verstanden hat, kann besser einschätzen, wann sich Serverless lohnt und wann klassische Lösungen die bessere Wahl sind.
Mehr zum Thema findest du in unserer Übersicht: Cloud & DevOps: Alle Artikel im Überblick.