Serverless Computing für Anfänger verstehen

Grundlagen des Serverless Computing: Ein tiefer Einblick

Wenn von „serverlosem“ Rechnen die Rede ist, entsteht oft der Eindruck, dass bei diesem Ansatz keine Server zur Ausführung von Code oder anderen Entwicklungsaufgaben benötigt werden. Das ist jedoch ein weit verbreitetes Missverständnis.

Nachdem dieser Mythos entkräftet wurde, mag man sich fragen, welche Logik hinter dem Begriff „serverless“ steckt.

Hier ein Denkanstoß: „Serverless“ bedeutet nicht „ohne Server“, sondern bezieht sich darauf, WIE Server verwaltet und eingesetzt werden.

Verwirrend, nicht wahr?

In diesem Beitrag werden wir alles über Serverless Computing und verwandte Konzepte beleuchten, um Unklarheiten zu beseitigen. Es ist bemerkenswert, dass Serverless zunehmend an Bedeutung gewinnt. Tatsächlich wird der Markt für serverlose Lösungen voraussichtlich bis 2021 auf 7,7 Milliarden US-Dollar anwachsen, verglichen mit 1,9 Milliarden US-Dollar im Jahr 2016.

Lassen Sie uns also die Welt von Serverless erkunden und die Gründe für ihre wachsende Popularität verstehen.

Was genau ist Serverless Computing?

Serverless Computing ist ein cloudbasiertes Ausführungsmodell, bei dem Cloud-Anbieter nach Bedarf Rechenressourcen zur Verfügung stellen und die Serververwaltung übernehmen, anstatt dass Kunden oder Entwickler dies tun müssen. Es ist eine Methode, um Dienste, Strategien und bewährte Praktiken zu kombinieren, um Entwickler bei der Erstellung cloudbasierter Anwendungen zu unterstützen, indem sie sich auf ihren Code anstatt auf die Serververwaltung konzentrieren können.

Von der Ressourcenallokation über Kapazitätsplanung, Verwaltung, Konfiguration und Skalierung bis hin zu Patches, Updates, Planung und Wartung – der Cloud-Service-Provider (wie AWS oder Google Cloud Platform) übernimmt die volle Verantwortung für die Bewältigung allgemeiner Infrastrukturaufgaben. Dadurch können sich Entwickler auf die Geschäftslogik ihrer Prozesse und Anwendungen konzentrieren.

Diese Serverless-Computing-Architektur hält Rechenressourcen nicht dauerhaft im Speicher. Stattdessen erfolgt die Berechnung in kurzen Intervallen. Wenn eine Anwendung nicht verwendet wird, werden ihr keine Ressourcen zugewiesen. Somit bezahlen Sie nur für die tatsächlich genutzten Ressourcen.

Das Hauptziel des serverlosen Modells besteht darin, die Codebereitstellung in der Produktionsumgebung zu vereinfachen. Oftmals funktioniert es auch mit traditionellen Ansätzen wie Microservices. Nach der Bereitstellung reagieren serverlose Anwendungen schnell auf Anfragen und skalieren je nach Bedarf automatisch hoch oder runter.

Serverless Computing verwendet ein ereignisgesteuertes Modell, um den Skalierungsbedarf zu bestimmen. Daher müssen Entwickler nicht länger die Nutzung einer Anwendung vorhersagen, um zu entscheiden, wie viele Server oder Bandbreite benötigt werden. Je nach steigendem Bedarf können sie mehr Server und Bandbreite ohne vorherige Reservierung anfordern oder bei Bedarf problemlos herunterfahren.

Die Entwicklung von Serverless

Das traditionelle System war mit Herausforderungen in Bezug auf Skalierbarkeit und Agilität im Entwicklungsprozess und der Bereitstellung von Apps verbunden. Mit dem wachsenden Bedarf an hochwertigen Apps mit schneller Markteinführung wurde ein besseres System benötigt, das mehr Skalierbarkeit und Agilität bietet. Dies führte zur Entwicklung von Cloud Computing und serverlosen Modellen.

Das Serverless-Modell hat sich in verschiedenen Phasen entwickelt, von monolithisch über Microservices bis hin zur serverlosen Architektur oder Function-as-a-Service (FaaS).

  • Monolithische Architektur: Dies ist ein traditioneller, einheitlicher Ansatz für die Softwareentwicklung. Es ist ein eng gekoppeltes Modell, bei dem jede Komponente und ihre Unterkomponenten Code kompilieren oder ausführen. Wenn ein Dienst ausfällt, können der gesamte Anwendungsserver und die darauf laufenden Dienste betroffen sein.
  • Microservice-Architektur: Hierbei handelt es sich um eine Sammlung kleinerer Dienste innerhalb einer größeren Anwendung, die unabhängig voneinander bereitgestellt werden, um eine bestimmte Funktion auszuführen. Sie ermöglicht eine schnelle Bereitstellung von Anwendungen in großem Maßstab und bietet Entwicklern Flexibilität mit Infrastructure-as-a-Service (IaaS) und Platform-as-a-Service (PaaS). Die Wahl zwischen PaaS und IaaS ist in diesem Modell jedoch eine Herausforderung.
  • Serverlose Architektur: Sie hat sich mit dem Cloud Computing entwickelt und bietet mehr Skalierbarkeit und geschäftliche Agilität. Anstelle von IaaS und PaaS nutzt sie FaaS und Backend-as-a-Service (BaaS). Hier werden Apps nach Bedarf bereitgestellt, zusammen mit den erforderlichen Ressourcen. Sie müssen den Server nicht verwalten und können die Zahlung einstellen, sobald die Codeausführung abgeschlossen ist.

Eigenschaften von Serverless Computing

Einige der charakteristischen Eigenschaften von Serverless Computing:

  • Die meisten Anwendungen, die Serverless nutzen, bestehen aus einzelnen Funktionen und kleinen Codeeinheiten.
  • Code wird nur bei Bedarf ausgeführt, in der Regel in einem zustandslosen Softwarecontainer, und die Skalierung erfolgt nahtlos je nach Bedarf.
  • Auf Kundenseite ist keine Serververwaltung erforderlich.
  • Die Ausführung erfolgt ereignisbasiert, wobei die Computerumgebung erstellt wird, sobald eine Funktion ausgelöst oder ein Ereignis empfangen wird.
  • Flexible Skalierbarkeit ermöglicht es, problemlos nach oben oder unten zu skalieren. Wenn Code nicht mehr ausgeführt wird, wird die Infrastruktur angehalten und Kosten werden gespart. Bei laufender Funktion ist eine unbegrenzte Aufwärtsskalierung möglich.
  • Verwaltete Cloud-Dienste können für komplexe Aufgaben wie Dateispeicherung, Warteschlangen, Datenbanken und mehr genutzt werden.

Wie funktioniert Serverless?

Die serverlose Architektur kombiniert zwei Schlüsselkonzepte: Function-as-a-Service (FaaS) und Backend-as-a-Service (BaaS). Sie basiert vor allem auf FaaS, welches Cloud-Dienste für die Codeausführung bereitstellt, ohne dass vollständig bereitgestellte Instanzen erforderlich sind. FaaS umfasst zustandslose, ereignisgesteuerte, skalierbare und serverseitige Funktionen, die vollständig von Cloud-Diensten verwaltet werden.

Dieses Modell ermöglicht es DevOps-Teams, Code zu schreiben, der sich auf ihre Geschäftslogik konzentriert. Sie definieren ein Ereignis (z.B. HTTP-Anfragen), das die Ausführung der Funktion auslöst. Der Cloud-Anbieter führt die Funktion dann aus und sendet die Ergebnisse an die Anwendungen, die den Benutzern angezeigt werden.

