open-compute: самонастраиваемая инфраструктура для Cloudflare Workers

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 →

Что нового на GitHub — короткие обзоры на русском Новые обзоры приходят в Telegram. Без спама, по делу.
Подписаться

Похожие статьи

Популярные темы на сайте