Was ist serverloses Computing?

Serverloses Computing ist ein Cloud-Computing-Ausführungsmodell, das Maschinenressourcen nach Nutzung zuweist. Bei einem serverlosen Modell können Entwickler Anwendungen erstellen und ausführen, ohne Server verwalten zu müssen, und nur für die exakte Menge an Ressourcen bezahlen. Stattdessen ist der Cloud-Dienstanbieter für die Bereitstellung, Verwaltung und Skalierung der Cloud-Infrastruktur verantwortlich, in der der Anwendungscode ausgeführt wird.

Der Name kann irreführend sein, aber serverlos bedeutet nicht „keine Server“. Bei serverlosen Anwendungen müssen Sie sich nicht mehr um die routinemäßige Infrastrukturarbeit kümmern, die mit der Anwendungsentwicklung verbunden ist. Sie haben keinen Einblick in die Maschinen, auf denen Ihre Anwendungen ausgeführt werden, können diese nicht konfigurieren und müssen sie nicht verwalten oder skalieren. Mit anderen Worten: Sie zahlen für den Dienst eines Servers, nicht für den Server selbst. 

Aus Sicht der Entwicklung ist es so, als gäbe es überhaupt keine Server. Die Entwickler schreiben den Code, stellen ihn für die Produktion bereit und der Cloud-Anbieter kümmert sich um den Rest.

Wie funktioniert serverloses Computing?

Wenn es um die Entwicklung von Anwendungen geht, müssen Entwickler in der Regel eine Vielzahl weiterer Serververwaltungsaufgaben ausführen, um ihren Code bereitzustellen, wie das Definieren von Ressourcen für Verarbeitung und Speicherung, Patching, Load-Balancing und vieles mehr. All diese zusätzlichen Elemente führen zu längeren Bereitstellungszeiten und zusätzlichem operativem Aufwand, was letztendlich die Entwicklungsteams verlangsamt. 

Das serverlose Computing soll Entwicklern ein unsichtbares, „serverloses“ Erlebnis bieten, sodass sie sich keine Gedanken über Server oder irgendetwas machen müssen, das eine Anwendung ausführen muss. Stattdessen übernimmt der Dienstanbieter alle Aufgaben im Hintergrund, um sicherzustellen, dass Sie über die Ressourcen zum Ausführen Ihres Codes verfügen und die Anforderungen erfüllen, ohne dass Ihnen inaktive Kapazitäten in Rechnung gestellt werden. 

Hier eine einfache Analogie, die die Funktionsweise von serverlosem Computing verdeutlichen soll

Ein serverloser Ansatz ist wie das Wasser in Ihrem Haushalt. Sie könnten Ihren eigenen Brunnen graben, die Wasserqualität testen und alle externen Rohrleitungen installieren und warten, die für den Einbau im Haus erforderlich sind. Sie können auch eine Verbindung mit der Hauptwasserversorgung Ihrer Stadt herstellen. Sie drehen einfach den Wasserhahn und bekommen genau dann so viel Wasser, wie Sie möchten, und die Stadt sendet Ihnen eine monatliche Rechnung über die exakte Wassermenge. 

Auf ähnliche Weise richten Cloud-Anbieter die Infrastrukturressourcen und Laufzeitumgebungen hoch, die für die Ausführung Ihrer serverlosen Anwendungen erforderlich sind. Nach Abschluss der Ausführung werden sie automatisch wieder auf null herunterskaliert. In der Regel werden Ihnen die Kosten basierend auf den Ressourcen während der Ausführungszeit in Rechnung gestellt. Dies kann jedoch je nach Dienst und Anbieter variieren. 

Serverloses Cloud-Computing im Vergleich zu anderen Arten von Cloud-Computing

Aber warten Sie nicht, ob andere Arten von Cloud-Computing On-Demand-Ressourcen auf Pay-as-you-go-Basis bereitstellen? Es stimmt, dass Cloud-Dienstmodelle wie Infrastructure as a Service (IaaS) und Platform as a Service (PaaS) auch On-Demand-Zugriff auf Rechenressourcen ermöglichen. 