Auf diese Weise bietet das Serverless-Modell Kosteneffizienz und Komfort mit automatischer Skalierung, On-Demand-Funktionalität und nutzungsabhängiger Abrechnung. Daher setzen heutzutage viele Unternehmen und DevOps-Teams auf Serverless.

Wer nutzt Serverless und warum?

Serverless gehört zu den am weitesten verbreiteten Technologien in der Softwareentwicklung. Es könnte in Zukunft den Bedarf an Infrastrukturverwaltung und -bereitstellung eliminieren.

Es ist nützlich für:

  • Organisationen, die mehr Skalierbarkeit und Flexibilität mit verbesserter App-Testbarkeit wünschen.
  • Entwickler, die die Markteinführungszeit durch agile und leistungsstarke Apps verkürzen möchten.
  • Unternehmen, die ihre Server nicht kontinuierlich laufen lassen müssen. Sie können bei Bedarf modulbasierte Funktionen über Anwendungen aufrufen und so Kosten sparen.
  • Organisationen, die effiziente cloudbasierte Apps entwickeln und die Cloud-Migration vereinfachen möchten.
  • Entwickler, die nach Möglichkeiten suchen, die Latenz zu reduzieren und Benutzern Zugriff auf ausgewählte Funktionen oder Anwendungen zu ermöglichen.
  • Unternehmen, die nicht über ausreichend Ressourcen zur Wartung und Bewältigung der Komplexität der IT-Infrastruktur verfügen und sich für serverloses Computing entscheiden, um Probleme automatisch zu lösen.

Einige bekannte Beispiele für den Einsatz von Serverless sind Slack, Coca-Cola, Netflix usw.

Aufgrund seiner einzigartigen Eigenschaften ist das serverlose Modell für viele Anwendungsfälle geeignet, wie zum Beispiel:

  • Webanwendungen: Dieses Modell ermöglicht die Erstellung schneller und skalierbarer Webanwendungen, die zügig auf Benutzeranfragen reagieren. Es ist ideal für den Aufbau zustandsloser Anwendungen, die sofort gestartet werden können, und von Anwendungen, die unvorhergesehene, seltene Spitzen in den Benutzeranforderungen bewältigen können.
  • API-Backends: Auf serverlosen Plattformen kann jede Funktion einfach in HTTP-Endpunkte umgewandelt werden, die von Clients genutzt werden können. Diese Funktionen oder Aktionen werden als Webaktionen bezeichnet, wenn sie im Web aktiviert sind. Sobald diese aktiviert sind, ist es einfach, die Funktionen zu einer vollwertigen API zusammenzufügen. Ein gutes API-Gateway kann für mehr Sicherheit, Unterstützung von Domänen, Ratenbegrenzung und OAuth-Unterstützung eingesetzt werden.
  • Microservices: Serverless wird oft im Microservices-Modell verwendet, das auf den Aufbau kleiner Dienste abzielt, die eine einzelne Funktion ausführen und über APIs miteinander kommunizieren können. Obwohl Microservices mithilfe von Softwarecontainern und PaaS aufgebaut werden können, ist Serverless effizienter. Es ermöglicht kleinere Codeeinheiten, die eine Aufgabe erfüllen, und bietet schnelle Bereitstellung, automatische Skalierung und flexible Preisgestaltung, bei der Kunden nur zahlen, wenn Ressourcen tatsächlich verwendet werden.
  • Datenverarbeitung: Serverless eignet sich hervorragend für die Arbeit mit Daten wie Videos, Audio, Bildern und strukturierten Texten. Es kann für verschiedene Aufgaben wie Datenvalidierung, -transformation, -anreicherung, -bereinigung, Audionormalisierung und PDF-Verarbeitung eingesetzt werden. Es kann auch für Bildverarbeitungsaufgaben wie Schärfen, Drehen, Erstellen von Miniaturansichten und Rauschunterdrückung genutzt werden. Weitere Anwendungen für Serverless in der Datenverarbeitung sind Videotranskodierung und optische Zeichenerkennung (OCR).
  • Stream-/Batch-Verarbeitung: Mit FaaS und einer Datenbank mit Apache Kafka können leistungsstarke Streaming-Apps und Datenpipelines erstellt werden. Das serverlose Modell eignet sich für verschiedene Stream-Aufzeichnungen, einschließlich Daten für App-Protokolle, IoT-Sensoren, Geschäftslogik und den Finanzmarkt.
  • Parallele Berechnungen: Serverless ist hervorragend für Aufgaben im Zusammenhang mit paralleler Berechnung geeignet, bei denen jede Aufgabe parallel ausgeführt wird, um eine bestimmte Aufgabe zu erledigen. Es kann die Datenforschung, -verarbeitung, Kartenoperationen, Web-Scraping, Genomverarbeitung, Hyperparameter-Tuning usw. umfassen.
  • Weitere Anwendungen: Serverless wird auch für zahlreiche andere Anwendungen eingesetzt, wie Customer-Relationship-Management (CRM), Finanzen, Chatbots sowie Business Intelligence und Analytics.

