FaaS und weitere Cloud-Computing-Dienste

Was ist Function as a Service?

FaaS bezeichnet einen serverlosen Backend-Dienst, der es Entwicklern ermöglicht, modulare Codebausteine flexibel zu schreiben und als Reaktion auf bestimmte Ereignisse auszuführen.

Mit Serverless Computing können Entwickler Anwendungen erstellen und ausführen, ohne sich um die Cloud-Infrastruktur kümmern zu müssen. Server sind auch bei Serverless vorhanden, jedoch vom Anwendungsentwicklungsprozess entkoppelt. Ein Cloud-Anbieter übernimmt die Routineaufgaben wie Bereitstellung, Wartung und Skalierung der Serverinfrastruktur mithilfe einer serverlosen Architektur, sodass sich Entwickler ausschließlich auf den Code für das Deployment konzentrieren können.

Obwohl die Begriffe Function as a Service (FaaS) und Serverless manchmal synonym verwendet werden, haben sie zwei unterschiedliche Definitionen. FaaS ist eine Teilmenge des Serverless Computing, die sich auf ereignisgesteuerte Trigger konzentriert, bei denen Code als Reaktion auf Ereignisse oder Anfragen ausgeführt wird. Während Serverless jede Kategorie beschreibt, in der der Server vollständig vom Endbenutzer entkoppelt ist, ist FaaS eine Unterkategorie des Serverless Computing, die auf ereignisgesteuerte Trigger ausgerichtet ist, bei denen Code als Reaktion auf Ereignisse oder Anfragen ausgeführt wird. Der Server wird heruntergefahren, wenn keine ereignisgesteuerten Anfragen vorliegen, wodurch seine Ressourcen für nachfolgende Anfragen frei werden. FaaS reagiert auf die Nachfrage und skaliert nach der Aktivierung bedarfsgerecht hoch und runter. Wenn eine serverlose Funktion inaktiv ist, verursacht sie kaum Kosten, was in verschiedenen Szenarien Kosteneinsparungen ermöglicht.

Zusammenhang zwischen PaaS, IaaS und FaaS

Platform as a Service (PaaS), Function as a Service (FaaS) und Infrastructure as a Service (IaaS) sind als Cloud-Computing-Dienste bekannt. Der Unterschied liegt im Abstraktionsgrad zwischen der Infrastruktur und dem Benutzer.

IaaS bietet die geringste Abstraktion. Benutzer von IaaS haben volle Kontrolle über ihre Infrastruktur sowie die zugehörigen Tools und Software. Sie müssen jedoch nicht die physische Infrastruktur wie Rechenzentren verwalten oder steuern. IaaS ermöglicht es Entwicklern, selbst zu wählen, welche Abstraktionsebenen sie nutzen möchten. Sie können alles selbst steuern und verwalten oder Funktionen wie Load Balancer und verwaltete Dienste hinzuschalten, um die Wartung ihrer Anwendung zu erleichtern.

Für den Endbenutzer bietet PaaS eine zusätzliche Abstraktionsebene. Benutzer von PaaS müssen sich nicht um die Verwaltung des Betriebssystems, der Laufzeitumgebung oder anderer Infrastrukturbestandteile ihrer Anwendung kümmern. Dennoch haben sie detaillierte Kontrolle über die zugrunde liegenden Infrastrukturoptionen und Anwendungen. PaaS bietet eine vollständig verwaltete Infrastrukturoption für Entwickler, die Anwendungen schnell bereitstellen möchten. Entwickler, die PaaS wählen, können sich auf ihre Arbeit konzentrieren, während der Anbieter Systemadministration und Backend-Prozesse übernimmt.

FaaS bietet dem Betreiber die höchste Abstraktion und die spezifischste Funktionalität der drei Modelle. Mit FaaS erhalten Programmierer Zugriff auf ein System, das Anwendungslogik bedarfsgerecht ausführt, während der Dienstanbieter alle Systemressourcen und sonstigen Infrastrukturkomponenten verwaltet.

Unterschiede zwischen PaaS und FaaS

Obwohl FaaS- und PaaS-Produkte auf den ersten Blick sehr ähnlich erscheinen mögen, gibt es wichtige Unterschiede, die bei der Auswahl der besten Lösung zu berücksichtigen sind.