Die Ihnen zugewiesene Cloud-Infrastruktur bleibt jedoch aktiv, auch wenn Sie sie nicht nutzen. Außerdem liegt es in Ihrer Verantwortung, die Serverkapazität zu skalieren oder Ihre Anwendungen so zu konfigurieren, dass sie je nach Nutzeranforderung herauf- oder herunterskalieren. 

Serverlose Architekturen sind dagegen ereignisgesteuert. Bei diesem Modell stellt der Anbieter nur dann Ressourcen zur Verfügung, wenn ein Ereignis die Ausführung Ihres Codes auslöst, und skaliert sofort und automatisch auf Anfragen.

Beispiele und Anwendungsfälle für serverloses Computing

Beim serverlosen Cloud-Computing gibt es im Allgemeinen zwei Arten von Diensten: FaaS (Function as a Service) und Backend as a Service (BaaS). 

FaaS stellt die Rechenressourcen bereit, die für die Ausführung der Anwendungslogik als Reaktion auf Anfragen erforderlich sind. Diese Logik (oder Funktionen) werden in Containern ausgeführt, die vollständig vom Cloud-Dienstanbieter verwaltet werden. Serverlose Anwendungen werden normalerweise in einzelne Funktionen unterteilt, die als Reaktion auf ein Ereignis eine Aktion ausführen. 

BaaS stellt die gesamte Back-End-Funktionalität von Web- oder mobilen Anwendungen als Dienst bereit, wie z. B. Authentifizierungsdienste, Datenbankverwaltung, Cloud-Speicher, Push-Benachrichtigungen und Hosting. Mit BaaS müssen auch keine Server, Container oder virtuellen Maschinen verwaltet werden. 

Innerhalb der Entwicklung wird der Begriff „serverlos“ für FaaS-Angebote verwendet. FaaS ist jedoch technisch gesehen eine Teilmenge der serverlosen Technologie. Serverloses Computing umfasst alle Arten von Diensten, bei denen Serververwaltung, Konfiguration, Skalierung und Abrechnung vom Endnutzer abstrahiert sind. Dies kann Datenbanken, Speicher, Ereignisstreaming, Messaging und API-Gateways umfassen. 

Im Allgemeinen wird serverloses Computing immer noch hauptsächlich für einfache, kurzlebige Aufgaben verwendet. Zu den häufigsten Beispielen für serverloses Computing gehören: 

  • Einbindung in Dienste und APIs von Drittanbietern
  • Geplante Aufgaben ausführen (z. B. tägliche Berichte, Sicherungen oder Geschäftslogik)
  • IT-Prozessautomatisierung, z. B. automatisches Entfernen des Zugriffs, Initiieren von Compliance-Sicherheitsprüfungen oder Senden von Genehmigungen
  • Datenverarbeitung in Echtzeit für strukturierte und unstrukturierte Daten
  • CI/CD-Pipelines (Continuous Integration und Continuous Delivery) automatisieren
  • REST API-Back-Ends
  • Triggerbasierte Aktionen oder Ausführung geplanter Aufgaben (z. B. tägliche Berichte, Sicherungen oder Geschäftslogik)
  • Asynchrone Verarbeitung
  • Benachrichtigungen in Echtzeit oder geplante Benachrichtigungen

Vorteile von serverlosem Computing

Höhere Entwicklerproduktivität

Entwickler mit serverloser Lösung konzentrieren sich auf das Schreiben von Code und die Optimierung der Geschäftslogik, anstatt sich um das Bereitstellen, Verwalten oder Skalieren der Infrastruktur kümmern zu müssen. 

Sofort einsetzbare Skalierbarkeit

Serverlose Architekturen werden automatisch herauf- oder herunterskaliert. Im Gegensatz zum Autoscaling bei anderen Arten von Cloud-Computing, für das Feinabstimmungsregeln erforderlich sind, erfolgt das serverlose Autoscaling sofort und kann auf null herunterskaliert werden. 

