Serverless Computing
Was ist Functions as a Service (FaaS)?
Was ist das Functions as a Service (FaaS)-Modell?
Functions as a Service oder FaaS ist ein serverloses Computing-Ausführungsmodell, das es Entwicklern ermöglicht, Anwendungen einfach bereitzustellen und auszuführen, ohne Server verwalten zu müssen. Die Schätzungen für den globalen FaaS-Markt im Jahr 2025 variieren je nach Marktforschungsunternehmen und reichen von 7,17 Milliarden US-Dollar laut Straits Research bis zu 13,08 Milliarden US-Dollar laut The Business Research Company.
Im Bereich der FaaS schreiben Sie den Code, während der Cloud-Anbieter die Serverbereitstellung, die Ressourcenzuweisung und das Umgebungsmanagement automatisch übernimmt.
Wie funktioniert FaaS?
Im FaaS-Modell schreiben Entwickler Code in Form von Funktionen, bei denen es sich um kleine, unabhängige Blöcke handelt, die für die Ausführung einer einzelnen Operation konzipiert sind. Diese Funktionen werden durch Ereignisse ausgelöst, beispielsweise HTTP-Anfragen, Datenbankänderungen oder ein Datei-Upload-Ereignis. Wenn ein Ereignis eintritt, weist der Cloud-Anbieter sofort die für die Funktion benötigten Ressourcen zu und gibt sie frei, nachdem das Ereignis der Funktion abgeschlossen ist. Dieses Computing-Modell ermöglicht eine ereignisgesteuerte, serverlose Bereitstellung, was bedeutet, dass pro Funktionsausführung abgerechnet wird.
Einige bekannte FaaS-Anbieter sind Amazon AWS Lambda, Microsoft Azure Functions und Google Cloud Run functions (ehemals Cloud Functions).
Was ist der Unterschied zwischen FaaS und SaaS?
FaaS und SaaS sind beide Dienste in der Cloud-Computing Umgebung, obwohl sie unterschiedliche Funktionen haben.
- FaaS: Es bietet eine Plattform zur Ausführung von benutzerdefiniertem Code, der durch bestimmte Ereignisse ausgelöst wird. Anwendungsentwickler kontrollieren den Code, der Anbieter kümmert sich um die Infrastruktur, und die Skalierung erfolgt automatisch und auf kleinster Ebene. Die Kosten richten sich nach den tatsächlich genutzten Ressourcen (Pay-as-you-go): Mit dem Flex Consumption-Tarif von Azure Functions’ zahlen Sie für die Gesamtzahl der Ausführungen und den genutzten Arbeitsspeicher, während Ihr Code ausgeführt wird (berechnet in GB-Sekunden).
- SaaS: Bietet vorkonfigurierte Softwarelösungen über eine Cloud-Infrastruktur. Benutzer arbeiten mit der bereitgestellten Benutzeroberfläche, haben jedoch nur begrenzte Kontrolle über die zugrunde liegende Infrastruktur. Die Skalierung ist je nach Abonnementmodell begrenzt, wobei die Kosten in der Regel abgerechnet werden als Abonnements.
| Funktion | Functions as a Service (FaaS) | Software as a Service (SaaS) |
|---|---|---|
| Kernfunktionalität | ||
| Hauptzweck | Ausführen von benutzerdefiniertem Code, der durch bestimmte Ereignisse ausgelöst wird | Vorkonfigurierte Softwarelösungen bereitstellen |
| Infrastrukturkontrolle | Entwickler kontrollieren den Code; der Anbieter verwaltet die Infrastruktur | Eingeschränkte Benutzerkontrolle über die zugrunde liegende Infrastruktur |
| Skalierbarkeit & Leistung | ||
| Skalierungsmechanismus | Automatische Skalierung auf Mikroebene | Typischerweise durch Abonnements begrenzt |
| Ressourcenzuweisung | Dynamisch, basierend auf der tatsächlichen Funktionsausführung | Statisch, durch Abonnementstufe vordefiniert |
| Preis- & Kostenmodell | ||
| Preisstruktur | Pay-as-you-go, Abrechnung nach Ausführungen und Ausführungszeit | In der Regel abonnementbasiert, feste wiederkehrende Gebühren |
| Kosteneffizienz | Hoch, bedarfsgerechte Nutzung wird nach Ausführungen und Laufzeit abgerechnet | In der Regel feste Kosten unabhängig von der tatsächlichen Nutzung |
Was ist der Hauptvorteil von FaaS?
FaaS ist eine Form des serverlosen Computings, bei der Entwickler sich speziell mit dem Schreiben von Code befassen und oft nur sehr wenig Kontrolle über die Server haben.Das System ermöglicht die Anpassung der Aktivitätsstufen an die Anwendungsnachfrage unter Nutzung einer nutzungsbasierten Preisgestaltung.
Welche Nachteile hat FaaS?
Bei FaaS sind Faktoren wie Vendor-Lock-in, Kaltstarts, Ansätze zur Zustandsverwaltung sowie Debugging- und Monitoring-Prozesse typisch.
- Anbieterabhängigkeit: Es kann Unterschiede in der Implementierung von FaaS zwischen verschiedenen Cloud-Anbietern geben, was Schwierigkeiten bei der Migration Ihrer Anwendung verursachen kann.
- Kaltstarts: Die anfängliche Startzeit inaktiver Funktionen kann sich verlängern, was die Antwortzeiten für Benutzer verlangsamt.
- Debugging und Überwachung: Eine verteilte serverlose Anwendung kann im Debugging und Monitoring komplexer sein als eine monolithische Anwendung.
- Zustandslosigkeit: Die Beibehaltung des Zustands über die Ausführungen der Funktion hinweg ist ziemlich komplex und es sollte beim Entwerfen einer Anwendung zusätzlicher Aufwand betrieben werden.
Trotz dieser Nachteile wird FaaS für ereignisgesteuerte, skalierbare Anwendungen eingesetzt. Im Jahr 2025 schätzten Marktforschungsunternehmen den globalen FaaS-Markt auf 7,17 Milliarden USD (Straits Research) auf 13,08 Milliarden USD (The Business Research Company).
Schlussfolgerung
FaaS ist eine Komponente des Serverless Computing, bei der Entwickler Anwendungen erstellen und ausführen, während die Serververwaltung unabhängig davon erfolgt. Es verwaltet die zugrunde liegende Infrastruktur mit automatischer Skalierung und ressourcenbasierter Abrechnung.
Sie können FaaS bei der Entwicklung ereignisgesteuerter und skalierbarer Cloud-Lösungen einsetzen, es ist jedoch nicht für alle Arten von Anwendungen geeignet.