Überblick
Sandbox Runner ist eine verteilte Multi-Language Sandbox-Execution-Plattform zur sicheren Ausführung von untrusted Code innerhalb isolierter Docker-Container. Unterstützt werden Python, JavaScript, Kotlin, Java und Go.
Der Fokus lag auf Platform Engineering, Distributed Systems, Runtime Isolation, horizontal skalierbaren Worker-Architekturen, Security Hardening und moderner Full-Stack-Entwicklung mit Kotlin, Redis, Docker und React.
Problemstellung
Sichere Code-Execution-Systeme benötigen starke Isolation, kontrollierte Runtime-Umgebungen, skalierbare Worker-Systeme und robuste Ressourcenbegrenzungen, um untrusted Code zuverlässig ausführen zu können.
Ziel war es, eine moderne Distributed-Sandbox-Plattform mit Docker-Isolation, Redis-basierter Async Queue, Live-Streaming und horizontal skalierbarer Infrastruktur aufzubauen.
Architekturansatz
Distributed Worker Architecture
Runs werden asynchron über Redis-Queues verarbeitet und von horizontal skalierbaren Worker-Instanzen ausgeführt.
Docker Sandbox Isolation
Jede Ausführung läuft innerhalb isolierter Docker-Container mit deaktiviertem Netzwerk, Runtime-Limits und Security-Hardening.
Live Runtime Streaming
stdout, stderr und Statusänderungen werden über Server-Sent Events (SSE) live an das Frontend gestreamt.
Worker Observability
Die Plattform enthält Queue-Statistiken, Worker-Monitoring, Active-Job-Tracking und Dead-Letter-Observability.
Technische Features
Besonders wichtig war die Kombination aus sicherer Runtime-Isolation, asynchroner Worker-Architektur, containerisierter Infrastruktur und moderner Full-Stack-Entwicklung.
Dashboard & Execution UI
Herausforderungen
Die größte Herausforderung bestand darin, sichere containerisierte Code-Ausführung mit asynchroner Distributed-Execution, Live-Streaming und Runtime-Kontrolle zuverlässig zu kombinieren.
Besonders komplex waren Security Hardening, Worker-Orchestrierung, Container Lifecycle Management, Cancellation-Flows und sprachspezifische Runtime-Profile.
Learnings
Das Projekt hat besonders gezeigt, wie wichtig saubere Infrastruktur-Grenzen, Security Hardening, Event-Driven-Architekturen und robuste Worker-Systeme für moderne Runtime-Plattformen sind.