Serverless Computing
IT-Glossar

Was ist Serverless Computing? Definition & Einordnung

Serverless Computing ist ein cloud-basiertes Bereitstellungs- und Ausführungsmodell, bei dem Entwickler Anwendungen erstellen und betreiben, ohne sich um die zugrunde liegende Infrastruktur kümmern zu müssen. Der Begriff „serverless“ ist dabei etwas irreführend, da die Cloud-Anbieter durchaus Server verwenden, um den Code für die Entwickler auszuführen. Das Konzept ist eine spezielle Ausprägung innerhalb des Cloud Computings, meist in Form von Platform-as-a-Service (PaaS) oder Function-as-a-Service (FaaS).

Definition in Abgrenzung zu klassischen Cloud-Modellen

In vielen Cloud-Computing-Modellen, insbesondere bei Infrastructure-as-a-Service (IaaS) oder Container-Orchestrierung, müssen IT-Teams virtuelle Maschinen oder Container einrichten, überwachen und warten. Beim Serverless-Ansatz entfällt dieser Aufwand vollständig: Der Cloud-Anbieter übernimmt sämtliche Infrastrukturaufgaben wie Wartung, Skalierung und Überwachung. Ressourcen werden automatisch bedarfsgerecht zu- oder abgeschaltet – bis hinunter auf null, wenn keine Anfragen verarbeitet werden müssen. Entwickler konzentrieren sich ausschließlich auf den Anwendungs-Code.

Entwickler-Fokus auf Funktionen

Im Gegensatz zum Platform-as-a-Service (PaaS)-Konzept, bei dem Entwickler ganze Anwendungen mit festen Ressourcen planen, schreiben und stellen sie in Serverless Computing Architekturen vor allem kleine, einzelne Funktionen bereit, die ausschließlich bei Bedarf ausgeführt werden. So wird möglichst präzise nur die Rechenleistung in Anspruch genommen, die ein konkretes Ereignis erfordert.

Serverless-Anbieter & Function-as-a-Service (FaaS)

Serverless-Provider sind eng mit PaaS verwandt und äußern sich in der Praxis vor allem als Function-as-a-Service (FaaS).
Dies spiegelt sich teilweise im Namen zweier bekannter Anbieter von Serverless-Diensten wieder, z. B. Azure Functions und Cloud Functions. Viele Cloud-Anbieter ergänzen ihre Serverless-Dienste um Backend-Angebote wie Datenbanken und Speicher, um Entwicklern eine vollständige Infrastruktur für ihre Anwendungen zu bieten.

Vorteile und Nachteile von Serverless Computing

  • Mögliche Vorteile:
    • Anwendungen passen sich automatisch an Lastspitzen an, ohne manuelles Eingreifen.
    • Teams können schneller entwickeln, testen und veröffentlichen.
    • Entwickler konzentrieren sich auf die reine Business-Logik statt auf Infrastrukturmanagement.
    • Dank des Pay-per-use-Modells zahlen Unternehmen nur für tatsächlich genutzte Rechenzeit.
  • Eventuelle Nachteile:
    • Bei dauerhaft hoher Auslastung können die Kosten höher sein als bei klassischen Serverlösungen.
    • Es kann wegen proprietärer APIs eine stärkere Abhängigkeit vom Anbieter entstehen (Vendor Lock-in).
    • Die Verteilung von Anwendungen auf viele kleine Funktionen kann die Komplexität von Monitoring und Fehleranalyse erhöhen.

Anwendungsbereiche von Serverless-Technologien

Typische Einsatzmöglichkeiten sind:

  • Event-getriebene Anwendungen, die auf API-Aufrufe oder Datenänderungen reagieren
  • Microservices-Architekturen, die kleine, unabhängige Komponenten bereitstellen
  • IoT-Anwendungen mit unregelmäßig eintreffenden großen Datenmengen
  • Software-Prototypen oder neue App-Ideen, die Entwickler unkompliziert testen wollen
  • Batch-Jobs und Hintergrundprozesse, die nur bei Bedarf laufen

Serverless Computing in der Praxis bei fecher

Im Rahmen von Softwaremodernisierung und Cloud Enabling bereitet fecher bestehende Anwendungen auf moderne Plattformen wie Microsoft Azure vor. Serverless-Dienste wie Azure Functions können dabei genutzt werden, um ereignisgesteuerte Abläufe umzusetzen, automatisch zu skalieren und nach dem Pay-per-Use-Prinzip abzurechnen.

Sie interessieren sich für Anwendungsentwicklung und Anwendungsmodernisierung? Neben diesem Beitrag zur Definition von Serverless Computing finden Sie weitere Erläuterungen und Begriffsklärungen in unserem IT-Glossar!