FaaS ist ein Serverless-Backend-Dienst, der es Entwicklern gestattet, im laufenden Betrieb modularen Code zu schreiben, der als Reaktion auf bestimmte Ereignisse ausgeführt werden kann.
Nach Lektüre dieses Artikels können Sie Folgendes:
Link zum Artikel kopieren
Function-as-a-Service (FaaS) ist eine serverlose Möglichkeit, modularen Code an der Edge auszuführen. Mit FaaS können Entwickler Code im laufenden Betrieb schreiben und aktualisieren, der dann als Reaktion auf ein Ereignis ausgeführt werden kann, z. B. wenn ein Benutzer auf ein Element in einer Webanwendung klickt. Das erleichtert die Skalierung von Code und ist eine kostengünstige Möglichkeit, Microservices zu implementieren.
Wenn eine Webanwendung ein Kunstwerk wäre, wäre die Verwendung einer Microservice-Architektur so, als setzte man die Kunst aus einer Sammlung von Mosaikfliesen zusammen. Der Künstler kann problemlos jeweils eine Fliese hinzufügen, ersetzen und reparieren. Monolithische Architektur wäre, als malte man das gesamte Werk auf eine einzige Leinwand.
Dieser Ansatz zum Erstellen einer Anwendung aus einer Reihe modularer Komponenten wird als Microservice-Architektur bezeichnet. Die Aufteilung einer Anwendung in Microservices ist für Entwickler attraktiv, da sie kleine Codeteile erstellen, ändern und einfach in ihre Codebasen implementieren können. Das steht im Gegensatz zur monolithischen Architektur, bei der der gesamte Code in einem großen System miteinander verwoben ist. In großen monolithischen Systemen erfordern selbst geringfügige Änderungen der Anwendung einen umfangreichen Bearbeitungsprozess. FaaS eliminiert diese Komplexität der Bearbeitung.
Mit Serverless-Code wie FaaS können sich Webentwickler auf das Schreiben des Anwendungscodes konzentrieren, während der Serverless-Provider sich um die Serverzuweisung und die Backend-Dienste kümmert.
Mit FaaS können Entwickler mehr Zeit für das Erstellen der Anwendungslogik aufwenden und müssen sich weniger mit Servern und Bereitstellungen beschäftigen. Das bedeutet normalerweise eine viel kürzere Entwicklungsdauer.
Da FaaS-Code von vornherein skalierbar ist, müssen sich Entwickler nicht mit der Schaffung von Möglichkeiten für hohen Traffic oder intensive Nutzung befassen. Der Serverless-Provider bewältigt alle Skalierungsprobleme.
Im Gegensatz zu herkömmlichen Cloud-Providern berechnen Provider des serverlosen FaaS ihren Kunden keine Leerlaufzeiten. Aus diesem Grund zahlen die Kunden nur für die Rechenzeit, die sie nutzen, und müssen kein Geld für die Bereitstellung von Cloud-Ressourcen verschwenden.
Wenn ein Dritter einen Teil der Infrastruktur verwaltet, ist es schwierig, das gesamte System zu verstehen, und beim Debugging treten zusätzliche Herausforderungen auf.
Die Integration von FaaS-Code in eine lokale Testumgebung kann sehr schwierig sein, was das gründliche Testen einer Anwendung zu einer schwierigeren Aufgabe macht.
Entwickler müssen eine Verbindung zu einem Serverless-Provider herstellen, um die FaaS-Funktionalität für eine Webanwendung zu aktivieren. Da die FaaS-Integration bedeutet, dass ein Teil des Anwendungscodes vom Edge bereitgestellt wird, ist die Verfügbarkeit und geografische Verteilung der Edge-Server ein wichtiger Gesichtspunkt. Benutzer in Italien, die auf eine Site zugreifen, die auf FaaS-Edge-Code basiert, der von einem überlasteten Rechenzentrum in Brasilien bereitgestellt wird, erleiden Verzögerungen in einer Größenordnung, die zu hohen Abwanderungsraten führt. Cloudflare Workers ist eine FaaS-Lösung, die das globale Netzwerk von Cloudflare mit über 330 Edge-Servern nutzt und es damit sehr populär macht.