Serverless Computing – Alles was du wissen musst

Tauche ab in eine Welt des Serverless Computing, wo wir Vorteile, Nachteile und vielfältige Anwendungsfälle beleuchten. Erfahre, wie diese Technologie Entwickler von der Serververwaltung befreit und eine nutzungsbasierte Abrechnung ermöglicht. Wir erkunden führende Plattformen wie AWS Lambda, Azure Functions und Google Cloud Functions und wie sie sich in diesem dynamischen Sektor positionieren. Dein Kompass für eine effiziente und kostengünstige IT-Zukunft beginnt hier!

Serverless Computing ist eine Methode zur Bereitstellung und Nutzung von IT-Services, die auf der tatsächlichen Nutzung basiert. Trotz der Bezeichnung „Serverless“ kommen in dieser Architektur weiterhin Server zum Einsatz. Der Unterschied liegt jedoch im Nutzererlebnis der Entwickler: Sie müssen sich nicht um die Verwaltung der Serverinfrastruktur kümmern. Stattdessen stellt ein Cloud-Anbieter die erforderlichen Ressourcen zur Verfügung, und die Abrechnung erfolgt auf Basis der tatsächlichen Nutzung, anstatt auf festgelegten Bandbreiten oder einer bestimmten Anzahl von Servern. Damit geht der Serverless-Ansatz noch einen Schritt weiter als das Platform-as-a-Service-Modell (PaaS), bei dem Entwickler nicht darum herumkommen, den bzw. die Server über eine API anzusprechen und Ressourcen auf eigene Faust aufzustocken bzw. freizugeben. Dieses Modell erlaubt es Entwicklern, ihre Aufmerksamkeit verstärkt auf die Entwicklung und Optimierung der Geschäftslogik zu richten, anstatt Zeit und Ressourcen für die Serververwaltung aufzuwenden.

Vorteile

  • Automatisierte Wartung & Sicherheit: Wartung des Betriebssystems, Sicherheitsmassnahmen, Kapazitätsmanagement und Skalierung werden vom Cloud-Anbieter übernommen.
  • Nutzungsbasierte Abrechnung: Exakte Abrechnung der Ressourcen basierend auf der tatsächlichen Nutzung.
  • Hohe Ausfallsicherheit: Gewährleistung maximaler Verfügbarkeit (High Availability).
  • Schnelle Ressourcenbereitstellung: Effiziente Bereitstellung von Ressourcen in Echtzeit, selbst bei Lastspitzen und überproportionalem Wachstum.
  • Hohe Fehlertoleranz: Robustes System, das Fehler effektiv handhaben kann.
  • Steigerung der Entwicklerproduktivität: Ermöglicht Entwicklern, sich auf das Wesentliche zu konzentrieren.

Nachteile

  • Komplexe Implementierung: Die Einrichtung und Fehleranalyse kann aufwändig sein, und die Autonomie der Entwickler wird möglicherweise eingeschränkt.
  • Vendor Lock-in: Abhängigkeit von einem bestimmten Cloud-Anbieter.
  • Begrenzter Zugriff / Kontrollverlust: Kein direkter Zugang zu virtuellen Maschinen, Betriebssystemen oder Laufzeitumgebungen.

Anwendungsfälle

Im Kern ist Serverless Computing ideal für den flüchtigen Datenaustausch zwischen Web- und Geschäftsanwendungen in der Cloud-Umgebung ausgelegt. In der praktischen Anwendung liegt der Fokus nicht auf dem Betrieb kompletter Anwendungen oder umfangreicher Codeblöcke – für solche Aufgaben ist eine Serverless Architektur ohnehin nicht optimal geeignet. Stattdessen liegt die Stärke in der Verarbeitung einzelner Funktionen, unabhängig von ihrer Anzahl. Diese Flexibilität macht Serverless Computing für eine Vielzahl von Anwendungsszenarien attraktiv, wie die nachstehende Liste verdeutlicht:

Time-Scheduling
Zeitplan basierte Funktionen wie Backups, Cleanup Jobs von z.B. Datenbanken.

Virtuelle Assistenten
Chat Bots, digitale Sprachassistenten.

API-Proxy
Ältere Anwendungen haben komplexe, schwerfällige APIs. Mithilfe einer Serverless Architektur kann eine alternative Abstraktionsschicht davor gebaut werden, um diese Anwendungen über ein REST-API ansprechbar und für andere Systeme einfacher zugänglicher zu machen.

Weiterverarbeitung von Daten
Big Data ist aus dem modernen Business-Umfeld nicht mehr wegzudenken. Serverless Computing erweist sich hier als mächtiger Verbündeter, wenn es darum geht, derartige Informationen weiterzuverarbeiten – also strukturierte Daten (JSON, XML etc.) oder unstrukturierte Daten (Bilder, Audio, PDFs etc.) unter anderem zu transkodieren, zu verschieben, zu kombinieren oder zu manipulieren.

Serverless Platformen und Anbieter

AWS Lambda, Azure Functions, Google Cloud FunctionsPreisgestaltung, Programmiersprache, Besonderheit
Gegenüberstellung führender Serverless Platformen und Anbieter. Quelle: Sven Köppel

Ausblick und Fazit

Serverless Computing markiert eine neue Ära in der IT-Welt, in der Entwickler von herkömmlicher Serververwaltung befreit werden. Wir haben die Schlüsselvorteile wie automatisierte Wartung, nutzungsbasierte Abrechnung und hohe Fehlertoleranz erforscht, ebenso wie Herausforderungen wie komplexe Implementierung und Vendor Lock-in. Anwendungsfälle reichen von Time-Scheduling bis zur Datenweiterverarbeitung, wobei führende Plattformen wie AWS Lambda, Azure Functions und Google Cloud Functions den Weg weisen. Serverless Computing steht am Anfang einer spannenden Reise, die die Landschaft der Cloud-Dienste weiterhin revolutionieren wird, indem sie Effizienz und Flexibilität in den Vordergrund stellt.

«Dieser Blog-Beitrag wurde mit Unterstützung des Sprachmodells ChatGPT erstellt».

Links zum Thema

https://aws.amazon.com/de/lambda/
https://azure.microsoft.com/en-us/products/functions
https://cloud.google.com/functions

Beitrag teilen

Sven Köppel

Sven Köppel ist IT Consultant bei der at rete ag und bloggt aus dem Unterricht des CAS Cloud and Platform Manager.

Alle Beiträge ansehen von Sven Köppel →

Schreibe einen Kommentar