Function as a Service (FaaS)
Function as a Service (FaaS) ist ein Cloud-Computing-Modell, das es Kunden ermöglicht, Anwendungen zu entwickeln und Funktionalitäten bereitzustellen und nur dann in Rechnung zu stellen, wenn die Funktionalität ausgeführt wird. FaaS wird häufig für die Bereitstellung von Microservices verwendet und kann auch als Serverless Computing bezeichnet werden.
FaaS bietet Entwicklern die Möglichkeit, eine einzelne Funktion, einen Teil der Logik oder einen Teil einer Anwendung auszuführen und nur dann zu berechnen, wenn der Code ausgeführt wird. Auf der Entwicklerseite wird Code geschrieben, der Remote-Server zur Ausführung der beabsichtigten Aktion veranlasst. Im Gegensatz zu anderen Cloud-Computing-Modellen, die immer auf mindestens einem Server laufen, wird FaaS nur ausgeführt, wenn eine Funktion ausgeführt wird, und dann heruntergefahren.
Das erste FaaS-Modell wurde 2014 von hook.io veröffentlicht, gefolgt von AWS Lambda, Google Cloud Functions, Microsoft Azure Functions, IBM/Apache's OpenWhisk und Oracle Cloud Fn.
Vorteile von FaaS
- Entwickler können sich auf das Schreiben von anwendungsspezifischem Code konzentrieren und müssen sich weniger um die Serverlogistik kümmern.
- Die Anwendungen sind skalierbar, unabhängig und nicht in eine größere Plattform integriert.
- Kunden werden ausschließlich nach der Menge der ausgeführten Funktionen abgerechnet, das heißt es wird kein Geld für inaktive Ressourcen ausgegeben.
- Support, Verfügbarkeit und Fehlertoleranz sind von Haus aus enthalten.
Nachteile von FaaS
- Es besteht weniger Transparenz bezüglich der Backend-Infrastruktur, da diese extern verwaltet wird.
- Die Kosten können aufgrund des Pay-per-Use-Modells schwer vorhersehbar sein oder in die Budgets einfließen.
- Da die Einführung von FaaS noch jung ist, müssen Lösungen für Probleme wie die Verfolgung von Funktionen und Remote-Debugging noch entwickelt werden.