elliothux/open-compute
Self-hosted Cloudflare Workers-compatible platform with KV, D1, R2, Durable Objects, Queues, and Workflows in one Rust binary.
해결하는 문제
open-compute는 Cloudflare의 글로벌 네트워크나 Kubernetes, Redis, 서비스 메시와 같은 복잡한 인프라를 필요로 하지 않고, 자체 하드웨어에서 Cloudflare Workers를 실행할 수 있는 방법을 제공합니다. workerd(오픈소스 런타임)를 실제 Workers를 배포하고 관리하기 위해 필요한 제어 평면, 라우팅, 상태 관리 기능을 추가함으로써 완전한 플랫폼으로 전환합니다.
작동 방식
이 프로젝트는 Rust 기반의 단일 바이너리(ocd)로 제공되며, 런타임, 스케줄러, 제어 API를 모두 포함합니다. 로컬 권위 상태에는 SQLite를 사용하고, 객체 스토리지(배포 패키지 및 자산)에는 S3 호환 스토리지를 사용합니다. workerd는 보안 루프백 채널을 통해 통신하는 감시된 자식 프로세스로 관리됩니다. 배포는 불변이며 콘텐츠 주소 기반으로, 포인터만 이동하면 빠른 롤백과 프로모션을 가능하게 합니다.
대상 사용자
Cloudflare Workers의 개발자 경험(동일한 API, 바인딩, 툴체인)을 원하면서도 데이터, 머신, 인프라의 완전한 소유권이 필요하거나, 환경을 완전히 오프라인에서 실행해야 하는 개발자 및 운영자에게 적합합니다.
주요 특징
- 단일 바이너리 배포: 런타임, 제어 평면, 스케줄러가 하나의 실행 파일에 패키지화되어 있습니다.
- 높은 호환성: KV, D1, R2, Durable Objects 등의 서비스에 대해 실제 Cloudflare와 바이트 단위로 검증된 2,000개 이상의 안정된 API 멤버를 구현했습니다.
- 고성능:
workerd를 활용해 밀리초 단위의 콜드 스타트와 MB 규모의 메모리 사용을 달성했으며, 핫 패스의 효율성을 보장하는 안전한 Rust로 작성되었습니다. - 외부 종속성 없음: 데이터 디렉터리와 S3 엔드포인트만 있으면 작동하므로, 외부 데이터베이스나 복잡한 오케스트레이션 계층이 필요하지 않습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트