Zum Inhalt springen
Zum Hauptinhalt springen
Architektur

Serverless

Serverless Computing ist ein Cloud-Modell, bei dem der Anbieter die Infrastruktur vollständig verwaltet und Code nur bei Bedarf ausgeführt wird – Abrechnung erfolgt pro Aufruf statt pro Server.

Serverless Computing befreit Entwickler von der Last der Serververwaltung. Statt virtuelle Maschinen zu provisionieren, zu skalieren und zu patchen, laden sie einfach ihren Code hoch – die Cloud kümmert sich um den Rest. Die Abrechnung erfolgt nach tatsächlicher Nutzung: Null Anfragen bedeuten null Kosten. Dieses Modell hat die Art, wie moderne Anwendungen gebaut und betrieben werden, grundlegend verändert.

Was ist Serverless?

Serverless (auch Function as a Service / FaaS) ist ein Cloud-Ausführungsmodell, bei dem der Cloud-Anbieter die Server-Infrastruktur vollständig verwaltet. Entwickler schreiben Funktionen, die durch Events (HTTP-Anfragen, Datei-Uploads, Datenbank-Änderungen, Zeitpläne) ausgelöst werden. Die Plattform skaliert automatisch von null auf tausende parallele Ausführungen und wieder zurück auf null. Es gibt trotz des Namens natürlich Server – sie werden nur vom Anbieter verwaltet, nicht vom Entwickler. Die bekanntesten Dienste sind AWS Lambda, Google Cloud Functions und Azure Functions. Neben FaaS umfasst Serverless auch verwaltete Dienste wie serverlose Datenbanken (DynamoDB, Firestore) und Event-Queues.

Wie funktioniert Serverless?

Entwickler schreiben einzelne Funktionen (z.B. in Python, Node.js oder Go) und definieren Trigger-Events. Wenn ein Event eintritt, startet die Plattform eine Laufzeitumgebung (Container), führt die Funktion aus und beendet sie anschließend. Bei hoher Last werden automatisch weitere Instanzen gestartet (horizontale Skalierung). Ein sogenannter Cold Start tritt auf, wenn keine warme Instanz verfügbar ist und eine neue gestartet werden muss – das verursacht eine kurze Verzögerung von typischerweise 100-500ms. Warme Instanzen werden für Folgeanfragen wiederverwendet.

Praxisbeispiele

1

Bild-Verarbeitung: Ein Upload in S3 triggert eine Lambda-Funktion, die das Bild in verschiedene Größen skaliert und Thumbnails erstellt – vollautomatisch und skalierbar.

2

REST-API-Backend: API Gateway leitet HTTP-Anfragen an Lambda-Funktionen weiter, die Daten aus DynamoDB lesen und als JSON zurückgeben – ohne einen einzigen Server zu verwalten.

3

Echtzeit-Datenverarbeitung: IoT-Sensordaten fließen über Kinesis in Lambda-Funktionen, die Anomalien erkennen und Alarme auslösen.

4

Geplante Aufgaben: Eine Cloud Function läuft jede Nacht, erstellt Berichte aus der Datenbank und versendet sie per E-Mail an das Management.

5

Chatbot-Backend: Eingehende Nachrichten triggern serverlose Funktionen, die per KI-API Antworten generieren und über verschiedene Kanäle ausspielen.

Typische Anwendungsfälle

Event-basierte Verarbeitung: Dateien, Nachrichten oder Datenbank-Änderungen triggern automatische Verarbeitungsschritte

Microservices-Backend: Einzelne API-Endpunkte als unabhängige Funktionen mit eigener Skalierung

Cron-Jobs und Batch-Verarbeitung: Regelmäßige Aufgaben ohne dauerhaft laufende Server

Prototyping und MVPs: Schnell funktionierende Backends ohne Infrastruktur-Setup aufbauen

Webhooks und Integrationen: Eingehende Webhook-Daten verarbeiten und an andere Systeme weiterleiten

Vorteile und Nachteile

Vorteile

  • Keine Serververwaltung: Kein Patching, kein Monitoring der Infrastruktur, kein Kapazitätsmanagement
  • Pay-per-Use: Nur tatsächliche Ausführungen kosten Geld – ideal für variable Workloads
  • Automatische Skalierung: Von null auf tausende parallele Ausführungen ohne manuelle Konfiguration
  • Schnellere Entwicklung: Fokus auf Business-Logik statt auf Infrastruktur
  • Hohe Verfügbarkeit: Cloud-Anbieter garantieren Verfügbarkeit und Redundanz

Nachteile

  • Cold Starts: Erste Aufrufe nach Inaktivität haben eine höhere Latenz (100-500ms)
  • Vendor Lock-in: Enge Bindung an den Cloud-Anbieter durch proprietäre Dienste und Konfigurationen
  • Debugging-Komplexität: Verteilte Funktionen sind schwerer zu debuggen als monolithische Anwendungen
  • Zeitlimits: Funktionen haben maximale Laufzeiten (z.B. 15 Minuten bei AWS Lambda)

Häufig gestellte Fragen zu Serverless

Ist Serverless wirklich günstiger als ein eigener Server?

Für Anwendungen mit variablem Traffic ist Serverless oft deutlich günstiger, da bei geringer Last keine Kosten anfallen. Bei konstant hoher Last kann ein dedizierter Server jedoch kosteneffizienter sein. Die Break-Even-Analyse hängt von der Anzahl der Aufrufe, der Ausführungsdauer und dem Speicherbedarf ab.

Kann man eine komplette Anwendung serverless betreiben?

Ja, mit einer Kombination aus FaaS (Lambda), serverlosen Datenbanken (DynamoDB, Aurora Serverless), API Gateway und CDN lassen sich vollständige Anwendungen serverless betreiben. Frameworks wie Serverless Framework oder AWS SAM vereinfachen die Entwicklung und das Deployment erheblich.

Wie geht man mit Cold Starts um?

Strategien gegen Cold Starts: Provisioned Concurrency (vor-initialisierte Instanzen bei AWS), kleinere Deployment-Pakete für schnellere Startzeiten, leichtgewichtige Laufzeiten wie Node.js statt Java, und Warmup-Funktionen, die Instanzen regelmäßig aktiv halten. Für latenz-kritische Anwendungen ist Provisioned Concurrency die zuverlässigste Lösung.

Verwandte Begriffe

Serverless-Anwendung entwickeln lassen?

Wir beraten Sie gerne zu Serverless und finden die optimale Lösung für Ihre Anforderungen. Profitieren Sie von unserer Erfahrung aus über 200 Projekten.

Nächster Schritt

Bereit für den nächsten Schritt? Wir sind es.

Wir analysieren Ihre Situation und zeigen konkrete Optionen auf – ohne Verkaufsdruck.

30 Min. Strategiegespräch – 100% kostenlos & unverbindlich

Was ist Serverless Computing? Vorteile & Einsatzgebiete