● Konfiguration: FaaS hat aufgrund seines einfachen Anwendungsfalls und der vollständig verwalteten Lösungen eine kurze Bereitstellungszeit. Obwohl PaaS einen höheren Abstraktionsgrad als andere Cloud-Computing-Dienste bietet, erfordert es dennoch einige Konfiguration. Je nachdem, wie viel Kontrolle Sie wünschen, kann dies ein Vorteil oder ein Nachteil sein.
● Betrieb: FaaS-Lösungen starten und beenden gesamte Anwendungen für einzelne Anfragen. Während PaaS die Möglichkeit bietet, bedarfsgerecht zu skalieren, stehen Ressourcen in der Regel jederzeit zur Verfügung. Latenz, Kosten und die Fähigkeit, komplexe Anfragen zu bearbeiten, können durch dieses FaaS-Merkmal beeinflusst werden.
● Skalierbarkeit: PaaS kann bedarfsgerecht hoch- und herunterskaliert werden, aber der Entwickler muss dies berücksichtigen und konfigurieren. Bei FaaS ist keine Kapazitätsplanung erforderlich. Es skaliert mühelos nach Bedarf.
● Preise: Die Preise für PaaS variieren je nach Anbieter, sind jedoch bei geringer Auslastung häufig höher als bei FaaS. Wenn Ereignistrigger selten sind, können Entwickler mit FaaS pro Funktionsaufruf bezahlen und so Kosten sparen. PaaS kann bei gleichmäßiger oder hoher Auslastung die wirtschaftlichere Lösung sein.

Wie funktioniert FaaS?

In frühen Anwendungen wurde häufig die monolithische Architektur verwendet. Die Anwendung wurde dabei als eine einzige Operation konzipiert, die ausgeführt werden musste. Microservices sind bei Entwicklern immer beliebter geworden. Microservices bestehen aus einer Reihe von Komponenten, die unabhängig voneinander bereitgestellt werden können. Sie sind einfacher zu warten und zu testen, da sie separat bearbeitet werden können.

Idealerweise ist eine Funktion ein Microservice, der als Reaktion auf ein Ereignis eine einzelne Aktion ausführt. Der Anbieter startet einen Server, wenn eine Funktion in FaaS aufgerufen wird. Er führt den Code aus und schaltet den Server anschließend wieder ab. Da der Server abgeschaltet wird, sind die serverlosen Dienste nur aktiv, wenn die Funktion tatsächlich genutzt wird, wodurch dieselben Computerressourcen anderweitig eingesetzt werden können.

Entwickler mit Zugriff auf die FaaS-Plattform können ihren Anwendungscode ausführen. Die Stärke von FaaS liegt in seiner Einfachheit. Um FaaS optimal zu nutzen, müssen Entwickler sicherstellen, dass eine Funktion nur eine einzelne Aktion ausführt. Der Funktionsumfang sollte begrenzt und effizient sein. Die Verwendung zu vieler Bibliotheken oder das Aufrufen einer Funktion durch eine andere führt zu langsamerer Ausführung und höheren Kosten.

Vorteile von FaaS

Die Verwendung einer FaaS-Architektur bietet zahlreiche Vorteile. Hier sind einige Gründe, warum Sie FaaS für Ihre Anwendung wählen könnten:


● Volle Konzentration auf die Programmierung und Entwicklung Ihrer Anwendung
● Bezahlung nur für die tatsächliche Nutzung – kostensparend
● Automatische Skalierung ohne Kapazitätsplanung oder regelmäßige Wartung
● Kürzere Markteinführungszeit dank einfacher Tests und Entwicklung

Überlegungen bei der Auswahl von FaaS

Von Webanwendungen über Online-Chatbots bis hin zur Datenverarbeitung und Backend-Funktionen – FaaS lässt sich auf vielfältige Weise einsetzen. Berücksichtigen Sie folgende Punkte, bevor Sie einen FaaS-Anbieter wählen:


● Workloads: FaaS eignet sich gut für einfache und wiederkehrende Aufgaben, die wenig Aufwand erfordern oder viele Anfragen generieren. Da FaaS pro ausgeführter Funktion berechnet wird, können die Kosten bei intensiver Nutzung höher sein als bei einer PaaS-Lösung. FaaS ist eine hervorragende Lösung zur Vereinfachung der Bereitstellung und Kostensenkung, wenn Ihre Workload relativ gering ist.
● Kontrolle: FaaS gehört zu den am stärksten abstrahierten Cloud-Produkten. Überlegen Sie, wie viel Einblick und Kontrolle Sie über Ihre Konfigurationen und Infrastruktur benötigen. Probieren Sie eine PaaS-Lösung, wenn Sie etwas mehr Kontrolle als bei FaaS wünschen, aber die gleiche Benutzerfreundlichkeit beibehalten möchten. Teams, die vollständige Kontrolle über ihr Produktionsökosystem sowie die Gestaltung und das Verhalten ihrer Infrastruktur übernehmen möchten, sollten eine IaaS-Lösung in Betracht ziehen.
● Vendor Lock-in: Dieser Begriff beschreibt eine Situation, in der die Migration von Anwendungen zwischen Anbietern schwierig sein kann. Die Verwendung von Open-Source-Cloud-Technologien erleichtert die Verlagerung von Computing-Aktivitäten von einem einzelnen Anbieter zu anderen.

Verwandte Artikel

Weitere Sonderangebote entdecken

  1. Short Message Service (SMS) und E-Mail-Dienst

    50,000 email package starts as low as USD 1.99, 120 short messages start at only USD 1.00

phone Kontakt
Hi, I'm Alibaba Cloud AI Assistant!
I can help with questions and solutions.