Hinweis: Serverless ist nicht immer die ideale Lösung. Große Anwendungen mit vorhersehbaren und nahezu konstanten Arbeitslasten könnten beispielsweise besser von einer traditionellen Systemarchitektur profitieren. Hier können dedizierte Server (verwaltet oder selbstverwaltet) die bessere Wahl sein. Wenn Ihr Unternehmen bereits über umfangreiche, traditionelle Systeme mit Altsystemen und Anwendungen verfügt, kann der Umstieg auf eine völlig neue Architektur teuer und komplex sein.

Vor- und Nachteile von Serverless Computing

Wie jede Technologie hat auch die serverlose Architektur ihre Vor- und Nachteile. Es ist wichtig, beide Seiten zu kennen, bevor man entscheidet, ob sie die richtige Wahl für Ihr Unternehmen ist.

Vorteile 👍

Einige der Vorteile der serverlosen Architektur:

Kosteneffizienz

Serverless bietet mehr Kosteneffizienz als der Kauf oder die Miete von Servern, für die Ressourcen bezahlt werden, auch wenn sie nicht verwendet werden.

Serverless nutzt ein Pay-as-you-go-Modell, bei dem nur für die tatsächlich verbrauchten Ressourcen bezahlt wird. Der Serverless-Anbieter berechnet nur den zugewiesenen Speicher und die Zeit für die Ausführung des Codes, ohne Kosten für Leerlaufzeiten.

Dies spart Betriebskosten für Aufgaben wie Installation, Lizenzen, Wartung, Patches, Support usw. Ohne Serverhardware werden auch Personalkosten gespart.

Skalierbarkeit

Serverlose Systeme bieten ein hohes Maß an Skalierbarkeit, da die Kapazität bei Bedarf jederzeit erweitert oder reduziert werden kann. Deshalb werden sie auch als „elastisch“ bezeichnet.

Entwickler müssen keine Zeit für die Einrichtung oder Feinabstimmung von Autoscaling-Systemen oder -Richtlinien aufwenden. Der gewählte Cloud-Anbieter übernimmt diese Aufgaben. Darüber hinaus können Entwicklerteams, auch kleine, ihren Code ohne Support-Ingenieure oder Infrastruktur betreiben.

Reduzierte Latenz

Da Anwendungen nicht über einen einzigen Ursprungsserver gehostet werden, kann Code von überall aus ausgeführt werden. Bei Unterstützung durch den Cloud-Anbieter können App-Funktionen auf einem Server in der Nähe des Endbenutzers ausgeführt werden. Durch die geringere Entfernung zwischen den Benutzeranfragen und dem Server wird die Latenz reduziert.

Produktivität

Das serverlose Modell trägt zur Steigerung der Produktivität bei, da sich Entwickler nicht um die Serververwaltung kümmern müssen. Sie müssen sich nicht direkt in ihrem Code mit der Verwaltung von HTTP-Anfragen oder Multithreading befassen.

