Definition FaaS | Function-as-a-Service Was ist Function-as-a-Service (FaaS)?
Anbieter zum Thema
Function-as-a-Service ist ein Servicemodell des Cloud Computings und lässt sich dem Konzept des Serverless Computings zurechnen. Teile einer Geschäftslogik werden in Form von Funktionen als Service einer Cloud bereitgestellt. Den Kunden bleiben die den Funktionen zugrundeliegenden Infrastrukturen und die verwendeten Ressourcen verborgen. Die Funktionen können über eine Netzwerkverbindung angesprochen werden und liefern Ergebnisse zurück. Die Abrechnung der Inanspruchnahme erfolgt sekundengenau.

FaaS ist das Akronym für Function-as-a-Service und zählt wie IaaS (Infrastructure-as-a-Service), PaaS (Platform-as-a-Service) und SaaS (Software-as-a-Service) zu den Servicemodellen des Cloud Computings. Function-as-a-Service lässt sich dem Konzept des Serverless Computings zurechnen. Im Rahmen von FaaS stellt ein Cloud-Anbieter Teile einer Geschäftslogik in Form von Funktionen als Service einer Cloud-Plattform zur Verfügung. Diese Funktionen können über Netzwerkverbindungen angesprochen werden und liefern Ergebnisse zurück.
Die zugrundeliegende Infrastruktur des Services und die in Anspruch genommenen Serverressourcen wie Rechenleistung, Arbeitsspeicher, Storage oder Networking bleiben dem Kunden verborgen. Der Kunde bucht nur den Service der Funktionsausführung und keine dedizierten Ressourcen. Er kann sämtliche Ressourcen unterhalb der Geschäftslogik als gegeben betrachten. Alle für die Ausführung der Funktionen benötigten Infrastrukturkomponenten und Ressourcen managt der Cloud-Anbieter. Mithilfe von mehreren Funktionen und ihrer Verknüpfung lassen sich Anwendungen und Dienste serverlos entwickeln, managen und betreiben. Die Inanspruchnahme der Funktionen rechnet der Anbieter sekundengenau ab. Kosten entstehen dem Kunden nur, wenn eine Funktion tatsächlich angesprochen und ausgeführt wird. FaaS kann aus öffentlichen Clouds bezogen oder in privaten und hybriden Cloud-Umgebungen bereitgestellt werden.
Auf dem Cloud-Computing-Markt existiert eine große Anzahl von FaaS-Produkten verschiedener Anbieter. Dazu zählen zum Beispiel Amazon Lambda, Google Cloud Functions, Microsoft Azure Functions, IBM Cloud Functions, Oracle Cloud Functions, Cloudflare Workers und viele mehr.
Kurze Abgrenzung von Serverless Computing und FaaS
Häufig wird Serverless Computing mit FaaS gleichgesetzt. Bei FaaS handelt es sich streng genommen aber nur um einen Teilbereich und eine spezielle Form des Serverless Computings. Das Konzept des serverlosen Computings umfasst die serverlose Bereitstellung von wesentlich mehr Servicekategorien. Neben ereignisgesteuerten Funktionen bietet Serverless Computing auch Servicekategorien wie Datenbanken, Storage, Messaging-Systeme, Application Programming Interfaces und andere.
Merkmale und prinzipielle Funktionsweise von Function-as-a-Service
Zentrales Merkmal von FaaS ist die ereignisgesteuerte Funktionsweise. Nach dem Request-Response-Prinzip löst ein Trigger einen Event aus, der die Ausführung der Funktion veranlasst. Die Funktion verhält sich reaktiv und wird nur ausgeführt, wenn sie dediziert angesprochen wird. Ansonsten zeigt sie nach außen keine laufenden Prozesse. Sie ist passiv und zustandslos. Nach Aufruf wird die Funktion ausgeführt und liefert ein Ergebnis zurück. Danach fällt sie in den Ausgangszustand zurück und wartet auf den nächsten Funktionsaufruf. Sämtliche Daten und Zustände müssen außerhalb der Funktion zum Beispiel von einer übergeordneten Applikation oder durch die Einbindung einer Datenbank oder eines Dateisystems verwaltet werden. Function-as-a-Service bietet häufig bereits vordefinierte Funktionen erlaubt es Kunden aber auch, eigene Funktionen zu entwickeln, in die Cloud-Plattform hochzuladen und dort ausführen zu lassen. Jede Funktion ist immer nur für eine bestimmte Aufgabe zuständig und steht kontinuierlich zur Verfügung.
Vor- und Nachteile von Function-as-a-Service
Vorteile von Function-as-a-Service sind:
- kein Aufwand für die Bereitstellung und Verwaltung von Servern und Infrastrukturkomponenten
- genaue, nutzungsabhängige Abrechnung (keine Kosten durch nicht genutzte Funktionen)
- in großem Umfang einfach skalierbar
- Funktionen sind jederzeit ansprechbar und elastisch in ihrer Ausführung
- einfach zu wartende und zu aktualisierende, in sich abgeschlossene Funktionen
- hohe Verfügbarkeit und Sicherheit der Funktionen durch professionelles Management des Cloud-Providers
- Unterstützung des DevOps-Konzepts
Als mögliche Nachteile lassen sich aufführen:
- geringe Transparenz und Kontrolle bezüglich der zugrundeliegenden Infrastruktur
- es können starke Abhängigkeiten zu einem bestimmten Anbieter und seinen FaaS-Leistungen entstehen
- unter Umständen eingeschränkte Nutzbarkeit aufgrund von Sicherheits- und Datenschutzvorgaben
- nicht für alle Anwendungsfälle einsetzbar
- eingeschränkte Möglichkeiten im Debugging und Monitoring
- aufwendige Verwaltung vieler Funktionen bei komplexen Anwendungen
- hohe Kosten bei starkem Funktionsaufkommen
- nur im Bedarfsfall ausgeführte Funktionen können größere Latenzzeiten und eine geringere Performance als kontinuierlich ausgeführter Code aufweisen
(ID:49426510)