Flexible Preisgestaltung

Serverlose Preismodelle werden häufig auf Grundlage der tatsächlichen Nutzung und der Zeit für die Ausführung einer Funktion abgerechnet. Außerdem zahlen Sie nicht für inaktive Kapazitäten. Dadurch lassen sich die Betriebskosten für den Betrieb und die Verwaltung Ihrer eigenen Server senken.

Schnellere Bereitstellung

Bei serverlosem Computing müssen DevOps-Teams keine Infrastruktur definieren, die für das Einbinden, Testen, Bereitstellen oder Bereitstellen von Code erforderlich ist. Sie schreiben einfach und stellen es in der Produktion bereit.

Beliebige Sprache verwenden

Serverlose Umgebungen unterstützen alle Sprachen und Frameworks, sodass Teams in der Sprache oder mit dem Framework – Go, Python, Java, Node.js, .NET usw. – entwickeln können.

Nachteile von serverlosem Computing

Einer der größten Nachteile von serverlosem Computing besteht darin, dass es noch relativ neu ist. Daher ist sie noch nicht für alle potenziellen Anwendungsfälle geeignet. 

Der bewusst flüchtige Charakter von serverlosem Computing und die Möglichkeit, auf null herunterzuskalieren, machen es außerdem für bestimmte Arten von Anwendungen ungeeignet. Er ist nicht dafür konzipiert, über einen längeren Zeitraum Code auszuführen, und kann nicht immer Anwendungen mit strikten Anforderungen mit niedriger Latenz bereitstellen, wie etwa Finanzdienstleistungsanwendungen. 

Nicht zuletzt kann die Übergabe der Verwaltung aller Rechenressourcen an einen Drittanbieter auch mehrere Nachteile mit sich bringen. So sparen Sie Zeit und können sich ganz auf das Programmieren konzentrieren. Die Migration zu einem neuen Cloud-Anbieter kann aber auch schwierig sein. Außerdem haben Sie keinen Überblick darüber, wo oder wie Ihr Dienst ausgeführt wird, und haben nur begrenzte Kontrolle darüber, wie Sie skalieren, auf welcher Art von Hardwarecode ausgeführt werden und welche Notfallwiederherstellungssituationen auftreten. 

Dennoch gibt es beim serverlosen Computing einiges zu mögen, insbesondere für Unternehmen, die Entwickler dabei unterstützen möchten, schneller zu arbeiten, und nach einer einfacheren, kostengünstigeren Möglichkeit suchen, cloudbasierte Anwendungen zu erstellen. 

Es ist auch klar, dass mit der Zeit, in der sich das serverlose Computing weiterentwickelt wird, einige der aktuellen Schwachstellen gelöst werden werden. Insbesondere wird bereits viel an Open-Source-Implementierungen serverloser Lösungen gearbeitet und Möglichkeiten gefunden, Cloud-Dienste offener zu gestalten, um Lösungen auf verschiedene Plattformen und Umgebungen zu übertragen. 

Meistern Sie Ihre geschäftlichen Herausforderungen mit Google Cloud

Neukunden erhalten ein Guthaben im Wert von 300 $ für Google Cloud.
Sprechen Sie mit einem Google Cloud-Vertriebsexperten, um Ihre besonderen Herausforderungen im Detail zu besprechen.

Gleich loslegen

Profitieren Sie von einem Guthaben über 300 $, um Google Cloud und mehr als 20 „Immer kostenlos“-Produkte kennenzulernen.

Google Cloud
  • ‪English‬
  • ‪Deutsch‬
  • ‪Español‬
  • ‪Español (Latinoamérica)‬
  • ‪Français‬
  • ‪Indonesia‬
  • ‪Italiano‬
  • ‪Português (Brasil)‬
  • ‪简体中文‬
  • ‪繁體中文‬
  • ‪日本語‬
  • ‪한국어‬
Console
Google Cloud