Best Practice

FaaS: Function as a Service

Entwicklung dynamischer Anwendungen mit hoher Skalierbarkeit und geringen Infrastrukturkosten.

#FaaS
#cloud computing
#serverless

Eine neue Variante des Cloud Computing

Function-as-a-Service (FaaS) ist eine Variante des Serverless Cloud Computing, die das Ausführen einer Anwendung durch Aktivierung einer Funktion bei Eintreten eines bestimmten Ereignisses ermöglicht. Nach deren Beendigung wird die Ausführung sofort wieder eingestellt, so dass keine dauerhafte Infrastruktur unterhalten werden muss.

Dies ermöglicht es den Benutzern, ihre Anwendung auszuführen, ohne eine zugrundeliegende Recheninfrastruktur einrichten und konfigurieren zu müssen. Sie können sich stattdessen auf die Entwicklung konzentrieren, ohne sich um die Erstellung und Vorbereitung der Infrastrukturumgebung kümmern zu müssen.

Die Grundlage für FaaS bilden in der Regel „stateless“ Container, wobei die Funktionen als Antwort auf ein bestimmtes Ereignis ausgeführt werden. FaaS ermöglicht besonders einfach und schnelle die Erstellung temporärer, jedoch zugleich skalierbarer Laufzeitumgebungen.

Vorteile bei Skalierbarkeit, Preismodell und Betriebskosten

Function-as-a-Service bietet verschiedene Vorteile gegenüber gängigen Modellen wie Infrastructure-as-a-Service (IaaS) und Platform-as-a-Service (PaaS), aber auch im Vergleich mit traditionellen On-Premises-Infrastrukturen.

Picture

Skalierbarkeit

Die Skalierbarkeit ist durch die Technologie als solche bedingt: Das Scaling wird in vollständig transparenter Weise durch die Plattform gehandhabt und ist bei Nutzung eines Cloud Service Providers praktisch unbegrenzt. So kann zum Beispiel auf den wechselnden Bedarf der Benutzer (beispielsweise bei Marketing-Kampagnen) reagiert werden, ohne dazu zusätzliche Vorgänge ausführen zu müssen.

Preismodell

Das Priesmodell der FaaS-Modelle ist „Pay per use“: Der primäre Abrechnungsfaktor ist die Anzahl der Aufrufe bei der Anwenundung. Dies führt weg von alten Paradigmen, wie dem Zuweisen von Speicher oder Prozessoren, und hin zu Konzepten, die dieVariabilität der Geschäftsanforderungen berücksichtigen.

Betriebskosten

Da keinerlei Infrastruktur benötigt wird, sind die Total Cost of Ownership (TCO) der Lösung geringer. Außerdem ist die FaaS-Technologie so konzipiert, dass sie mit gängigen Instrumenten des Software Development LifeCycle (SDLC) wie Pipelines und Infrastracture as Code (IaC) gut steuerbar ist.

Ein Vergleich zwischen den verschiedenen Modellen der Cloud Service Provider

In den Laboren von Reply haben wir Versuche durchgeführt, um die Einsparpotenziale verschiedener Services öffentlicher Cloud Service Provider zu ermitteln.

Unter Nutzung der Frameworks sowie einer typischen Architektur für eine Enterprise-Intranet-Anwendung wurde eine Anwendung entwickelt, auf der dann der Traffic realer Benutzer für drei verschiedene Szenarien simuliert wurde: IaaS, PaaS und FaaS.

Bei IaaS wurde auf die Nutzung automatischer Prozesse verzichtet: In diesem Fall wird das Sizing für die „Spitzenlast“ berechnet. Bei PaaS wurde die Anwenderlast separiert, so dass nicht genutzte Ressourcen frei blieben. Für FaaS war keine Zuweisung von Ressourcen erforderlich, da das Sizing der Lastkurve folgt.

Die Ergebnisse dieser Studie von Reply haben gezeigt, dass bei großen Schwankungen des Traffic die Einsparung gegenüber IaaS bei der Nutzung von PaaS 40 Prozent betrug und 70 Prozent bei der Nutzung von FaaS.

Picture

Lessons Learned aus der Erfahrung von Reply

Reply verfügt über eine fundierte Expertise bei der Nutzung von FaaS-Modellen – sowohl in On-Premises-Umgebungen mit OpenFaaS-Technologie als auch in der Cloud, unter Nutzung der verschiedenen Services, die alle führenden Cloud Service Provider bereitstellen.

Die Erfahrung hat gezeigt, dass jedes Unternehmen seine eigene Lastkurve, Saisonalität und mitunter auch seine eigenen Ruhephasen hat. Nach Auswertung der von Reply verwalteten Anwendungen wurden diese in drei Makro-Kategorien eingeteilt:

  • Follow the Sun: Anwendungen, die weltweit rund um die Uhr von Kunden genutzt werden.

  • B2C Applications: Anwendungen, die in der Regel eine M-förmige Kurve aufweisen, mit einem Rückgang des Traffic am Wochenende.

  • Working Hours: Anwendungen mit hohem Traffic während der Arbeitszeiten und praktisch keinem in der übrigen Zeit.

Da das Kostenmodell „Pay per use“ angewandt wird, schneiden letztere Anwendungen am besten ab. Das liegt an dem Umstand, dass mit FaaS im Vergleich zu anderen Umgebungen, die jederzeit „up and running“ sein müssen, die Kosten in Phasen ohne Nutzung auf null gesenkt werden können.

Dank der Partnerschaften mit allen führenden Cloud Service Providern kann Reply Unternehmen unterstützen, die Vorteile der Nutzung eines FaaS-Modells für bestehende und in Planung befindliche Anwendungen zu analysieren.