Function as a Service (FaaS) ist die engste Ausprägung des Serverless-Paradigmas. Anwendungen werden als kleine, zustandslose Funktionen geschrieben, die durch externe Ereignisse — HTTP-Aufrufe, Queue-Nachrichten, Storage-Events, Timer — ausgelöst werden. Der Cloud-Anbieter verwaltet die Laufzeitumgebung, skaliert die Funktion bedarfsgerecht (auch auf Null) und rechnet pro Ausführung sowie pro verbrauchten Ressourcen ab. Funktionen laufen typischerweise nur Sekunden bis wenige Minuten und kommunizieren mit anderen Diensten über klar definierte Eingaben und Ausgaben.
Eingesetzt wird FaaS für ereignisgesteuerte Verarbeitung: Bildverkleinerung nach Upload, Webhooks von SaaS-Plattformen, REST-APIs mit unregelmäßiger Last, Stream-Processing in kleinen Schritten, Glue-Code zwischen Cloud-Diensten, geplante Aufgaben über CRON-Trigger. Bekannte Implementierungen sind AWS Lambda, Azure Functions, Google Cloud Functions sowie Open-Source-Plattformen wie Knative Serving, OpenFaaS, Apache OpenWhisk und Fission.
Der Einsatzzweck und das gelöste Problem liegen in der starken Reduktion von Infrastruktur-Aufwand pro Funktion. Anstelle eines dauerhaft laufenden Webservers, der auf eingehende Anforderungen wartet, kümmert sich die Plattform um Bereitstellung, Skalierung und Lifecycle. Damit lassen sich kleine Aufgaben wirtschaftlich umsetzen, die in einem klassischen VM- oder Container-Modell keine eigene Infrastruktur rechtfertigen würden. Gleichzeitig erzeugt FaaS neue Herausforderungen: Cold Starts, Vendor Lock-in über proprietäre Trigger-Modelle, eingeschränkte Ausführungszeiten, schwierigere Lokal-Entwicklungs- und Debug-Erfahrungen.
Historisch ist FaaS in seiner heutigen Form mit dem Start von AWS Lambda im November 2014 verbunden. Vorausgegangen waren Konzepte wie Stored Procedures in Datenbanken oder Cloudflare Workers in einer frühen Form. Microsoft folgte mit Azure Functions (März 2016 Preview, November 2016 GA), Google mit Cloud Functions (2016) und IBM mit OpenWhisk. Mit Knative (2018) entstand ein offener Standard, der FaaS-Funktionen auf Kubernetes als gemeinsame Basis abbildet. Edge-FaaS-Varianten wie Cloudflare Workers, Deno Deploy oder Vercel Edge Functions verschieben die Funktionen zusätzlich näher an den Endnutzer.
Eingeführt und etabliert wurde FaaS maßgeblich durch AWS, Microsoft und die CNCF-Community. Tim Wagner, Gründervater von AWS Lambda, hat in mehreren Rückblicken erwähnt, dass das ursprüngliche Designziel "Glue-Code für AWS-Dienste" war und dass das Team selbst überrascht war, wie schnell Kunden Lambda für vollwertige APIs und sogar Frontend-Workloads einsetzten. Diese Praxis hat zur Erweiterung von Lambda — und in der Folge auch der Konkurrenten — um längere Ausführungszeiten, mehr RAM, Container-Image-Support und VPC-Integration geführt.