Новости Создатель Node.js и Deno написал открытый аналог Cloudflare Workers — и он в 8 раз дешевле

NewsMaker

I'm just a script
Премиум
29,107
46
8 Ноя 2022
Райан Даль выпустил платформу, которая даёт свободу без потери совместимости.

<div class="articl-text-cover" style="position:relative;width:100%;max-width:800px;margin-left:auto;margin-right:auto;aspect-ratio:1200/675;margin-bottom:2rem;overflow:hidden">
avhz1w48gy8cpncz0ov06ah9qej325k5.jpg

<div itemprop="articleBody">Разработчики смогут перенести приложения Cloudflare Workers и Durable Objects на собственные серверы, сохранив привычные программные интерфейсы. Создатель Node.js и Deno Райан Даль представил celld , открытую платформу для запуска распределенных приложений без привязки к инфраструктуре Cloudflare.

Cloudflare Workers позволяет выполнять серверный JavaScript в легких изолированных средах. Сервис Durable Objects дополняет вычисления постоянным хранилищем: каждый объект получает уникальное имя, отдельную базу SQLite и собственный участок памяти.

Один поток последовательно обрабатывает обращения к объекту, поэтому несколько запросов не могут одновременно изменить одни и те же данные. Разработчикам не приходится вручную разрешать конфликты, синхронизировать процессы или подключать отдельную очередь сообщений. Вычисления проходят рядом с информацией, которую использует приложение.

Архитектура подходит для многопользовательских игр, чатов, совместных редакторов, рабочих сервисов и ИИ-агентов. Объект может удерживать множество соединений WebSocket, а при отсутствии активности переходить в спящий режим. Приложение перестает расходовать вычислительные ресурсы до следующего запроса.

Celld переносит схему на серверы владельца. Каждый элемент системы, получивший название cell, также работает с отдельной базой SQLite. Узлы запускают код через движок V8, а состояние, сведения о развертывании и записи о владельцах хранят в совместимом с S3 хранилище или Google Cloud Storage.

Центральный управляющий сервер платформе не нужен. Хранилище определяет, какой узел отвечает за конкретную ячейку, а celld постоянно копирует туда изменения SQLite. После сбоя другой сервер забирает ячейку, восстанавливает базу и продолжает обработку запросов. Разработчики заявляют, что подтвержденные операции при переключении не теряются.

Платформа поддерживает значительную часть интерфейсов Workers и Durable Objects, поэтому совместимые приложения можно переносить без полного переписывания. Celld принимает JavaScript и TypeScript, а V8 позволяет запускать через WebAssembly программы на Rust, C, C++, Go и Zig. Полной копией Cloudflare Workers проект пока не стал: некоторые сервисы и параметры конфигурации остаются недоступными.

Главным преимуществом Даль называет стоимость постоянной нагрузки. По расчетам разработчика, содержание 100 непрерывно активных объектов в Cloudflare обойдется примерно в $415 в месяц, а сопоставимая конфигурация celld на сервере с 8 ГБ памяти потребует около $49.

Cloudflare оспорила сравнение. Сумма в $415 возникает только при непрерывной работе всех объектов. Спящий режим снижает расходы примерно до $20,65, поскольку тарификация не учитывает время простоя объектов, готовых к гибернации. Реальная разница зависит от характера нагрузки: постоянно занятые ячейки сильнее раскрывают преимущество celld, а редко используемые могут обходиться дешевле в Cloudflare.

Самостоятельное размещение также перекладывает на владельца настройку серверов, сети, защищенного соединения и резервного хранилища. Celld пока находится на ранней стадии разработки, не предлагает готовой системы управления учетными записями и требует отдельного шлюза для приема внешнего трафика.

Исходный код опубликован на GitHub по лицензии Apache 2.0. Команда принимает продуманные исправления от разработчиков, но запретила отправлять изменения, автоматически подготовленные ИИ-агентами. Авторы объяснили ограничение большим количеством объемных правок без необходимого контекста, разбор которых отнимает у сопровождающих проект больше времени, чем экономит.
 
Источник новости
www.securitylab.ru

Похожие темы