open-compute: самонастраиваемая инфраструктура для Cloudflare Workers
open-compute — это самонастраиваемая инфраструктура, совместимая с Cloudflare Workers, упакованная в один бинарник на Rust.
Проект отлично решает задачу локального запуска облачных функций без лишних зависимостей, тем самым упрощая развёртывание и управление. По сравнению с альтернативами, таким как Kubernetes или облачные провайдеры, ты получаешь минималистичный подход: один бинарник, один каталог данных и никаких дополнительных инструментов. Это делает open-compute идеальным решением для разработчиков, которые хотят запускать Cloudflare Workers на собственном оборудовании.
Запуск осуществляется простым шагом — достаточно собрать бинарник на Rust. Поддерживаются операционные системы macOS и Linux. Имей в виду, что проект еще в стадии разработки, поэтому могут возникнуть ограничения и некоторые недоработки.
Что такое open-compute?
Проект open-compute представляет собой высокопроизводительную платформу для выполнения Cloudflare Workers, которая может работать на ваших собственных машинах. Он предлагает инфраструктуру в виде одного бинарного файла, который можно развернуть за один шаг. Open-compute предназначен для работы с изолированными Workers, обеспечивая быстрый старт и малое потребление памяти.
Зачем нужен open-compute?
Cloudflare предоставляет runtime для выполнения Workers (workerd), но это не полноценная платформа с поддержкой управления и развертывания. Open-compute заполняет этот пробел, объединяя в одном файле контроллер, планировщик и все необходимые привязки для работы с Workers. Это упрощает процесс развертывания и позволяет обойтись без лишних зависимостей, таких как Kubernetes или Redis.
Как установить и запустить
Для локального развертывания проекта тебе понадобится несколько инструментов: Rust 1.98, Bun 1.3.14, Node 26 и Git LFS. После установки необходимых компонентов, выполни следующие команды:
git lfs pull --include="share/workerd/**"
./scripts/dev.sh
Чтобы развернуть своего первого Worker, выполни следующую команду:
CLOUDFLARE_API_BASE_URL=http://127.0.0.1:8787/client/v4 \\
CLOUDFLARE_API_TOKEN="$OPEN_COMPUTE_DEPLOY_TOKEN" \\
CLOUDFLARE_ACCOUNT_ID="$OPEN_COMPUTE_ACCOUNT_ID" \\
bun run oc deploy --config examples/hello-worker/wrangler.jsonc
Всё — твой Worker будет развернут и готов к работе.
Как устроен проект
Архитектура open-compute состоит из нескольких ключевых компонентов:
ocd— основной управляющий компонент, который отвечает за входящий трафик, контрольный API и планирование.workerd— runtime, отвечающий за выполнение Workers.- SQLite — локальное хранилище для состояния приложения.
- Поддержка Local/S3 для хранения статических активов и других объектов.
Проект написан на Rust, использует асинхронную модель и низкоуровневые операции для повышения производительности.
Ограничения
- Open-compute не является прямым аналогом Cloudflare, так как работает на одном узле, а не в распределенной системе с доставкой по всему миру.
- Многие функции, такие как рабочие AI-модели или контейнеры, еще находятся в разработке или не поддерживаются.
- Пока не реализована поддержка динамических Workers и многорепликационной HA-кластеризации.
Таким образом, этот проект подходит для локального развертывания Workers без зависимости от облачных сервисов и дает возможности для управления и настройки на собственных серверах.
Открыть на GitHub: elliothux/open-compute →
RepoRadar