Cloudflare Workers: Serverless-Funktionen am Edge weltweit ausführen

Traditionelle Serverless-Funktionen starten in einer einzigen Region und müssen von Nutzern auf der anderen Seite des Planeten aus erst erreicht werden. Cloudflare Workers lösen dieses Latenzproblem, indem Code auf über 300 Rechenzentren weltweit ausgeführt wird – direkt am Netzwerk-Edge, nahe beim Endnutzer. Das Ergebnis: Antwortzeiten im einstelligen Millisekundenbereich, die mit zentralisierten Lösungen nicht zu erreichen sind.

Was sind Cloudflare Workers?

Cloudflare Workers ist eine serverlose Laufzeitumgebung, die auf dem globalen CDN-Netzwerk von Cloudflare aufbaut. Entwickler schreiben JavaScript, TypeScript, Python oder WebAssembly-Code, der bei jedem HTTP-Request ausgeführt wird. Workers können eingehende Anfragen abfangen, modifizieren, weiterleiten oder eine vollständige Antwort selbst generieren – ohne dass je ein traditioneller Server beteiligt ist.

Workers laufen auf Cloudflares eigenem Edge-Netzwerk und sind damit nicht an eine bestimmte Region gebunden. Jedes der über 300 Rechenzentren kann jede Worker-Funktion ausführen; Cloudflare leitet Anfragen automatisch zum nächsten verfügbaren PoP (Point of Presence) weiter.

V8-Isolates statt Container

Der entscheidende technische Unterschied zu anderen Serverless-Plattformen liegt im Ausführungsmodell. AWS Lambda oder Google Cloud Functions starten für jede Funktion einen eigenen Container (oder eine VM-Instanz). Das dauert beim ersten Aufruf mehrere Hundert Millisekunden – der berüchtigte Cold Start.

Cloudflare Workers verwenden stattdessen V8-Isolates: leichtgewichtige Ausführungskontexte innerhalb der JavaScript-Engine V8, die auch Chrome zugrunde liegt. Ein Isolate startet in weniger als einer Millisekunde und teilt sich die V8-Instanz mit anderen Isolates auf demselben Server – streng voneinander getrennt durch das Sandbox-Modell der Engine. Das Ergebnis sind nahezu keine Cold Starts und eine deutlich höhere Dichte von gleichzeitig ausgeführten Funktionen.

Tipp: Workers haben ein CPU-Zeitlimit von 10 ms im Free Tier bzw. 30 s im Paid Tier. Für rechenintensive Aufgaben empfiehlt es sich, schwere Berechnungen in ein Hintergrundverfahren (Queues) auszulagern oder auf WebAssembly umzusteigen, das deutlich effizienter rechnet als reines JavaScript.

Wrangler CLI

Wrangler ist das offizielle Kommandozeilen-Werkzeug für die Entwicklung und das Deployment von Cloudflare Workers. Nach der Installation via npm install -g wrangler lässt sich ein neues Projekt mit wrangler init erstellen. Für die lokale Entwicklung startet wrangler dev einen lokalen Emulator, der das Produktionsverhalten möglichst originalgetreu nachbildet inklusive KV, D1 und R2. Der Deployment-Befehl wrangler deploy veröffentlicht den Worker in Sekunden auf dem gesamten Cloudflare-Netzwerk.

KV Storage

Workers KV ist ein global replizierter Key-Value-Speicher. Schreiboperationen werden innerhalb von Sekunden bis Minuten weltweit propagiert (eventual consistency). Lesezugriffe sind extrem schnell, da der Cache des lokalen PoP genutzt wird. KV eignet sich für Konfigurationsdaten, Feature-Flags, Session-Tokens und selten ändernde Inhalte. Nicht geeignet ist es für stark frequentierte Schreiboperationen oder Transaktionen.

D1: SQLite am Edge

Cloudflare D1 bringt eine vollständige SQLite-Datenbank an den Edge. D1-Datenbanken können per SQL abgefragt werden und sind über die Workers-Bindung erreichbar. Cloudflare repliziert Lesezugriffe global, während Schreiboperationen an eine primäre Region weitergeleitet werden. D1 eignet sich für strukturierte Daten wie Nutzerprofile, Bestellungen oder Blogbeiträge und macht für viele Anwendungen eine externe Datenbank überflüssig.

R2: Objektspeicher ohne Egress-Kosten

Cloudflare R2 ist ein S3-kompatibler Objektspeicher. Das besondere Merkmal: Anders als bei AWS S3 fallen keine Egress-Gebühren an, wenn Daten aus R2 gelesen werden. Das macht R2 besonders attraktiv für Medien-Hosting, statische Assets und Backups. R2-Buckets lassen sich direkt aus Workers ansprechen oder über einen öffentlichen URL-Endpoint zugänglich machen.

