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、バインディング、ツールチェーン)を望みながらも、データ、マシン、インフラストラクチャの完全な所有権を必要とする開発者やオペレーター、または環境を完全にオフラインで実行したい人向けです。

主な特徴

  • 単一バイナリデプロイ: ランタイム、制御プレーン、スケジューラがすべて1つの実行可能ファイルにパッケージ化されています。
  • 高い互換性: KV、D1、R2、Durable Objects などのサービスについて、実際の Cloudflare とバイト単位で検証された、2,000以上の安定した API メンバーを実装しています。
  • 高いパフォーマンス: workerd を活用し、ミリ秒単位のコールドスタートと MB 級のメモリ使用量を実現。ホットパスの効率性を確保する安全な Rust で記述されています。
  • 外部依存なし: データディレクトリと S3 エンドポイントさえあれば動作するため、外部データベースや複雑なオーケストレーション層の必要がありません。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト