Suchen

Definition: serverloses Cloud Computing mit Function as a Service Was ist Function as a Service (FaaS)?

Function as a Service (FaaS) ist ein serverloses Cloud Computing Angebot. Der Provider stellt dem Anwender einzelne Funktionen bereit, die sekundengenau abgerechnet werden. Die eigentliche Infrastruktur des Anbieters bleibt den Anwendern verborgen. Die Funktionen liefern Ergebnisse zurück und lassen sich für das Entwickeln, Betreiben oder Managen von Applikationen nutzen.

Firmen zum Thema

Function as a Service - Bereitstellung einzelner zustandsloser Funktionen im Cloud Modell.
Function as a Service - Bereitstellung einzelner zustandsloser Funktionen im Cloud Modell.
(Bild: gemeinfrei (geralt / pixabay) / CC0 )

Die Abkürzung FaaS steht für Function as a Service und beschreibt ein serverloses Cloud Computing Konzept. Es gehört zu den Cloud Computing Services wie SaaS (Software as a Service), PaaS (Platform as a Service) oder IaaS (Infrastructure as a Service). Im Rahmen von FaaS stellt der Anbieter einzelne Funktionen zur Verfügung, die von Kunden angesprochen werden können und innerhalb kurzer Zeit Ergebnisse zurück liefern.

Function as a Service lässt sich einsetzen, um Applikationen zu entwickeln, sie zu betreiben oder zu managen. Die eigentliche Infrastruktur des Services und die Server, auf denen die Dienste bereitgestellt sind, bleiben dem Anwender verborgen. In Anspruch genommene Funktionen rechnet der Dienstleister sekundengenau bezogen auf die benötigte Rechenleistung und den Speicher ab. Alternativ zu FaaS-Angeboten aus der Public Cloud lassen sich einige Function as a Service Architekturen lokal in eigenen Data Centern installieren und hosten.

Grundsätzlich verhält sich FaaS reaktiv und wird von Events gesteuert. Es existieren keine laufenden Prozesse. Bestimmte Trigger lösen Events aus, die einen Aufruf der spezifischen Funktion veranlassen. Function as a Service liefert das Ergebnis und wartet anschließend auf den nächsten Aufruf.

Function as a Service und seine zentralen Merkmale

Ein wichtiges Merkmal von Function as a Service ist, dass alles unterhalb der Funktion als gegeben und abstrahiert betrachtet werden kann. Anwender müssen sich nicht um Server, Netzwerke, Storage oder Betriebssysteme des Services kümmern. Die Abrechnung der in Anspruch genommenen Funktionen erfolgt nutzungsabhängig und ist sekundengenau. Nur tatsächlich verwendete Funktionen werden in Rechnung gestellt.

FaaS ist aus Sicht der betriebenen Applikation zustandslos. Die Anwendung ruft eine bestimmte Funktion auf und bekommt das Ergebnis zurück geliefert. Sollen Zustände gespeichert oder Daten persistent durch eine mit FaaS realisierte Applikation vorgehalten werden, ist eine Datenbank oder ein Dateisystem anzubinden. Die zustandslosen Funktionen sind sehr gut skalierbar und ermöglichen es, große Kapazitäten für sich verändernde Applikationslasten bereitzuhalten.

Vorteile des serverlosen Cloud Computing Angebots Function as a Service

Function as a Service bietet zahlreiche Vorteile. Entwickler müssen sich nicht um die Infrastruktur und die Anbindung von Servern kümmern, sondern sprechen nur einzelne Funktionen an. Die Services sind sehr gut skalierbar und ermöglichen eine exakte, nutzungsabhängige Abrechnung. Nicht genutzte Funktionen verursachen keine Kosten und benötigen keine Ressourcen. Werden bestimmte Funktionen nur manchmal benötigt, sind sie dennoch jederzeit ansprechbar.

Die komplette Administration der Infrastruktur übernimmt der Service-Anbieter. Die in sich geschlossenen, zustandslosen Funktionen sind gut zu warten und bei Bedarf leicht zu aktualisieren. Die Logik von Applikationen kann in einzelne Funktionen isoliert werden und ist flexibel den Leistungsanforderungen anpassbar.

Abgrenzung zwischen Function as a Service und Platform as a Service

Platform as a Service (PaaS) lässt sich ebenfalls als ein serverloses Cloud Computing Modell betrachten. Es stellt eine Umgebung für die Softwareentwicklung zur Verfügung und bietet Entwicklern Tools und Programme für ihre Arbeit, ohne dass sie die darunter liegende Infrastruktur kennen müssen. Dennoch sind FaaS und PaaS deutlich voneinander abgrenzbar.

Platform as Service arbeitet prinzipiell prozessbasiert und bedient mehrere Requests gleichzeitig. Während bei FaaS eine einzelne Funktion aufgerufen und das Ergebnis binnen Millisekunden zurück geliefert wird, behandelt PaaS mehrere Anfragen innerhalb eines Prozesses, der wesentlich mehr Zeit in Anspruch nimmt.

Das spiegelt sich in den Abrechnungsmodellen wider. FaaS wird nach Ausführungszeiten der Funktionen abgerechnet, PaaS basiert auf einer prozessabhängigen Abrechnung. Mithilfe von FaaS lassen sich Funktionsaufrufe der Applikationen in einem hohen Maß parallelisieren. Function as a Service skaliert daher in bestimmten Bereichen wesentlich besser als Platform as a Service. PaaS ist darauf optimiert, komplette Entwicklungsumgebungen für Applikationen einfach und schnell bereitzustellen.

Beispiele für bereitgestellte Funktionen und mit FaaS realisierte Anwendungen

Function as a Service kann viele verschiedene Funktionen bereitstellen. Die Einsatzszenarien der Funktionen lassen sich in folgende Typen unterteilen:

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

Die einzelnen Funktionen sind verknüpfbar. So kann beispielsweise ein Web Request sein Ergebnis in eine Queue schreiben. Eine andere Funktion liest diese Queue aus und liefert anschließend ein weiteres Ergebnis.

FaaS am Beispiel des Sprachassistenten Alexa

Ein Beispiel für die Anwendung von Function as a Service ist der Aufruf einer abgeschlossenen Anfrage an einen intelligenten Sprachassistenten wie Alexa. Sie lautet beispielsweise „Wie wird das Wetter übermorgen in Frankfurt?Û. Die Anfrage liefert ein Ergebnis, das die anfragende Anwendung weiter verarbeitet. Die Funktion ist nach der Bereitstellung des Ergebnisses direkt wieder ansprechbar und befindet sich immer im gleichen Ausgangszustand.

Ein weiteres Anwendungsbeispiel ist die Auslagerung einer On-Demand-Bilderkennung an einen FaaS-Anbieter. Ein Bild wird mit einer bestimmten Aufgabe an eine FaaS-Funktion übergeben. Die Funktion stellt anschließend das Ergebnis der Bilderkennung zur Verfügung.

Anbieter von Function as a Service

Viele große Anbieter stellen serverloses Cloud Computing in Form von Function as a Service zur Verfügung. Einer der Pioniere in diesem Bereich ist Amazon mit seinen Amazon Web Services (AWS). Sie sind ursprünglich aus den Serverleistungen für die eigenen Amazon-Shops entstanden. Amazon bietet FaaS unter der Bezeichnung AWS Lambda an. AWS Lambda steht unter dem Motto "Run Code, Not Servers".

Auch Microsoft betreibt eigene FaaS-Dienste. Diese sind unter dem Namen Azure Functions in der Public Cloud verfügbar. Eine private und hybride Variante des Azure Stacks soll den lokalen Betrieb on-premises ermöglichen. Weitere FaaS-Dienste sind:

  • Cloud Functions von Google
  • Cloud Functions von IBM
  • Cloud Fn von Oracle
  • Webtask.io
  • Hook.io
Public, Private, Hybrid & Co.: Definitionen rund um Cloud Computing

Definitionen rund um Cloud ComputingAlle relevanten Schlagworte aus dem Bereich Cloud Computing finden Sie auch gut erklärt in unseren Definitionen. Ganz im Sinne eines kleinen, aber feinen Glossars lesen Sie hier leicht verständliche Erklärungen zu den wichtigsten Begriffen. Als Service für Sie haben wir die hier erklärten Begriffe in allen unseren Beiträgen auch direkt mit den zugehörigen Lexikoneinträgen verlinkt. So können Sie die wichtigsten Begriffe direkt dort nachschlagen, wo sie im Text auftauchen.  

Zum Special: Definitionen rund um Cloud Computing

(ID:45441873)

Über den Autor