Dadurch wird die Backend-Entwicklung durch FaaS vereinfacht, bei dem exponierter Code ereignisgesteuerte Funktionen sind. Dies spart Zeit, die für die Verbesserung des Codes und der Anwendung genutzt werden kann.

Schnellere App-Bereitstellung

Mit Serverless müssen Entwickler keine Backend-Konfiguration vornehmen und keinen Code auf Server hochladen, um eine App-Version bereitzustellen. Code kann schnell in kleinen Teilen hochgeladen werden, um neue Produkte zu veröffentlichen.

Die Flexibilität, Code sofort oder schrittweise zu bereitstellen, ist gegeben, da es sich nicht um eine monolithische Architektur handelt. Außerdem können Fehler in einer Anwendung schnell behoben, Funktionen hinzugefügt oder Patches installiert werden.

Weitere Vorteile sind: umweltfreundlicheres Computing durch reduzierten Energieverbrauch bei bedarfsgerechten Servern, einfachere App-Erstellung durch integrierte Integrationen, schnellere Markteinführung und vieles mehr.

Nachteile 👎

Die Nachteile von Serverless Computing:

Leistung

Selten verwendeter, serverloser Code kann eine höhere Antwortlatenz aufweisen als Code, der kontinuierlich auf dedizierten Servern, Softwarecontainern oder virtuellen Maschinen (VM) ausgeführt wird. Dies liegt daran, dass mehr Zeit für den Neustart benötigt wird, was zu einer zusätzlichen Latenz führt.

Schwierigkeiten beim Debuggen und Testen

Es muss bekannt sein, wie sich Code nach der Bereitstellung verhält. Dazu ist es erforderlich, den Code zu testen, was in einer serverlosen Umgebung eine Herausforderung darstellt. Da Entwickler keinen Einblick in alle Backend-Prozesse haben und Apps in kleinere Funktionen aufgeteilt sind, wird das Debuggen komplizierter.

Sicherheitsprobleme

Neue und fortschrittliche Bedenken hinsichtlich der Cybersicherheit nehmen zu. Die Sicherheit des Cloud-Anbieters ist jedoch nicht vollständig messbar oder bekannt. Wenn der Cloud-Anbieter das gesamte Backend mit sensiblen Anwendungsdaten verwaltet, birgt dies Risiken.

Nicht geeignet für lang andauernde Anwendungsprozesse

Serverless ist kosteneffizient, aber nicht für alle Arten von Anwendungen. Wenn eine Anwendung mit lang andauernden Prozessen vorhanden ist, können die Kosten für die Ausführung basierend auf der Zeit und den zugewiesenen Ressourcen sehr hoch sein. In diesem Fall kann ein dediziertes Server-Hosting die bessere Wahl sein.

Weitere Nachteile von Serverless sind Schwierigkeiten beim Wechsel von einem Anbieter zu einem anderen und Datenschutzbedenken.

Wichtige Terminologien in der serverlosen Architektur

Serverless ist nie vollständig, ohne einige wichtige Terminologien zu besprechen. FaaS und BaaS sind zwei der wichtigsten Konzepte, die zur Entwicklung des heutigen Serverless beigetragen haben. Für den Aufbau eines serverlosen Systems werden außerdem eine Datenbank, ein Speichersystem, ein Technologie-Stack, ein Framework und so weiter benötigt. Betrachten wir diese Begriffe genauer:

Function as a Service (FaaS)

FaaS ist ein zentraler Bestandteil von Serverless. Mit diesem ereignisgesteuerten Codeausführungsmodell (Apps, die als Reaktion auf eine Anfrage ausgeführt werden) können Sie Logik schreiben, die in Softwarecontainern bereitgestellt, bei Bedarf ausgeführt und von einer Cloud-Plattform verwaltet wird.

