OpenWorkers는 Cloudflare Workers의 프로그래밍 모델을 자체 인프라에서 실행할 수 있도록 하는 Rust 기반 오픈소스 런타임임.
V8 isolates를 사용하여 JavaScript를 실행하며, KV storage, PostgreSQL, S3/R2-compatible storage 등 다양한 기능을 지원함.
개발자들은 Cloudflare Workers와 유사한 개발 경험을 유지하면서 자체 호스팅을 통해 비용 절감 및 데이터 주권을 확보할 수 있다는 점에 주목함.
OpenWorkers는 Nginx를 프록시로 사용하여 요청을 라우팅하고, Dashboard, API, Logs, Runner 등의 컴포넌트로 구성된다. 구체적으로 Postgate는 데이터베이스 연결을 관리하고, NATS를 사용하여 컴포넌트 간 통신을 수행한다. 따라서 분산 시스템 환경에서 확장성과 안정성을 확보하도록 설계되었다.
OpenWorkers는 Cloudflare Workers와 API 호환성을 제공하여, 기존 코드를 쉽게 이식할 수 있다. 반면, 자체 호스팅 환경 구축 및 관리에 대한 DevOps 지식이 필요하며, Cloudflare의 글로벌 엣지 네트워크를 활용할 수 없다는 단점이 있다. 따라서 데이터 주권과 비용 절감을 우선시하는 경우 OpenWorkers가 적합하다.
OpenWorkers를 사용하기 위해서는 Docker Compose를 통해 PostgreSQL 데이터베이스를 설정하고, OpenWorkers 인프라를 배포해야 한다. 구체적으로 KV storage, PostgreSQL database 및 S3/R2-compatible storage를 활용하여 다양한 기능을 구현할 수 있다. 결과적으로 Cron Scheduling 기능을 통해 작업 스케줄링을 자동화하여 서버 관리 효율성을 높일 수 있다.