Function as a Service (FaaS)
Was ist Function as a Service (FaaS)?
Function as a Service (FaaS) ist eine Form des serverlosen Cloud-Computing-Dienstes, die es ermöglicht, Code als Reaktion auf Ereignisse auszuführen, ohne die komplexe Infrastruktur zu unterhalten, die normalerweise mit der Erstellung und dem Start von Microservices-Anwendungen verbunden ist. Bei FaaS verwalten die Nutzer nur die Funktionen und Daten, während der Cloud-Anbieter die Anwendung verwaltet. So können Entwickler/innen die Funktionen nutzen, die sie brauchen, ohne für Dienste zu bezahlen, wenn der Code nicht läuft. Einige beliebte FaaS-Beispiele sind: AWS Lambda von Amazon, Google Cloud Functions und Microsoft Azure Functions.
Probleme, die damit gelöst werden
In einem traditionellen On-Premises-Szenario verwaltet und pflegt ein Unternehmen sein eigenes Rechenzentrum. Das Unternehmen muss in Server, Speicher, Software und andere Technologien investieren und möglicherweise IT-Mitarbeiter/innen oder Auftragnehmer/innen einstellen, um alle Geräte und Lizenzen zu kaufen, zu verwalten und zu aktualisieren. Das Rechenzentrum muss so gebaut werden, dass es auch dann Spitzenlasten bewältigen kann, wenn die Arbeitslast sinkt und die Ressourcen nicht ausgelastet sind. Umgekehrt kann die IT-Abteilung bei einem schnellen Wachstum des Unternehmens nicht mithalten. Bei einem standardmäßigen Infrastructure-as-a-Service (IaaS)-Cloud-Computing-Modell kaufen die Nutzer/innen Kapazitätseinheiten im Voraus, d.h. du bezahlst einen öffentlichen Cloud-Anbieter für ständig verfügbare Serverkomponenten, auf denen deine Anwendungen laufen. Damit liegt es in der Verantwortung des Nutzers, die Serverkapazität in Zeiten hoher Nachfrage anzupassen und sie wieder zu reduzieren, wenn sie nicht mehr benötigt wird. Die Cloud-Infrastruktur, die für den Betrieb einer Anwendung erforderlich ist, ist auch dann aktiv, wenn die Anwendung nicht genutzt wird.
Wie es hilft
FaaS bietet Entwicklern eine Abstraktion für die Ausführung von Webanwendungen als Reaktion auf Ereignisse, ohne dass sie Server verwalten müssen. Das Hochladen einer Datei kann zum Beispiel einen benutzerdefinierten Code auslösen, der die Datei in verschiedene Formate umwandelt. Die FaaS-Infrastruktur skaliert den Code automatisch, wenn er stark genutzt wird, und der Entwickler muss keine Zeit oder Ressourcen aufwenden, um den Code an die Skalierbarkeit anzupassen. Die Abrechnung erfolgt ausschließlich nach Rechenzeit, d.h. Unternehmen müssen nicht zahlen, wenn die Funktionen nicht genutzt werden.