Im Vergleich zu BaaS bietet FaaS Entwicklern mehr Kontrolle beim Erstellen benutzerdefinierter Anwendungen, anstatt auf Bibliotheken mit vorgefertigtem Code zurückzugreifen.

Die Softwarecontainer, in denen der Code bereitgestellt wird, sind zustandslos, um die Datenintegration zu vereinfachen. Der Code wird kurz ausgeführt. Entwickler können serverlose Anwendungen über APIs mit FaaS aufrufen, die von Cloud-Anbietern über ein API-Gateway verwaltet werden.

Backend as a Service (BaaS)

BaaS ähnelt FaaS, da beide einen Drittanbieter erfordern. Bei diesem Modell stellt ein Cloud-Anbieter Backend-Dienste wie Datenspeicherung bereit, damit sich Entwickler auf das Schreiben ihres Frontend-Codes konzentrieren können. BaaS-Anwendungen sind jedoch nicht unbedingt ereignisgesteuert oder werden wie serverlose Anwendungen am Rande ausgeführt.

Ein gutes Beispiel für BaaS ist AWS Lambda. Entwickler verwenden serverlosen Code in Containern mit Lambda, die Richtlinien für die Codeeinreichung enthalten. Es automatisiert Prozesse bei der Einbindung von Code in Softwarecontainer und bietet einen verwalteten Service.

Serverless Stack

Wie bei anderen Softwaretechnologien verwendet auch die serverlose Architektur einen Technologie-Stack. Sie kombiniert verschiedene Komponenten, die für den Aufbau eines serverlosen Systems oder einer serverlosen Anwendung unerlässlich sind.

Der Serverless Stack umfasst:

  • Eine Programmiersprache: Hier schreiben die Entwickler ihren Code. Je nach Anbieter kann zwischen Java, JavaScript, Python, C#, Go, Node.js, F# usw. gewählt werden.
  • Ein Serverless Framework: Ein Framework bietet das Gerüst oder die Struktur für den Code. Es gibt viele serverlose Frameworks, die für den Einstieg genutzt werden können. Es ermöglicht das Erstellen, Packen und Kompilieren von Code und letztlich die Bereitstellung in der Cloud. Serverlose Frameworks beschleunigen den Codierungsprozess und vereinfachen die Skalierung durch kürzere Konfigurationszeiten. Beispiele hierfür sind Apex, AWS Serverless Application Model usw.
  • Serverlose Datenbanken: Diese werden zum Speichern von Daten verwendet, auf die Code zugreifen muss. Sie werden auch für die Interaktion mit Funktionen für Trigger benötigt. Diese Datenbanken verhalten sich wie serverlose Funktionen, speichern Daten jedoch dauerhaft. Beispiele hierfür sind DynamoDB, Azure Cosmos DB, Aurora Serverless und Cloud Firestore.
  • Eine Reihe von Triggern: Sie helfen, die Codeausführung zu starten, z. B. HTTP-Anfragen.
  • Softwarecontainer: Sie stärken das serverlose Modell und bieten containerisierte Microservices ohne Komplexität. Sie dienen als Repository für den Code und erleichtern Entwicklern das Schreiben von Code für verschiedene Plattformen wie Desktop oder iOS.
  • API-Gateways: Sie fungieren als Proxy für Webaktionen. Sie bieten HTTP-Routing, Ratenbegrenzung, Anzeige von API-Nutzungs- und Antwortprotokollen, Client-IDs usw.

Implementierung und Optimierung eines serverlosen Modells

Die Umstellung auf Serverless wird erhebliche Änderungen in Bezug auf Anwendungen, Technologie, Kosten, Sicherheit und Vorteile mit sich bringen.

Für Start-ups oder kleine Unternehmen kann die Time-to-Market verkürzt werden, und Updates können schnell durch vereinfachtes Testen, Debuggen, Feedback-Einholung und Problembehebung veröffentlicht werden, um Benutzern eine ausgefeilte Anwendung anzubieten.

