Serverless Computing ist ein Cloud-Betriebsmodell, bei dem Code ereignisgesteuert ausgeführt wird, ohne dass Nutzende selbst Server einrichten, verwalten oder dauerhaft betreiben müssen.
Auch genannt: Serverless
Trotz des Namens gibt es bei Serverless Computing weiterhin Server – sie werden nur für die Nutzenden unsichtbar vom Cloud-Anbieter verwaltet. Statt einen Server dauerhaft laufen zu lassen, wird Code nur dann ausgeführt, wenn ein bestimmtes Ereignis eintritt, etwa eine eingehende Anfrage. Abgerechnet wird meist nur die tatsächliche Ausführungszeit, nicht die Zeit, in der ein Server ungenutzt bereitsteht.
Entwickelnde stellen einzelne Funktionen oder kleine Codeeinheiten bereit, die durch bestimmte Ereignisse ausgelöst werden – etwa eine Webanfrage, das Hochladen einer Datei oder eine Nachricht in einer Warteschlange. Der Cloud-Anbieter stellt die notwendige Rechenkapazität erst im Moment des Auslösers automatisch bereit, führt den Code aus und gibt die Ressourcen anschließend wieder frei. Nutzende müssen sich dabei weder um Serverkonfiguration noch um Kapazitätsplanung für Lastspitzen kümmern, da der Anbieter die Skalierung automatisch übernimmt.
Beim Hochladen eines Bildes in eine Cloud-Anwendung löst dieses Ereignis automatisch eine serverlose Funktion aus, die das Bild in mehrere Größen umwandelt. Zwischen den Uploads läuft keine dauerhaft aktive Serverinstanz – Rechenleistung wird nur während der tatsächlichen Verarbeitung genutzt und abgerechnet.
Serverless Computing wird für Anwendungen mit unregelmäßiger oder stark schwankender Last eingesetzt, für einzelne, ereignisgesteuerte Aufgaben innerhalb größerer Systeme sowie dort, wo der Verwaltungsaufwand für dauerhaft laufende Server vermieden werden soll.
Serverless bedeutet nicht, dass keine Server mehr existieren – lediglich deren Verwaltung entfällt für die Nutzenden. Zudem ist Serverless Computing nicht für jede Anwendung geeignet: Bei dauerhaft hoher, gleichmäßiger Last oder bei Anwendungen, die einen durchgehend aktiven Zustand benötigen, kann ein klassisches Betriebsmodell wirtschaftlicher oder technisch einfacher sein. Auch die Ausführungszeit einzelner serverloser Funktionen ist bei vielen Angeboten begrenzt.
Nicht zu verwechseln mit Platform as a Service: Bei PaaS wird eine Plattform bereitgestellt, auf der Anwendungen dauerhaft laufen, während bei Serverless Computing Code nur ereignisgesteuert und zeitlich begrenzt ausgeführt wird. Ebenfalls abzugrenzen ist Infrastructure as a Service: Hier mieten Nutzende virtuelle Server und verwalten sie selbst, während bei Serverless Computing die Serververwaltung vollständig beim Anbieter liegt.