Definition Serverless Computing Was ist Serverless Computing?

Von Dipl.-Ing. (FH) Stefan Luber Lesedauer: 3 min |

Anbieter zum Thema

Serverless Computing ist ein Cloud-Computing-Ausführungsmodell, das Backend-Dienste dynamisch bereitstellt, ohne dass Anwender oder Entwickler sich um die zugrunde liegende Infrastruktur kümmern müssen. Abgerechnet wird nur die tatsächlich in Anspruch genommenen Nutzung der Dienste. Der Cloud-Anbieter ist für die Bereitstellung und die Verwaltung der für die Backend-Dienste benötigten Serverressourcen und Infrastrukturkomponenten verantwortlich.

Unter Serverless Computing versteht man die serverlose Bereitstellung dynamischer Backend-Dienste.
Unter Serverless Computing versteht man die serverlose Bereitstellung dynamischer Backend-Dienste.
(Bild: gemeinfrei / Pixabay)

Der englische Begriff "Serverless Computing" steht für ein cloudbasiertes Entwicklungs- und Ausführungsmodell. Beim serverlosen Computing stellt ein Cloud-Anbieter dynamisch nutzbare Backend-Dienste bereit, ohne dass sich Anwender oder Entwickler um die zugrunde liegenden Serverressourcen oder Infrastrukturkomponenten kümmern müssen. Abgerechnet wird nur die tatsächlich in Anspruch genommene Nutzung der bereitgestellten Dienste. Ungenutzte Dienste oder Funktionen im Leerlauf verursachen dem Kunden des Cloud-Anbieters keine Kosten. Der Begriff "Serverless" bedeutet aber nicht, dass keine physischen Server zur Bereitstellung und Ausführung der Backend-Dienste notwendig sind. Serverlos soll verdeutlichen, dass der Kunde keinerlei Kenntnisse über die zugrunde liegenden Server benötigt und der Anbieter alle notwendigen Infrastrukturkomponenten, Ressourcen und Server zur Bereitstellung der Dienste und Funktionen managt. Aus Anwendersicht ist die komplette Infrastruktur inklusive Server, Betriebssysteme, Laufzeitumgebungen und anderer Komponenten abstrahiert. Mithilfe des Serverless Computings lassen sich Anwendungen realisieren, die sich aus mehreren serverlosen Backend-Diensten und Funktionen zusammensetzen.

Zahlreiche Unternehmen bieten Cloud-Produkte für Serverless Computing an. Zu den bekanntesten Anbietern und Produkten zählen Amazon Lambda, Google Cloud Functions, Microsoft Azure Functions, IBM Cloud Functions, Oracle Cloud Functions, Hook.io oder Cloudflare Workers.

Ein Abgrenzungsversuch zwischen Serverless Computing und Function-as-a-Service (FaaS)

Oft wird Serverless Computing mit Function-as-a-Service (FaaS) gleichgesetzt. Genauer betrachtet handelt es sich bei FaaS aber lediglich um einen Teilbereich und um eine spezielle Form des Serverless Computings.

FaaS ist ereignisgesteuert und arbeitet nach dem Request-Response-Prinzip. Trigger lösen Events aus, die die Ausführung bestimmter Funktionen veranlassen. Die Funktionen verhalten sich passiv und sind zustandslos. Sie werden nur ausgeführt, wenn sie angesprochen werden. Die Funktionen liefern nach dem Aufruf Ergebnisse zurück und fallen anschließend in den Ausgangszustand zurück. In diesem Zustand warten sie auf den nächsten Funktionsaufruf. Sollen Daten oder Zustände gespeichert werden, muss dies außerhalb der Funktionen von einer übergeordneten Applikation oder durch die Einbindung einer Datenbank oder eines Dateisystems geschehen.

Das Konzept des serverlosen Computings umfasst aber wesentlich mehr Servicekategorien als die Bereitstellung und Ausführung von ereignisgesteuerten Funktionen. Dazu gehören beispielsweise serverlose Dienstekategorien für Datenbanken, Storage oder Messaging.

Vor- und Nachteile des Serverless Computings

Zu den Vorteilen des Serverless Computings zählen zum Beispiel:

  • Entwickler oder Anwender müssen sich nicht um die Bereitstellung, Skalierung und Verwaltung von Servern und anderen Infrastrukturkomponenten kümmern
  • es fallen nur Kosten an, wenn Dienste oder Funktionen in Anspruch genommen werden
  • Serverless Computing ist einfach skalierbar und verhält sich elastisch
  • einfach zu wartende und zu aktualisierende, in sich abgeschlossene Dienste und Funktionen
  • schnellere Bereitstellung neuer Anwendungen
  • hohe Verfügbarkeit und Sicherheit der Dienste und Funktionen durch das professionelle Management eines Cloud-Providers
  • Unterstützung des DevOps-Konzepts

Als Nachteile lassen sich aufführen:

  • geringe Transparenz und Kontrolle bezüglich der zugrundeliegenden Infrastruktur
  • kein Zugriff auf Serverfunktionen
  • nur im Bedarfsfall ausgeführte Dienste und Funktionen können größere Latenzzeiten und eine geringere Performance als kontinuierlich ausgeführter Code aufweisen
  • Serverless Computing ist nicht für alle Anwendungsfälle geeignet
  • eingeschränktes Debugging und Monitoring
  • viele einzelne serverlose Dienste bieten unter Umständen eine größere Angriffsfläche für Cyberattacken
  • es können starke Abhängigkeiten zu einem bestimmten Anbieter von Serverless Computing entstehen
  • unter Umständen ist die Nutzbarkeit aufgrund von Datenschutzvorgaben eingeschränkt
  • aufwendige Verwaltung der serverlosen Dienste und Funktionen bei komplexen Anwendungen
  • hohe Kosten bei starker Inanspruchnahme der Dienste

(ID:49530891)

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zur IT-Sicherheit

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung