Wissen von A bis Z

Serverless

Serverless heißt nicht, dass es keine Server gibt, sondern nur, dass sie das Problem von jemand anderem sind.

Serverless ist ein Cloud-Computing-Paradigma, bei dem die Verantwortung für Provisionierung, Skalierung, Patchen und Hochverfügbarkeit der Server vollständig beim Cloud-Anbieter liegt. Anwendungen werden als kleine Codeeinheiten oder Services beschrieben; die Plattform skaliert sie automatisch — typischerweise auch auf null Instanzen — und rechnet nur die tatsächliche Nutzung ab. Trotz des Namens laufen unter der Haube weiterhin Server; sie sind aber für den Anwender unsichtbar.

Eingesetzt wird Serverless in mehreren Ausprägungen: Function as a Service (FaaS) wie AWS Lambda, Azure Functions, Google Cloud Functions; Backend as a Service (BaaS) wie Firebase, AWS Amplify, Supabase; Serverless-Container-Plattformen wie AWS Fargate, Google Cloud Run, Azure Container Apps; sowie Serverless-Datenbanken wie DynamoDB, Cosmos DB Serverless, Aurora Serverless, Azure SQL Database Serverless. Typische Workloads sind ereignisgesteuerte Verarbeitung, schwankende Lastprofile, Webhooks, IoT-Eingänge, geplante Aufgaben und Backends mobiler Apps.

Der Einsatzzweck und das gelöste Problem ergeben sich aus den Schwächen klassischer "always-on"-Server-Modelle: Über- oder Unterprovisionierung, hohe Fixkosten bei niedriger Auslastung, manuelles Skalierungsmanagement und der Aufwand für Patching und Hochverfügbarkeit. Serverless verschiebt diese Verantwortung an den Anbieter und liefert pay-per-use-Abrechnung — typischerweise pro Millisekunde Ausführungszeit, pro Aufruf oder pro RU/s in Datenbanken. Damit eignet es sich besonders für stark schwankende Workloads und für Teams, die sich auf Anwendungslogik statt Infrastruktur konzentrieren wollen.

Historisch wird der Begriff seit etwa 2012 verwendet (Ken Fromm, "Why The Future of Software and Apps is Serverless") und durch den Start von AWS Lambda im November 2014 in der breiten Branche bekannt. Seitdem hat sich das Spektrum erheblich erweitert: Erst kamen weitere FaaS-Dienste, später "Container-Serverless"-Plattformen wie Knative, Cloud Run und Container Apps, sowie "Serverless-Datenbanken" und "Serverless-Edge-Plattformen" wie Cloudflare Workers und Deno Deploy. Der ursprünglich enge FaaS-Begriff hat sich damit zu einem allgemeineren Architekturbegriff entwickelt.

Eingeführt wurde das moderne Serverless-Paradigma maßgeblich durch AWS mit Lambda. "Serverless" wurde lange — und wird teils bis heute — als irreführend kritisiert, weil natürlich weiterhin Server beteiligt sind. Werner Vogels, CTO von Amazon, hat in mehreren Vorträgen klargestellt, dass es nicht um die Abwesenheit von Servern gehe, sondern um die Abwesenheit von "Server-Management" für den Anwender. Diese Verkürzung hat sich gegenüber präziseren Alternativen wie "Functions-as-a-Service" oder "Managed Compute" im allgemeinen Sprachgebrauch durchgesetzt.

Für bluehands ist im Kontext von Green Software Development "serverless" die bevorzugte Betriebsform, da sie eine sehr dynamische und bis auf Zero mögliche Skalierung bietet. Mit Serverless können wir sehr kostengünstige und klimafreundliche Anwendungen betreiben.

Zurück