19 Punkte von GN⁺ 2026-01-02 | Noch keine Kommentare. | Auf WhatsApp teilen
  • OpenWorkers ist eine Open-Source-Runtime, die JavaScript auf Basis von V8 ausführt und Edge Computing auf eigener Infrastruktur ermöglicht
  • Unterstützt KV-Speicher, PostgreSQL, S3/R2-kompatiblen Storage, Service Bindings sowie Umgebungsvariablen und Secrets
  • Bietet eine hohe Kompatibilität zu Cloudflare Workers, einschließlich wichtiger Web APIs wie fetch, ReadableStream und crypto.subtle
  • Einfaches Self-Hosting mit V8-Isolate-Sandbox, Cron-Scheduling und Deployment auf Basis von Docker Compose
  • Ein über rund 7 Jahre gewachsenes Projekt mit dem Ziel einer vendorunabhängigen JavaScript-Laufzeitumgebung

Überblick über OpenWorkers

  • OpenWorkers ist eine in Rust geschriebene Cloudflare-Workers-kompatible Runtime, die JavaScript mit V8 Isolates ausführt
    • Die Vorteile von Edge Computing lassen sich damit auch in einer eigenen Serverumgebung nutzen
    • Als Open Source veröffentlicht und frei verteil- und anpassbar

Hauptfunktionen

  • Über Bindings lassen sich verschiedene externe Ressourcen anbinden
    • KV-Storage: unterstützt get, put, delete, list
    • Anbindung an PostgreSQL-Datenbanken
    • Unterstützung für S3/R2-kompatiblen Storage
    • Einschließlich Service Bindings sowie Verwaltung von Umgebungsvariablen und Secrets
  • Web-API-Unterstützung
    • Stellt Standard-APIs wie fetch, Request, Response und ReadableStream bereit
    • Einschließlich crypto.subtle, TextEncoder/Decoder, Blob, setTimeout und AbortController

Architektur

  • Das System besteht aus nginx-Proxy, Dashboard, API, Logging-Service, Runner, PostgreSQL, NATS und Scheduler
    • Jeder Runner führt Code innerhalb eines V8 Isolates aus; es gelten Limits von 100 ms CPU und 128 MB Speicher
    • Enthält einen integrierten Scheduler mit Unterstützung für Cron-Syntax mit 5 oder 6 Feldern
    • Bewahrt Syntaxkompatibilität zu Cloudflare Workers

Self-Hosting

  • Das Deployment ist bereits mit einer einzelnen PostgreSQL-Datenbank und einer Docker-Compose-Datei möglich
    • Lässt sich einfach mit den Befehlen git clone, .env-Konfiguration und docker compose up starten
    • Einschließlich Verfahren für Migrationen und Token-Erstellung

Entwicklungshintergrund

  • Ein Projekt, das in etwa 7 Jahren Entwicklungsarbeit entstanden ist
    • Anfangs wurde mit vm2 für JS-Sandboxing experimentiert, später inspiriert vom Modell von Cloudflare Workers weiterentwickelt
    • Nach Deno-core inzwischen auf Basis von rusty_v8 neu geschrieben
  • Ziel ist der Aufbau einer eigenen Server-Laufzeitumgebung ohne Vendor Lock-in, die zugleich eine Developer Experience (DX) auf dem Niveau von Cloudflare Workers bietet
  • Künftig ist die Ergänzung von deterministischem Debugging durch Ausführungsaufzeichnung und Replay-Funktion geplant

Noch keine Kommentare.

Noch keine Kommentare.