Was ist FaaS (Function as a Service)?

Neben Funcion as a Service gibt es im Cloud Computing noch einige andere Dienste wie z.B. PaaS, SaaS etc. – die Unterschiede dabei sind fein und für Laien auf den ersten Blick nicht sofort nachvollziehbar. Einer der etwas unbekannteren Cloud-Dienste (zumindest wenn man Google Glauben schenken mag), ist hierbei FaaS. Was genau Function as a Service ausmacht und wie es sich von den restlichen Diensten unterscheidet, sehen wir uns hier etwas näher an.

Function as a Service (FaaS) – kurz erklärt

Function as a Service (FaaS) ist ein Angebot aus dem sogenannten serverlosen Cloud Computing. Hier werden dem Anwender vom Provider einzelne Funktionen bereitgestellt, die genauestens abgerechnet werden. Dem Anwender wird dabei die genaue Infrastruktur des Anbieters verborgen – schließlich sind nur die Funktionen gebucht.

Diese gebuchten Funktionen wiederum melden Ergebnisse an den Anwender zurück und so können diese Daten wiederum zur Entwicklung, zum Betrieb oder zum Managen von Applikationen genutzt werden.

Definition: Was versteht man unter FaaS?

Infografik - FaaS kurz erklärt

Function as a Service ist auch als Serverless Computing bekannt und bietet eine weiter Option zur Bereitstellung von Anwendungen in einer Cloud. Das Computing-Modell FaaS ist dabei ereignisgesteuert und wird in sogenannten Stateless-Containern ausgeführt. Seine Funktionen verwalten mit Hilfe von Services sowohl den Status als auch die serverseitige Logik.

Entwickler können mit FaaS diese Anwendungspakete als Funktionen sowohl entwickeln als auch ausführen und verwalten, ganz ohne dafür eine eigene Infrastruktur bereitzustellen oder zu unterhalten. Funktion wird hier als Softwarekomponente verstanden, mittels der eine geschäftliche Logik ausgeführt wird. Eine Anwendung kann z.B. aus mehreren Funktionen bestehen.

Serverless Computing kann mittels FaaS implementiert werden. Entwickler schreiben dabei eine Geschäftslogik, die in Containern ausgeführt und vollständig auf einer Plattform verwaltet wird.

Applikationen können im FaaS-Modell mit einer Serverless-Architektur erstellt werden. Entwickler suchen hier jedoch aufgrund der stetig steigenden Popularität des Serverless-Modells immer häufiger nach alternativen Lösungen zur Erstellung von Stateless-Containern oder Serverless Microservices.

Wie funktioniert FaaS?

Im Gegensatz zu PaaS (Platform as a Service) erfordert Faas keine Serverprozesse, die permanent im Hintergrund ausgeführt werden müssen. Dennoch steht Function as a Service jederzeit zur Verfügung, da es im Normalfall nach Nutzung bzw. über ein ereignisgesteuertes Ausführungsmodell berechnet wird. PaaS-Lösungen entwickeln jedoch die Bereitstellung von Serverless-Funktionen fortlaufend weiter, sodass die Grenzen zwischen FaaS und Paas immer weiter verwischt werden.

Function as a Service-Dienste funktionieren nach dem Prinzip Request/Response. Das heißt, eine Funktion wird durch durch eine Aktion (Tricker, Event oder Request) aufgerufen. Dann liefert sie – nach Ausführung – das Ergebnis und wird wieder dann wieder beendet. Dabei existiert kein laufender Prozess, die Funktion ist sozusagen zustandslos. Es fällt in den Aufgabenbereich der Applikation, Daten und anfallende Zustände abzuspeichern.

Eine Applikation, die Function as a Service nutzt, kann theoretisch ohne eine Zeile Code erstellt werden. Es wird lediglich eine Benutzeroberfläche benötigt, falls vom FaaS-Anbieterkeine zur Verfügung gestellt wird. Anwendungen können so komplett Serverless gebaut werden.

Function as a Service stellt keine Daten zum Abruf bereit, das ist wichtig zu verstehen. Die Daten werdem vom Anwender der Funktion übergeben und dann erst verarbeitet. Selbstverständlich wäre es möglich, eingehende Anwenderdaten mit eigenen Daten anzureichern, das entspricht dann jedoch keinem klassischen FaaS-Szenario. Funktional betrachtet ist Function as a Service mehr als nur eine simple Datenbank-Abfrage.


Das könnte dich ebenfalls interessieren:


Vorteile von FaaS?

Infografik - Das ist FaaS

Neben der effizienten und kostengünstigen Migration in die Cloud bietet Function as a Service noch einige weitere Vorteile:

Vereinfachung der Logistik für Entwickler

Erhebliche Vereinfachung der Bereitstellung von Anwendungsupdates und auch von neuem Code für sämtliche Nutzer.

