Deno присоединяется к Cloudflare: команда, стоявшая за одноимённой средой выполнения JavaScript, переходит в состав инфраструктурной компании. Однако главный смысл сделки связан не с рантаймом Deno, а с проектом celld — самостоятельной альтернативой части сервисов Cloudflare для развёртывания распределённых приложений.
Deno уходит в Cloudflare: что произошло
Deno известен как среда выполнения JavaScript и TypeScript, которая достигла версии 1.0 в 2020 году и рассматривалась как альтернатива Node.js. Вместе с Node.js и Bun проект входил в число заметных рантаймов современной JavaScript-экосистемы.
Теперь вся команда Deno присоединяется к Cloudflare. В официальном объявлении Deno подчёркивается, что изначальная цель компании была шире, чем создание рантайма: разработчики хотели упростить создание серверного программного обеспечения и объединить вычисления, хранение данных и коммуникацию в единую инфраструктурную модель.
«Наши амбиции всегда выходили за рамки рантайма: вычисления, хранение и коммуникация должны работать вместе, без необходимости для каждого приложения собирать собственную инфраструктуру».
Почему сделка не только про Deno Runtime
Хотя бренд Deno прежде всего ассоциируется с рантаймом, к моменту сделки фокус компании сместился в сторону инфраструктурных решений. Одним из таких продуктов стал Deno Deploy — сервис для упрощённого развёртывания приложений на Deno.
Такой путь был типичен для многих компаний вокруг языков, фреймворков и рантаймов: сначала открытый проект, затем коммерческий сервис для хостинга или развёртывания. Однако ключевым направлением для Deno в итоге стал не сам хостинг Deno-приложений, а проект celld.
Что будет с Deno Runtime и Deno Deploy
Главная новость для пользователей Deno — дальнейшая разработка рантайма прекращается. Проект останется открытым, но официальная поддержка будет ограничена по времени.
«Мы будем поддерживать Deno Runtime ещё один год, выпуская ежемесячные обновления с исправлениями ошибок и обновлениями безопасности. После этого года мы завершим разработку Deno Runtime. Deno останется проектом с открытым исходным кодом, и мы приветствуем тех, кто захочет продолжить его развитие».
Это означает, что в течение года пользователи смогут рассчитывать на исправления и патчи безопасности, но затем дальнейшая судьба рантайма будет зависеть от сообщества или новых сопровождающих проекта.
Deno Deploy также будет закрыт: сервис продолжит работу ещё шесть месяцев, после чего его планируют отключить.
Что такое celld и почему он важен для Cloudflare
celld — это проект для самостоятельного размещения распределённых и устойчивых объектов. По сути, он предлагает разработчикам часть возможностей Cloudflare в формате, который можно запустить на собственном сервере или в собственной инфраструктуре.
Идея celld заключается в том, чтобы разработчик мог взять VPS, сервер в дата-центре или облачную машину, установить на неё платформу и получить модель, похожую на Cloudflare Workers и связанные сервисы, но без обязательной привязки к облаку Cloudflare.
Какие возможности поддерживает celld
Согласно описанию проекта, celld уже включает поддержку ряда компонентов, знакомых пользователям Cloudflare:
- контейнеры;
D1— SQLite-база данных Cloudflare;- запуск задач по расписанию;
Workersи динамические воркеры;KV— хранилище ключ-значение;- очереди;
- устойчивые объекты;
- другие инфраструктурные сервисы для приложений.
Особое внимание уделяется устойчивым объектам и распределённой архитектуре. В основе работы celld используется хранилище, совместимое с S3, где сохраняется состояние, необходимое для оркестрации воркеров и устойчивых объектов, в том числе между несколькими серверами.
Зачем Cloudflare покупать Deno
На первый взгляд сделка может выглядеть как покупка потенциального конкурента: celld позволяет разворачивать часть возможностей Cloudflare самостоятельно, а значит, снижает зависимость разработчика от платформы Cloudflare.
Однако для Cloudflare в этом есть и стратегическая выгода. Компания регулярно сталкивается с претензиями о привязке к собственной платформе: приложения под Cloudflare Workers приходится проектировать с учётом модели Cloudflare, а перенести их в другое окружение не всегда просто.
Если celld сохранится и будет развиваться, Cloudflare сможет предлагать его как ответ на опасения клиентов: приложение можно строить на модели Workers, а при необходимости запускать его не только в Cloudflare, но и на собственной инфраструктуре.
Что это значит для разработчиков
Для пользователей Cloudflare сделка может означать появление более убедительного пути выхода из платформы без полного переписывания приложений. Для компаний, которым важны контроль над инфраструктурой, предсказуемая стоимость или размещение данных в конкретном регионе, celld может стать привлекательной альтернативой.
Среди возможных преимуществ самостоятельного размещения:
- контроль над инфраструктурой — серверы можно размещать в нужном дата-центре или регионе;
- предсказуемая стоимость — расходы зависят от выбранных серверов, а не только от потребления облачных сервисов;
- гибкость масштабирования — при росте нагрузки можно добавлять новые серверы;
- снижение риска привязки к поставщику — приложение можно запускать вне Cloudflare.
При этом самостоятельное размещение не отменяет эксплуатационные сложности. В отличие от управляемой платформы Cloudflare, серверы с celld нужно поддерживать, обновлять и администрировать самостоятельно.
Почему Deno не смог стать массовой альтернативой Node.js
Deno появился с сильной идеей: исправить ряд проблем Node.js и предложить более современный подход к JavaScript и TypeScript на сервере. Однако широкого распространения рантайм не получил.
По данным опросов State of JavaScript, в 2020 году Deno использовали около 6% участников. Позднее показатель вырос примерно до 12%, но этого оказалось недостаточно, чтобы приблизиться к Node.js, который сохраняет доминирующее положение с показателем около 90%.
Ситуацию осложнил и рост Bun. Этот рантайм, появившийся позже, быстрее набрал популярность за счёт сильного акцента на совместимость с Node.js. Для многих команд переход на Bun оказался проще, чем миграция на Deno.
Проблема совместимости с Node.js
Одной из ключевых трудностей Deno стала необходимость быть совместимым с экосистемой Node.js. Чем сильнее проект стремился к совместимости, тем сложнее было последовательно развивать исходные идеи, с которыми Deno запускался.
Для разработчиков совместимость имеет решающее значение: если существующее приложение, библиотеку или инструмент можно перенести без серьёзных изменений, вероятность перехода на новый рантайм выше. Bun сделал ставку именно на это, тогда как Deno дольше оставался более самостоятельной и менее привычной платформой.
Итоги сделки Deno и Cloudflare
Сделка между Deno и Cloudflare выглядит как переход от истории о JavaScript-рантайме к истории об инфраструктуре для распределённых приложений. Deno Runtime фактически уходит в режим завершения официальной поддержки, Deno Deploy будет закрыт, а главным активом становится celld.
Для поклонников Deno это болезненная новость: проект, который задумывался как современная альтернатива Node.js, прекращает активное развитие в прежнем виде. Но для Cloudflare и разработчиков, работающих с моделью Workers, покупка может оказаться важным шагом к более открытой и переносимой инфраструктуре.
Если celld действительно продолжит развиваться, он может стать самостоятельным способом запускать приложения в стиле Cloudflare — с воркерами, устойчивыми объектами, очередями, базами данных и другими сервисами, но на собственной инфраструктуре.
На основе Cloudflare acquired Deno ... but NOT because of Deno
