Function as a Service (FaaS) ist eine Kategorie des Cloud Computing und zwischen Backend as a Service (BaaS) und Software as a Service (SaaS) und im Rahmen von „Serverless Computing“ einzuordnen.

Eigenschaften

Bearbeiten

Bei Function as a Service wird alles unterhalb der Geschäftslogik als gegeben betrachtet. Dazu gehören Server, Netzwerk, Storage, ggf. Virtualisierungsebenen, Betriebssystem, Laufzeitumgebung, Daten und die Anwendung selbst.

  • Nur die Geschäftslogik mit den Funktionen wird selbst implementiert. Daher sind mit FaaS implementierte Anwendungen zustandslos.[1]
  • Für die Persistierung von Daten muss daher ein externer Datenbankserver oder ein Netzwerkdateisystem angebunden werden.
  • FaaS ermöglicht eine besonders einfache Skalierbarkeit, da die zustandslosen Funktionen trivial horizontal skaliert werden können.[2]
  • Durch eine Bezahlung pro Funktionsaufruf können gerade bei stark schwankender Last große Kapazitäten vorgehalten werden, die nur bei der tatsächlichen Verwendung zu bezahlen sind. Wenn gerade niemand die Funktion aufruft, entstehen auch keine Kosten.[3]
  • In sich abgeschlossene Funktionen lassen sich gut warten und aktualisieren.
  • Eventgesteuert und reaktiv: Bei FaaS gibt es keinen laufenden Serverprozess. Stattdessen gibt es einen Funktionsaufruf sobald ein Triggerevent ausgelöst wurde, zum Beispiel ein HTTP-Aufruf.

Abgrenzung

Bearbeiten

Bei Function as a Service wird ausschließlich die Geschäftslogik selbst verwaltet, während diese bei Software as a Service vom SaaS-Anbieter gemanagt wird. Als Abgrenzung zu Backend as a Service werden bei FaaS nur einzelne Funktionen, nicht ganze Anwendungen selbst implementiert.

Anwendungsfälle

Bearbeiten
  • Alexa Skills
  • Verbindung mehrerer SaaS-Systeme (Glue Code)
  • Single-Page Applications[4]
  • Rechenintensive Komponenten, die zustandlos sind
  • Zeitlich gesteuerte Aufgaben

FaaS-Lösungen

Bearbeiten

Siehe auch

Bearbeiten
Bearbeiten

Einzelnachweise

Bearbeiten
  1. Martin Fowler: Serverless Architectures. martinfowler.com abgerufen am 6. März 2018
  2. Steffen Jacobs: Function as a Service. blog.oio.de (Memento des Originals vom 10. August 2020 im Internet Archive)  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/blog.oio.de abgerufen am 6. März 2018
  3. Lars Röwekamp: Serverless Computing. heise.de abgerufen am 6. März 2018.
  4. Matt Watson: What Is Function-as-a-Service? Serverless Architectures Are Here! stackify.com abgerufen am 6. März 2018
  5. openwhisk.apache.org

📚 Artikel Terkait di Wikipedia

Lambda

die Ausführung von Code ohne Bindung an einen konkreten Server („Serverless Computing“). Der Großbuchstabe Λ (nicht zu verwechseln mit dem Logiksymbol

Everything as a Service

Service: Was ist serverless Computing? informatik-aktuell.de, 17. Februar 2017, abgerufen am 23. Mai 2017.  Mike Roberts: Serverless Architectures. martinfowler

Liste der Portnummern

and Presence Protocol (XMPP) JEP-0174: Link-Local Messaging / XEP-0174: Serverless Messaging offiziell 5351 TCP UDP NAT Port Mapping Protocol offiziell 5353

Quarkus

schnelleren Startzeit, für die Anwendung im Container oder im serverless Kontext eignet. Serverless meint dabei eine Anwendung ohne eigene Serververwaltung

WS-Routing

Anwendungsszenarien wie das Internet of Things (IoT), mobile Anwendungen und Serverless Computing. Neben REST haben sich weitere Protokolle und Standards entwickelt

IBM Cloud

Continuous Delivery für Bluemix. 7. Dezember 2016, abgerufen am 29. Mai 2019.  Serverless Programming: IBMs OpenWhisk ist fertiges Cloud-Produkt. 20. Dezember 2016