Durch die vollständtige Optimierung und Auslagerung des Managements der Serverinfrastruktur, kann ein Softwareentwickler seine Seit in das investieren, was er am besten kann. So wird mehr Agilität gewährleistet und auch schneller Updates und eine höherer Reaktionsfähigkeit bei Wünschen durch Kunden ist gegeben.

Hochgradige Skalierbarkeit

Sämtliche Cloud Services sind hoch skalierbar – immerhin zählt das zu den schlagkräftigsten Argumenten des Cloud Computings. Der größte Unterschied bei FaaS ist der, dass die unabhängige und automatische Saklierung von einzelnen Funktionen auf Basis der jeweiligen Nutzung ermöglicht wird.

So wird eine hoch effiziente Nutzung von Rechenressourcen erreicht, da im Vergleich zur Skalierung von einzelnen Microservices (oder auch von gesamten Anwendungen) sehr wenig verschwendet wird.

Niedrigere Kosten im Voraus

Softwareentwicklungsteams müssen beim FaaS-Servicemodell weniger Geld im Vorfeld investieren, da eine einfache Auslagerung von Hardware, Betriebssystemen oder anderer IT-Infrastruktur möglich ist.

Die Anscahffung eines dedizierten Servers ist teuer und oft ist dieser dann nicht ausgelastet. Pay-as-you-go-Modelle wie FaaS hingegen stellen sicher, dass letztendlich nur für tatsächlich genutzte Rechenressourcen aufgekommen werden muss.

Hoher Qualitätsstandard

Durch das Management der Infrastruktur bringt FaaS große Vorteile bezogen auf Verfügbarkeit, Sicherheit, Toleranz oder andere Wartungsaufgaben mit, die früher vom Softwareentwickler selbst erledigt werden mussten. Ein gewisser Standard ist also stets von Anfang an gegeben.

Beispiele für FaaS

Zu den beliebtesten FaaS-Angeboten bzw. Anbietern zählen:

Beispiele bereitgestellter Funktionen mittels FaaS

Function as a Service ermöglicht die Bereitstellung verschiedener Funktionen. In folgende Typen können die Einsatzszenarien der Funktionen unterteilt werden:

  • Web-Requests
  • geplante Jobs und Tasks
  • Queue-Messages
  • manuelle gestartete Tasks

Die einzelnen Funktionen lassen sich miteinander verknüpfen. Beispielswiese kann das Ergebnis eines Web Requests von diesem in eine Queue geschrieben werden. Dann wird diese Queue von einer anderen Funktion ausgelesen und anschließend ein weiteres Ergebnis geliefert.

Wie unterscheiden sich das FaaS- und das Serverless-Modell?

FaaS und Serverless waren zu Beginn als Begrifflichkeit mehr oder weniger gleichgestellt, Serverless hat sich jedoch zwischenzeitlich stark erweitert (mehr Architekturmuster und auch -praktiken). So ist bei Serverless neben der kodierten Geschäftslogik auch die vermehrte Nutzung von allgemeinen Services möglich.

Sowohl Microservices als auch traditionelle Apps können Serverless nutzen, wenn sowohl die Anforderungen für dynamisches Skalieren und Statusmanagement eingehalten werden, als auch die nötige Containerisierung.

Serverless steht außerdem auch für verwaltete Services, mit deren Systemausführung weder Entwickler noch Administratoren etwas zu tun haben (z.B. Messaging-Systeme und Datenbanken). Deren Handhabung erfolgt über einen Cloud-Anbieter selbst oder auch einen Drittanbieter.

FAQ – Häufige Fragen zu FaaS

Was versteht man unter FaaS?

FaaS = Function as a Service: Hierbei handelt es sich um einen Cloud Computing Dienst, der im Rahmen von “Serverless Computing” zwischen BaaS und SaaS einzuordnen ist.

Was ist FaaS Software?

Software as a Service ist keine Software per se, sondern vielmehr ein Lizenz- und Vertriebsmodell, mittels dem Software-Anwendungen über das Internet angeboten werden. Die Nutzung dieses Services erfolgt im Normalfall auf Basis eines Abonnements.

Welche Anbieter gibt es für FaaS?

Zu den beliebtesten FaaS-Angeboten bzw. Anbietern zählen:

  • AWS Lambda
  • Google Cloud Functions
  • Microsoft Azure Functions (Open Source)
  • OpenFaas (Open Source)

Function as a Service bietet ohne Zweifel eine Menge Vorteile. Du findest den Ansatz interessant und überlegst, ob FaaS auch das Richtige für dein Unternehmen sein könnte? Unsere Experten nehmen sich gerne Zeit für eine Einschätzung, wie FaaS für dein Unternehmen einen Mehrwert bieten kann und unterstützen deine IT auf Wunsch bei der anschließenden Integration.

Du willst mehr wissen? Oder gleich loslegen? Ruben freut sich auf deine Nachricht – oder deinen Anruf.