Was bedeutet Function-as-a-Service (FaaS)“?

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.

Share facebook icon linkedin icon twitter icon email icon

Function-as-a-Service

Lernziele

Nach Lektüre dieses Artikels können Sie Folgendes:

  • Faas definieren
  • Vor- und Nachteile von Faas ergründen
  • Beschreiben, warum ein großes Edge-Netzwerk für die Performance von Faas-Anwendungen unerlässlich ist

Was ist Function-as-a-Service?

Function-as-a-Service (FaaS) ist eine serverlose Möglichkeit, modularen Code am Rand 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.

Was sind Microservices?

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.

Microservices vs Monolithic Architecture

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.

Welche Vor- und Nachteile hat die Verwendung von FaaS?

Bessere Entwicklungsgeschwindigkeit

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.

Integrierte Skalierbarkeit

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.

Kosteneffizienz

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.

Worin bestehen die Nachteile von FaaS?

Geringere Kontrolle über das System

Wenn ein Dritter einen Teil der Infrastruktur verwaltet, ist es schwierig, das gesamte System zu verstehen, und beim Debugging treten zusätzliche Herausforderungen auf.

Das Testen erfordert eine höhere Komplexität

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.

Ersten Schritte mit FaaS

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 194 Edge-Servern nutzt und es damit sehr populär macht.