Zum Inhalt springen

„Function as a Service“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
[gesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
Weiterleitungshinweis
tk k
Zeile 5: Zeile 5:
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.
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 [[Zustandslosigkeit|zustandslos]].<ref>''Serverless Architectures'' Martin Fowler, https://martinfowler.com/articles/serverless.html Abrufdatum: 6. März 2018</ref>
* Nur die Geschäftslogik mit den Funktionen wird selbst implementiert. Daher sind mit FaaS implementierte Anwendungen [[Zustandslosigkeit|zustandslos]].<ref>Martin Fowler: ''Serverless Architectures''. [https://martinfowler.com/articles/serverless.html martinfowler.com] abgerufen am 6. März 2018</ref>
* Für die [[Persistenz (Informatik)|Persistierung]] von Daten muss daher ein externer [[Datenbankserver]] oder ein Netzwerkdateisystem angebunden werden.
* Für die [[Persistenz (Informatik)|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 [[Horizontale Skalierung|horizontal skaliert]] werden können.<ref>''Function as a Service'', Steffen Jacobs, https://blog.oio.de/2018/02/14/function-as-a-service/, Abrufdatum: 6. März 2018</ref>
* FaaS ermöglicht eine besonders einfache Skalierbarkeit, da die zustandslosen Funktionen trivial [[Horizontale Skalierung|horizontal skaliert]] werden können.<ref>Steffen Jacobs: ''Function as a Service''. [https://blog.oio.de/2018/02/14/function-as-a-service/ blog.oio.de] abgerufen am 6. März 2018</ref>
* 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.<ref>''Serverless Computing'', Lars Röwekamp, https://www.heise.de/developer/artikel/Serverless-Computing-Teil-1-Theorie-und-Praxis-3756877.html, Abrufdatum: 6. März 2018.</ref>
* 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.<ref>Lars Röwekamp: ''Serverless Computing''. [https://www.heise.de/developer/artikel/Serverless-Computing-Teil-1-Theorie-und-Praxis-3756877.html heise.de] abgerufen am 6. März 2018.</ref>
* In sich abgeschlossene Funktionen lassen sich gut warten und aktualisieren.
* 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 [[Hypertext Transfer Protocol|HTTP]]-Aufruf.
* Eventgesteuert und reaktiv: Bei FaaS gibt es keinen laufenden Serverprozess. Stattdessen gibt es einen Funktionsaufruf sobald ein Triggerevent ausgelöst wurde, zum Beispiel ein [[Hypertext Transfer Protocol|HTTP]]-Aufruf.
Zeile 18: Zeile 18:
* [[Amazon Echo|Alexa]] Skills
* [[Amazon Echo|Alexa]] Skills
* Verbindung mehrerer SaaS-Systeme ([[Glue Code]])
* Verbindung mehrerer SaaS-Systeme ([[Glue Code]])
* Single-Page Applications<ref>'' What Is Function-as-a-Service? Serverless Architectures Are Here!'', Matt Watson, https://stackify.com/function-as-a-service-serverless-architecture/, Abrufdatum: 6. März 2018</ref>
* Single-Page Applications<ref>Matt Watson: ''What Is Function-as-a-Service? Serverless Architectures Are Here!'' [https://stackify.com/function-as-a-service-serverless-architecture/ stackify.com] abgerufen am 6. März 2018</ref>
* Rechenintensive Komponenten, die zustandlos sind
* Rechenintensive Komponenten, die zustandlos sind
* Zeitlich gesteuerte Aufgaben
* Zeitlich gesteuerte Aufgaben
Zeile 26: Zeile 26:
* Google Cloud Functions ([[Google]])
* Google Cloud Functions ([[Google]])
* Azure Functions ([[Microsoft]])
* Azure Functions ([[Microsoft]])
*Cloudflare Worker ([[Cloudflare]])
* Cloudflare Worker ([[Cloudflare]])
* Open Whisk (freies Projekt der [[Apache Software Foundation]]).<ref>https://openwhisk.apache.org/</ref>
* Open Whisk (freies Projekt der [[Apache Software Foundation]]).<ref>[https://openwhisk.apache.org/ openwhisk.apache.org]</ref>
* IBM Cloud Functions ([[IBM]], basiert auf OpenWhisk)
* IBM Cloud Functions ([[IBM]], basiert auf OpenWhisk)
* Oracle Cloud Fn ([[Oracle]])
* Oracle Cloud Fn ([[Oracle]])
Zeile 37: Zeile 37:
* [[Backend as a Service]]
* [[Backend as a Service]]


== Referenzen ==
== Einzelnachweise ==
<references />
<references />



Version vom 12. Juni 2022, 20:53 Uhr

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

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

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

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

FaaS-Lösungen

Siehe auch

Einzelnachweise

  1. Martin Fowler: Serverless Architectures. martinfowler.com abgerufen am 6. März 2018
  2. Steffen Jacobs: Function as a Service. 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