Größere Unternehmen können von Vorteilen wie einer besseren Skalierbarkeit profitieren, um die Anforderungen ihrer Benutzer zu erfüllen, erfordern jedoch erhebliche Investitionen.

Es ist ratsam, die Vor- und Nachteile von Serverless im Hinblick auf den jeweiligen Geschäftstyp und die Bedürfnisse abzuwägen, bevor man eine Entscheidung trifft. Wenn eine Umstellung in Betracht gezogen wird, sollte folgendermaßen vorgegangen werden:

  • Die Anforderungen verstehen und einen geeigneten serverlosen Technologie-Stack identifizieren.
  • Einen Serverless-Anbieter wie Google Cloud Functions, Azure Functions, AWS Lambda usw. auswählen.
  • Das Team mit leistungsstarken Tools zur Überwachung der Systemleistung und -funktionen ausstatten. Hierbei sollten die Gesamtzahl der Anfragen, Drosselungen, Fehlerzahlen, Erfolgsraten, Anfragedauer und Latenz berücksichtigt werden.

Serverlose Anbieter

Auf dem Markt gibt es zahlreiche serverlose Anbieter bzw. Cloud-Anbieter. Einige der empfehlenswertesten sind:

  • AWS Lambda: Perfekt für Organisationen, die bereits AWS-Services nutzen. Es lässt sich in eine Vielzahl von Diensten für Speicherung, Streaming und Datenbanken integrieren.
  • Microsoft Azure Functions: Geeignet für Benutzer von Visual Studio Code. Funktioniert nahtlos mit DevOps und Azure Pipelines für CI/CD. Es unterstützt auch Durable Functions für zustandsbehaftete Funktionen und bietet eine integrierte Überwachung.
  • Google Cloud Functions: Geeignet für Benutzer von Google-Diensten. Es unterstützt JS-, Go- und Python-Anwendungen, ermöglicht die Auslösung von Funktionen über Google Assistant oder GCP und bietet integrierte Skalierung.
  • IBM Cloud Functions: Die richtige Wahl, wenn ein serverloses Modell auf Basis von Apache OpenWhisk gesucht wird. Es umfasst eine hervorragende Leistungsüberwachung, Ereignisauslösung über eine REST-API oder IBM Cloud-Services und lässt sich in IBMs API-Gateway integrieren, um Endpunkte zu verwalten.
  • Knative: Geeignet für Dienste, die auf Kubernetes ausgeführt werden. Wird von Google, Red Hat, IBM usw. unterstützt.
  • Cloudflare Workers: Geeignet für Anwendungen, die eine hohe Reaktionsfähigkeit erfordern, insbesondere JavaScript-Anwendungen. Es unterstützt Workers KV für die Datenspeicherung und WebAssembly für das Kompilieren und Bereitstellen mehrerer Sprachen. Sein umfangreiches Vertriebsnetz mit 193 Rechenzentren verbessert die Latenz und Reaktionsfähigkeit.

Fazit: Die Zukunft von Serverless

Serverless Computing entwickelt sich mit der steigenden Nachfrage nach hochskalierbaren Anwendungen stetig weiter. Es bietet viele Vorteile, die auch Cloud Computing mit sich bringt, wie mehr Komfort, Kosteneffizienz, höhere Produktivität und vieles mehr.

Laut einer O’Reilly-Umfrage arbeiten 40 % der Befragten in Unternehmen, die serverlose Architekturen eingeführt haben.

Obwohl es bei Serverless noch Bedenken gibt, wie Latenz durch Kaltstarts, Tests, Debugging usw., arbeiten die Cloud-Anbieter daran. Bald könnte eine verfeinerte Form von Serverless mit weiteren Vorteilen und gelösten Problemen auf den Markt kommen. Es wird daher erwartet, dass die Popularität und Nutzung des serverlosen Modells in Zukunft weiter zunehmen wird.

Das könnte Sie auch interessieren: 7 Ways Serverless Computing is a Rising Technology