Deno присоединяется к Cloudflare
- Райан Дал и Берт Белдер возглавят совместное направление Cloudflare и Deno.
- Cloudflare планирует перенести код и идеи celld в workerd, чтобы сделать его масштабируемым решением для самостоятельного размещения.
- Подробности обещают рассказать в ближайшие месяцы; celld и workerd уже можно размещать самостоятельно.
Почему это важно: Это позволит создавать и запускать приложения с моделью программирования Workers на собственных серверах.

Для кого-то это может стать неожиданностью, но когда в августе команда Deno выпустила celld, мы были в восторге.
Почему неожиданностью? Дело в том, что существует популярная теория, согласно которой мы не должны были этому радоваться.
В интернете часто утверждают, что мы сделали Cloudflare Workers непохожим на другие облачные платформы, чтобы создать «привязку к поставщику». Суть претензии в том, что программы, созданные на Workers, сложно перенести на другие хостинговые платформы, поэтому, если написать приложение на Workers, вы навсегда «попадёте в ловушку» Cloudflare. Особенно это касается приложений, использующих Durable Objects: их не просто пишут иначе — у них и архитектура другая. Всё это якобы хитроумная ловушка: когда вы зайдёте слишком далеко и уже не сможете перейти на другую платформу, у вас каким-то образом выбьют почву из-под ног.
Согласно этой теории, celld представляет угрозу: будучи реализацией Workers и Durable Objects с открытым исходным кодом, он позволяет без проблем переносить приложения, созданные на Workers, к другим провайдерам. Никакой больше ловушки!
Эта теория неверна
Workers устроен иначе, потому что он лучше
Мы создали Workers иначе, потому что считаем это более удачным способом разработки веб-приложений.
- Благодаря архитектуре Workers управлять приложением, работающим в сотнях точек по всему миру, невероятно просто и дёшево. Ни одна другая популярная хостинговая платформа не добилась такого результата. Низкая цена — не уловка: мы действительно создали новую архитектуру, более эффективную, чем у конкурентов, и передали вам полученную экономию.
- Устройство Workers с динамическим окружением (так называемые «bindings») одновременно упрощает настройку доступа к внешним ресурсам и повышает её безопасность. Обычно совместить эти два преимущества не удаётся!
- Durable Objects упрощают создание систем для совместной работы в реальном времени и распределённых систем, которые трудно или невозможно реализовать в классической трёхуровневой веб-архитектуре.
Короче говоря, мы считаем, что создали более совершенную модель программирования для облачных приложений. Но для этого пришлось пойти другим путём: добиться этих преимуществ и при этом сохранить полную совместимость с существующими платформами было невозможно.
Если бы мы могли предложить эти преимущества и при этом обеспечить полную совместимость с традиционными облачными платформами, мы бы непременно так и поступили! Для нашего бизнеса было бы очень выгодно, если бы любые вычислительные задачи можно было просто перенести на Workers. Но инновации порой требуют нестандартных решений. Мы считаем, что в долгосрочной перспективе лучше отличаться от остальных и быть лучше, чем оставаться такими же, как все.
«Привязка к поставщику» вредит нам — поэтому мы открыли исходный код
Если бы у пользователей Workers действительно не было возможности уйти, некоторые из наших крупнейших клиентов вообще никогда бы не начали с нами работать.
Когда в 2022 году мы впервые представили клиентам вроде Shopify предложение Workers for Platforms, их ответ был однозначным: они не могли строить решения на нашей платформе, пока исходный код среды выполнения Workers не станет открытым.
И мы открыли его. Да-да, мало кто об этом знает, но среда выполнения Cloudflare Workers — workerd — имеет открытый исходный код. Это не сторонняя реализация — это тот же код, который мы используем в рабочей среде.
Более того, среди наших бывших клиентов есть те, кто перешёл от нас на workerd. И это нормально! Если бы мы не открыли исходный код, эти клиенты никогда бы не стали с нами работать. А на каждого ушедшего клиента приходится немало тех, кто остался.
Как выяснилось, открытый исходный код и возможность уйти — это хорошо для бизнеса.
Но мы можем сделать ещё лучше — и с помощью Deno так и поступим
Мы выпустили workerd, искренне рассчитывая, что люди будут использовать его в рабочих средах. Несколько человек так и сделали, но пока их немного. Похоже, большинство даже не подозревает, что это возможно.
Почему?
Честно говоря, мы не слишком преуспели в создании экосистемы сопутствующих сервисов и инструментов, необходимых для полноценной работы. Мы выпустили среду выполнения и просто надеялись, что сообщество подключится и начнёт адаптировать её для любых возможных сред. Но этого не произошло. Возможно, мы были наивны.
Для полноты картины должен признать: у workerd всегда был один серьёзный пробел, мешавший использовать его в рабочей среде, — Durable Objects. Workerd поддерживает их, но только в режиме одного экземпляра: этого достаточно для локального тестирования, но не для масштабирования. Мы всегда хотели это исправить. В коде ещё с момента первоначального выпуска есть комментарии TODO. Проблема в том, что наша реализация маршрутизации Durable Objects в рабочей среде совершенно не подходит тем, кто хочет разместить систему на собственных серверах. Это настоящий монстр, рассчитанный на сотни точек присутствия и зависящий от множества внешних сервисов, которыми управляет команда инженеров по надёжности сайтов. Мы понимали, что для самостоятельного размещения нужно другое решение, но так и не находили времени его создать. (Прошлой весной я действительно попытался это сделать, но, к своему стыду, у меня ничего не вышло.)
Теперь, надеюсь, понятно, почему мы обрадовались появлению celld: перед нами была реализация Workers и Durable Objects, совместимая с нашей, но при этом рассчитанная на самостоятельное размещение и масштабирование. Мы давно хотели создать именно такое решение, а Deno Land уже делала его для нас!
И кто справился бы с этой задачей лучше Райана Дала и его команды? Райан — создатель Node.js. Он придумал использовать JavaScript на сервере — без его работы Workers, возможно, никогда бы не появился. А затем он, Берт Белдер и остальные участники команды Deno Land сделали это снова, создав Deno — ещё одну среду выполнения для JavaScript (и TypeScript), которая подняла планку для всей отрасли. Команда Deno знает, как создать удобную для разработчиков среду вокруг решения, размещаемого на собственных серверах, — добиться этого с workerd нам так и не удалось.
Представьте, как мы обрадовались, когда команда Deno сообщила, что хочет объединить усилия в этом проекте.
План
Райан и Берт возглавят новое направление: workerd станет полноценным поддерживаемым решением для самостоятельного размещения, позволяющим создавать и запускать приложения с использованием модели программирования Workers. Для этого код и идеи из celld будут перенесены обратно в workerd. Я с огромным энтузиазмом жду этой работы — лично я собираюсь использовать её, чтобы запустить у себя дома экземпляр Cloudflare OS.
В ближайшие месяцы мы расскажем об этой работе подробнее. Но если ждать не хочется, уже сегодня можно начать самостоятельно размещать celld или workerd.
Cloudflare Blog прочитано 10729 раз
Об этом также пишут
- Linux.org.ru Cloudflare поглотила JavaScript-платформу Deno и прекратит её разработку 10.10.2026 12:19
