Microservices
Ein Architekturmuster, bei dem eine Anwendung aus vielen kleinen, unabhängigen Services besteht, die jeweils eine spezifische Aufgabe erfüllen.
Ein Cloud-Computing-Modell, bei dem der Cloud-Anbieter die Server-Infrastruktur vollständig verwaltet – Entwickler deployen nur ihren Code, der bei Bedarf ausgeführt wird.
Serverless ist ein Cloud-Deployment-Modell, bei dem der Entwickler keinen Server konfigurieren, skalieren oder warten muss. Der Cloud-Anbieter übernimmt die gesamte Infrastruktur – automatische Skalierung, Hochverfügbarkeit, Updates. Bezahlt wird nur für die tatsächliche Ausführungszeit, nicht für bereitstehende Server. Für KI-Anwendungen mit unregelmäßiger Last ist Serverless attraktiv: Ein Modell, das nur gelegentlich aufgerufen wird, kostet im Leerlauf nichts.
Serverless bedeutet: Du schreibst Code, deployst ihn, und der Cloud-Anbieter kümmert sich um alles andere – Server, Skalierung, Updates, Verfügbarkeit. Du zahlst nur für die tatsächliche Ausführungszeit, nicht für bereitstehende Server.
Für KI-Anwendungen ist Serverless attraktiv, wenn die Last unregelmäßig ist: Ein Modell, das tagsüber tausende Anfragen bekommt und nachts kaum genutzt wird, kostet bei Serverless nur für die tatsächliche Nutzung. Der Nachteil sind “Cold Starts” – wenn eine Funktion lange nicht aufgerufen wurde, dauert der erste Aufruf länger, weil der Container erst gestartet werden muss. Bei ML-Modellen mit großen Gewichten kann das mehrere Sekunden bedeuten.
Traditionell vs. Serverless:
| Aspekt | Traditionell | Serverless |
|---|---|---|
| Server | Du verwaltest | Cloud-Anbieter verwaltet |
| Skalierung | Manuell konfigurieren | Automatisch |
| Kosten | 24/7 bezahlen | Nur bei Nutzung |
| Idle | Server läuft trotzdem | Keine Kosten |
| Cold Start | Kein Problem | 100ms - 5s Verzögerung |
Hier ist ein einfaches Beispiel für eine Serverless-Funktion in AWS Lambda, die eine Begrüßung zurückgibt:
import json
def lambda_handler(event, context):
name = event.get('name', 'Welt')
return {
'statusCode': 200,
'body': json.dumps(f'Hallo, {name}!')
}
In diesem Beispiel wird eine Funktion definiert, die auf ein Ereignis reagiert und eine JSON-Antwort zurückgibt. Diese Funktion kann in der Cloud ausgeführt werden, ohne dass der Entwickler sich um die Serverinfrastruktur kümmern muss.
Serverless ist wie ein Taxi statt eines eigenen Autos: Du zahlst nur für die Fahrt (Ausführung), musst dich nicht um Wartung, Versicherung oder Parken (Server-Management) kümmern.
Kein Server-Management nötig – der Cloud-Anbieter kümmert sich um alles
Pay-per-Use: Du zahlst nur für die tatsächliche Ausführungszeit
Automatische Skalierung von 0 auf tausende gleichzeitige Ausführungen
API-Endpunkte
Serverless Functions als Backend für Web-Anwendungen
Event-Verarbeitung
Automatische Verarbeitung von Uploads, Webhooks oder Datenbankänderungen
KI-Inferenz
LLM-API-Aufrufe als Serverless Functions für sporadische Nutzung
Cron Jobs
Periodische Aufgaben ohne dauerhaft laufenden Server
Nein, es gibt natürlich Server – du musst dich nur nicht darum kümmern. Der Cloud-Anbieter verwaltet die gesamte Infrastruktur. 'Serverless' bedeutet 'serverless für dich'.
Wenn eine Serverless Function längere Zeit nicht aufgerufen wurde, muss sie neu gestartet werden. Das dauert 100ms bis mehrere Sekunden. Lösungen: Provisioned Concurrency, Edge Functions oder Warmup-Requests.
Für sporadische oder variable Workloads ja. Für konstant hohe Last kann ein dedizierter Server günstiger sein. Die Kostenstruktur (Pay-per-Invocation) ist ideal für APIs mit unvorhersehbarem Traffic.