Achtung: Workers haben keinen persistenten Speicher im Arbeitsspeicher zwischen Requests. Variablen auf Modulebene können zwar zwischen mehreren Requests desselben Isolates geteilt werden, aber dieses Verhalten ist nicht garantiert und sollte nicht als zuverlässiger Cache betrachtet werden. Persistenz erfordert immer KV, D1, R2 oder eine externe Datenbank.

Anwendungsfälle

Die häufigsten Einsatzgebiete für Cloudflare Workers umfassen:

Free Tier und Preise

Der kostenlose Plan enthält 100.000 Requests pro Tag, 10 ms CPU-Zeit pro Request und 1 GB KV-Speicher. Das Workers Paid-Paket kostet 5 USD/Monat und beinhaltet 10 Millionen Requests, 30 s CPU-Zeit pro Request und deutlich großzügigere Limits für KV, D1 und R2.

Vergleich: Cloudflare Workers vs. andere Edge-Plattformen

Kriterium Cloudflare Workers Vercel Edge Functions Netlify Edge AWS Lambda@Edge
Laufzeit V8-Isolates V8-Isolates (Deno-basiert) V8-Isolates (Deno-basiert) Node.js / Python / etc.
Cold Start < 1 ms < 1 ms < 1 ms 100–500 ms
Standorte 300+ PoPs ~100 Regionen ~100 Regionen CloudFront-PoPs
Freies Kontingent 100.000 Req./Tag 500.000 Req./Monat 500.000 Req./Monat 1 Mio. Req./Monat
Persistenter Speicher KV, D1, R2 Vercel KV, Blob Blobs DynamoDB, S3 (extern)
Framework-Integration Framework-agnostisch Optimiert für Next.js Gut (Astro, Remix) Komplex (CF + Lambda)
Preismodell ab Paid 5 USD/Monat 20 USD/Monat (Pro) 19 USD/Monat (Pro) Pay-per-Use

Cloudflare Workers bietet das breiteste eigene Ökosystem mit KV, D1 und R2 direkt integriert. Vercel Edge Functions sind ideal für Teams, die bereits Next.js nutzen. AWS Lambda@Edge bietet die größte Laufzeitflexibilität, ist aber deutlich komplexer in der Konfiguration und hat spürbare Cold-Start-Zeiten.

Fazit

Cloudflare Workers sind eine leistungsstarke und kosteneffiziente Plattform für Edge-Computing. Der extrem schnelle Start durch V8-Isolates, das globale Netzwerk, das integrierte Speicher-Ökosystem und ein großzügiges Free Tier machen Workers zu einer attraktiven Wahl für Performance-kritische Anwendungen. Für Teams ohne bestehende Cloudflare-Infrastruktur lohnt sich der Einstieg vor allem dann, wenn geringe Latenz und globale Verfügbarkeit zentrale Anforderungen sind.

Häufige Fragen

Können Cloudflare Workers Node.js-Module verwenden?
Eingeschränkt. Workers unterstützen eine Teilmenge der Node.js-Built-in-APIs (z. B. crypto, buffer, events). Vollständige Node.js-Kompatibilität ist nicht gegeben, da Workers in V8-Isolates und nicht in einer vollständigen Node.js-Umgebung laufen. Viele populäre npm-Pakete funktionieren dennoch, wenn sie keine nativen Add-ons oder Node.js-spezifische APIs benötigen.
Wie verhält sich Cloudflare Workers bei DSGVO-Anforderungen?
Cloudflare Workers verarbeiten Anfragen am nächstgelegenen PoP, was bedeutet, dass Anfragen aus der EU auch in EU-Rechenzentren verarbeitet werden können. Mit dem kostenpflichtigen Smart Placement oder Data Localization Suite lässt sich steuern, in welchen Regionen Daten verarbeitet werden dürfen.
Was ist der Unterschied zwischen Cloudflare Workers und Cloudflare Pages Functions?
Cloudflare Pages Functions sind Workers, die direkt einem Pages-Projekt zugeordnet sind und automatisch über das /functions-Verzeichnis konfiguriert werden. Sie teilen dieselbe Laufzeit, sind aber für Server-Side-Rendering und API-Routen in Pages-Projekten optimiert. Standalone Workers bieten mehr Flexibilität für eigenständige Services.
Gibt es CPU- oder Speicherlimits bei Workers?
Im Free Tier sind 10 ms CPU-Zeit und 128 MB Speicher pro Request erlaubt. Im Paid Tier steigt das CPU-Limit auf 30 Sekunden. Wichtig: Das CPU-Zeitlimit misst nur aktive Rechenzeit, nicht Wartezeit auf I/O-Operationen wie KV-Reads oder externe API-Aufrufe, die deutlich länger dauern dürfen.