Альтернативы Deno Deploy: куда перенести проект в 2026 году
Альтернативы Deno Deploy: сравниваем Cloudflare Workers, Netlify, Supabase, Vercel и Val Town. Цены, лимиты и перенос функций, Deno KV, cron и очередей.
Опубликовано

Если вы рассматриваете альтернативы Deno Deploy, начните с Cloudflare Workers: именно туда Deno рекомендует переезжать, сообщая, что Deploy продолжит работу ещё 6 месяцев. Для сайта с периферийной логикой на Deno подойдёт Netlify, для API с базой данных — Supabase Edge Functions, для приложения, построенного вокруг веб-фреймворка, — Vercel Functions, а для небольших задач по расписанию — Val Town. Если приложение использует Deno KV, сначала выберите замену хранилищу, а уже потом — площадку для функций.
Цены и документация проверены 12 октября 2026 года. Сравнение основано на публичных тарифах, правилах работы сред выполнения и объёме необходимых изменений; тестовые развёртывания в аккаунтах сервисов не проводились. Срок до закрытия указан в объявлении Deno от 9 октября.
Альтернативы Deno Deploy: краткое сравнение
Выбирайте площадку, на которой приложение сохранит своё поведение, а вам придётся поддерживать как можно меньше изменений. Перенести эндпоинт на TypeScript, обращающийся к внешней базе данных, — совсем другая задача, чем перенести приложение, у которого транзакции, расписания и очередь целиком завязаны на Deno Deploy.
Источники тарифов: Cloudflare, Netlify, Supabase, Vercel, Val Town, его FAQ по оплате и тарифы VPS DigitalOcean. Это начальные цены, а не обещание, что ими ограничится весь месячный счёт.
Что объявила Deno и как понимать сроки
Deno Deploy закрывается, а для среды выполнения Deno предусмотрен отдельный срок сопровождения. В объявлении от 9 октября 2026 года Ryan Dahl написал:
Deno Deploy продолжит работать в течение шести месяцев, после чего будет закрыт.
В том же объявлении платным клиентам обещана помощь при переходе на Cloudflare Workers. Кроме того, Deno обязуется ещё год ежемесячно выпускать версии среды выполнения с исправлениями ошибок и обновлениями безопасности, после чего прекратит её разработку. Среда выполнения останется с открытым исходным кодом. JSR, реестр пакетов JavaScript и TypeScript, продолжит работать, а его инфраструктура переедет в Cloudflare. Объявление Deno.
Deno называет сроки, но не конкретный день отключения. Не превращайте их в выдуманную дату и не считайте более долгую поддержку среды выполнения дополнительным временем для работы в Deploy. Платным клиентам стоит воспользоваться помощью при миграции и планировать перенос приложения вместе с данными.
1. Cloudflare Workers: с чего начать выбор площадки для миграции
Cloudflare Workers — управляемая платформа для обработчиков запросов и фоновых задач. Её стоит первой включить в список кандидатов: Deno прямо направляет туда своих клиентов. Если у вас API на TypeScript, внешняя база данных и задача очистки по расписанию, основная работа придётся на адаптацию к новой среде выполнения и настройку развёртывания. Приложению, построенному вокруг Deno KV, отдельно понадобится переработка хранилища. Выбирайте Workers как целевую платформу, но заранее закладывайте ресурсы на части, завязанные на Deno: перенести их без изменений не получится.
Для каких задач: API, вебхуки, cron-задачи, очереди и сайты, которым нужна управляемая инфраструктура.
Главное преимущество: Deno рекомендует эту площадку для миграции; здесь есть сервисы хранения и планирования задач.
Цены: Workers Free; для Workers Paid — минимум $5 USD/мес. за аккаунт; использование Enterprise оплачивается по договору.
Бесплатное знакомство: Для оценки возможностей подходит постоянный тариф Workers Free.
Сложность миграции: Низкая или средняя для обработчиков без состояния; высокая, если нужно переработать транзакции KV и задачи в очередях.
Что придётся изменить в коде TypeScript
Workers использует среду выполнения workerd, а не Deno. Глобального пространства имён Deno в ней нет. Стандартные веб-интерфейсы — Request, Response и fetch — дают хорошую основу для переносимого кода. А вызовы Deno.serve, Deno.env, Deno.openKv и Deno.cron указывают на участки, которые придётся заменить. Совместимость с Node.js тоже охватывает лишь часть API: успешный импорт пакета при разработке ещё не доказывает, что его зависимости будут работать в целевой среде. API среды выполнения Workers.
Wrangler — инструмент командной строки Cloudflare для развёртывания. В руководстве Deno по Wrangler показано, как оставить Deno в инструментарии разработки: добавить npm:wrangler, сгенерировать типы Workers, экспортировать модуль с обработчиком fetch, а при необходимости разрешать модули по правилам Deno — собирать код через esbuild с плагином Deno. Сборка с помощью Deno не превращает развёрнутый Worker в процесс Deno.
Перенесите секреты и доступ к ресурсам в bindings — настроенные привязки, через которые Worker получает доступ к базе данных, очереди или значениям окружения. Проверяйте не только файлы приложения, но и зависимости: внутри вспомогательной библиотеки может скрываться обращение к файловой системе, даже если обработчик маршрута использует только веб-API. Привязки Cloudflare.
Подбирайте замену по поведению сервиса
Принципиально важно различать Workers KV и Deno KV. Workers KV рассчитан на частое чтение и относительно редкую запись; закешированные данные могут быть устаревшими. Одного сходства названий недостаточно, чтобы переносить туда резервирование товаров, остатки на счетах или атомарную проверку уникальности. Как работает Workers KV.
D1 — вариант на базе SQL: префиксы ключей и вторичные индексы нужно преобразовать в продуманную схему данных. Пакетный API выполняет инструкции транзакционно, но оптимистические проверки Deno сами по себе в него не переносятся. Durable Objects объединяют состояние с вычислительным экземпляром, который координирует работу с ним. Этот вариант стоит изучить, если для отдельной сущности — например, комнаты или аккаунта — нужен последовательный доступ. Транзакции D1, Durable Objects.
Для задач по расписанию Cron Triggers использует обработчик scheduled и расписания в UTC. Для отложенной работы есть система сообщений Queues. Расписание определяет, когда запустить задачу; очередь хранит работу, которая ждёт обработки. Замена одного не заменяет другое. Статический сайт можно разместить в Workers Static Assets, отделив сгенерированные файлы от динамической обработки запросов.
Цены и жёсткие ограничения
Workers Free включает 100,000 запросов в день и 10 мс процессорного времени на вызов. В Paid входят 10 миллионов запросов и 30 миллионов миллисекунд процессорного времени в месяц; сверх лимита — $0.30 за дополнительный миллион запросов и $0.02 за дополнительный миллион миллисекунд процессорного времени. Использование базы данных, очереди и других продуктов нужно считать отдельно. Текущие тарифы Workers.
Сам по себе размер сборки больше не повод переходить на Paid: и Free, и Paid допускают 64 MiB в несжатом виде, а лимит памяти остаётся 128 MB. Сверьтесь с текущими ограничениями и нашим разбором перехода на платный тариф из-за размера сборки. В обзоре Cloudflare подробнее объясняется, как связаны разные продукты внутри аккаунта.
Найдите все зависимости от среды выполнения
Соберите вызовы пространства имён Deno, импорты по URL, обращения к файловой системе, секреты, операции KV, расписания и обработчики очередей. Отделите переносимую бизнес-логику от этих адаптеров.
Подготовьте точку входа для Worker
Следуйте руководству Deno по Wrangler: настройте обработчик модуля и сгенерированные типы Workers, затем при необходимости добавьте сборку с поддержкой импортов Deno. Меняйте способ вызова обработчика, сохраняя прежние правила формирования ответа.
Продумайте хранение состояния и настройте триггеры
Выберите базу данных до импорта записей. Добавьте привязки, перенесите расписания в Cron Triggers, перепишите отправителей и обработчиков сообщений очереди. Зафиксируйте, что произойдёт при повторной доставке задачи.
Проверьте перенос до переключения трафика
На локальных тестовых данных и в отдельном целевом окружении сравните коды ответов, заголовки, аутентификацию и изменения состояния. Развёртывание кода — лишь одна из проверок: данные и фоновые задачи должны быть готовы к тому же моменту переключения.
- Deno рекомендует Workers платным клиентам как направление миграции с поддержкой.
- Для функций, статических файлов, расписаний и сообщений есть конкретные целевые сервисы.
- При смене среды выполнения Deno можно оставить в процессе сборки.
- Вызовы пространства имён Deno придётся изменить.
- Для транзакций Deno KV нужно спроектировать замену.
- Раздельный учёт потребления сервисов не позволяет оценить бюджет только по базовой цене.
2. Netlify: для сайтов с периферийной логикой на Deno
Netlify — платформа развёртывания сайтов с Edge Functions на базе Deno. Она подходит, когда динамическая логика в основном обрабатывает входящие запросы: выбирает локализацию, проверяет аутентификацию, выполняет перенаправления или несложную персонализацию. Возможность держать эту логику рядом с предварительными версиями сайта бывает полезнее перехода к новой инфраструктурной модели. Обработчик без состояния на периферии сети — разумный кандидат для переноса; бэкенд, активно использующий очереди, потребует сильнее разделить компоненты. Выбирайте Netlify, если ваш продукт — это сайт, а периферийная логика помогает ему работать. Обзор Edge Functions.
Для каких задач: Статические сайты и веб-приложения с лёгкой логикой обработки запросов на Deno.
Главное преимущество: Edge Functions развёртываются вместе с сайтом, включая предварительные версии и откаты.
Цены: Free $0 бессрочно; Personal $9/мес.; Pro $20/мес. без ограничения числа участников; Enterprise — по договорённости.
Бесплатное знакомство: В Free действует лимит 300 кредитов в месяц.
Сложность миграции: Низкая или средняя для сайта и периферийной логики без состояния; выше, если нужно разделить хранилище, расписания и обработчики очередей.
Среда выполнения знакомая, но правила работы приложения меняются
Edge Function использует обработчик и контекст Netlify. Проверьте и импорты: документация Netlify предусматривает отдельный файл карты импортов, а не карту внутри deno.json; поддержка пакетов npm обозначена как бета. Если разрешение зависимостей проекта сейчас опирается на конфигурацию Deno, это отдельная задача при миграции. API Edge Functions.
Жёсткие ограничения выполнения — 50 мс процессорного времени на запрос и 40 секунд ожидания заголовков ответа. Ожидание удалённого сервиса и преобразование большого документа расходуют разные лимиты. Проверка аутентификации может вписаться в лёгкую периферийную логику; ресурсоёмкую обработку лучше выполнять другим способом. Ограничения Edge Functions.
Чем заменить Deno KV, cron и очереди
Для подходящего контента с доступом по ключу используйте Netlify Blobs. Если приложению нужны реляционные данные и транзакционные обновления, рассмотрите Netlify Database, сервис Postgres. В Blobs можно включить строго согласованное чтение, но одно это не воспроизводит атомарный API Deno KV для нескольких ключей. Проектируя новое хранилище, сохраните бизнес-инварианты — например, запрет одинаковых имён пользователей.
Scheduled Functions — отдельная возможность Netlify Functions. Наличие Deno.cron внутри Edge Function не создаст управляемое расписание. Выделите задачу, настройте график запуска и отдельно проверьте её среду выполнения. Если раньше задача читала очередь Deno KV, явно определите, где теперь будут надёжно храниться сообщения и кто будет их обрабатывать: запуск функции по расписанию не переносит сообщения из очереди.
Для владельца контентного сайта с ежечасной синхронизацией такое разделение вполне посильно: веб-платформа отвечает за доставку сайта и персонализацию, а синхронизация получает свою функцию по расписанию и постоянное хранилище состояния. Этот вариант менее привлекателен, если большая часть приложения — взаимозависимые фоновые обработчики.
Считайте кредиты и стоимость работы команды
Personal включает 1,000 кредитов/мес. Для Pro доступны пакеты: 3,000 за $20, 5,000 за $33, 10,000 за $63, 15,000 за $95 и 20,000 за $126 в месяц. Начиная с 5,000 кредитов, неиспользованный месячный остаток можно переносить в следующий расчётный период; в базовом пакете этой возможности нет. Текущие пакеты кредитов Netlify.
Автопополнение по умолчанию отключено. Если его включить, на Personal можно докупать 500 кредитов за $5, а на Pro — 1,500 за $10. Когда лимит аккаунта исчерпан и дополнительных кредитов нет, проекты могут быть приостановлены. Поэтому перед публичным запуском нужно решить не только вопрос развёртывания, но и вопрос расходов. Эти действующие кредитные тарифы не следует путать со старыми тарифами Netlify с оплатой за участников.
- Среда на базе Deno подходит для лёгких периферийных обработчиков на TypeScript.
- Доставка статики, предварительные версии и периферийный код объединены в одном процессе развёртывания.
- В Pro нет ограничения числа участников, что удобно для небольшой команды.
- Лимит процессорного времени ограничивает ресурсоёмкую обработку на периферии сети.
- Deno KV и его очередь не переезжают вместе с исходным кодом функции.
- Частые развёртывания и трафик расходуют один общий запас кредитов.
3. Supabase Edge Functions: для API, тесно связанных с базой данных
Supabase Edge Functions — функции на TypeScript в совместимой с Deno среде выполнения. Они особенно уместны, если миграция одновременно означает осознанный переход на реляционную базу данных Postgres. Например, сюда естественно перенести приложение с подпиской, которое принимает платёжные вебхуки и обновляет записи клиентов. Знакомая среда выполнения сокращает одну группу изменений, а основная проектная работа сосредоточится на базе данных. Выбирайте Supabase, если архитектуру определяют постоянно хранимые данные приложения. Документация функций.
Для каких задач: Вебхуки и API, которые удобно разместить рядом с Postgres, аутентификацией и файловым хранилищем.
Главное преимущество: Совместимые с Deno функции интегрированы в платформу баз данных.
Цены: Free $0/мес.; Pro от $25/мес.; Team от $599/мес.; Enterprise — по договорённости.
Бесплатное знакомство: Free включает 500,000 вызовов Edge Functions и базу данных объёмом 500 MB на проект.
Сложность миграции: Средняя для совместимых обработчиков; высокая, если Deno KV нужно преобразовать в реляционную схему с новой логикой транзакций.
Переносите модель данных вместе с эндпоинтом
Замените вызовы Deno KV обращениями к Postgres. Префикс, объединяющий, например, сохранённые пользователем элементы, превращается в связь, по которой можно делать запросы; проверка уникальности — в ограничение базы данных или транзакцию. Не стоит оставлять набор непрозрачных строковых ключей только ради более простого импорта, если затем каждый важный запрос потребует их декодировать.
Допустим, обработчику платежа нужно одновременно записать событие и предоставить право доступа. Критерий приёмки — повторная попытка не должна предоставлять это право дважды. Успешный HTTP-ответ новой функции ещё не доказывает, что после переработки хранилища этот инвариант сохранился.
В Supabase также есть Cron, который выполняет операции в базе или вызывает Edge Function, и Queues — система надёжного хранения сообщений на базе Postgres. Целенаправленно замените ими регистрацию Deno.cron и код отправки и обработки сообщений Deno KV. Определите, как подтверждается обработка сообщения и при каких условиях неудачная задача снова становится доступна для выполнения.
Ограничения выполнения и полная начальная стоимость
Для Edge Functions доступны 256 MB памяти и 2 секунды процессорного времени на запрос. Общее время жизни воркера ограничено 150 секундами на Free и 400 секундами на платных тарифах, но более долгий срок жизни не увеличивает лимит CPU. Это разные ограничения, а не взаимозаменяемые характеристики длительной фоновой задачи. Ограничения функций.
Pro и Team включают 2 миллиона вызовов функций, далее — $2 за дополнительный миллион. На Free разрешены 2 активных проекта; неактивные проекты приостанавливаются через 1 неделю. Платные тарифы включают кредит $10/мес. на вычислительные ресурсы, покрывающий экземпляр Micro. Тарифы Supabase.
Для статического фронтенда сайта Supabase подходит хуже. В документации по ограничениям функций указано, что для выдачи HTML нужен собственный домен; иначе ответ с text/html меняется на text/plain. Выбирайте хостинг фронтенда отдельно от площадки для API.
- Совместимые с Deno функции сокращают объём адаптации подходящих обработчиков к новой среде выполнения.
- Postgres даёт понятную основу для хранения структурированного состояния приложения.
- Cron и надёжные очереди подходят для процессов, построенных вокруг базы данных.
- Данные Deno KV и логику транзакций нужно перенести в новую схему.
- Ресурсоёмкие задачи упираются в ограничения функций и на платных тарифах.
- Дополнительные проекты и отдельный хостинг фронтенда могут увеличить общий счёт.
4. Vercel Functions: когда переезд определяет веб-фреймворк
Vercel Functions — управляемые серверные функции, связанные с развёртыванием веб-приложения. Они подходят, когда главная причина перехода — фронтенд-фреймворк и процесс выпуска версий. Если вы уже перестраиваете приложение вокруг фреймворка, поддерживаемого Vercel, перенести API-маршруты в эту структуру может быть разумно. Для сервиса на Deno, который в остальном не меняется, это менее прямой путь. Выбирайте Vercel ради удобного процесса работы с приложением, отдельно планируя адаптацию среды выполнения и хранилища.
Для каких задач: Веб-приложения на фреймворках, где API-маршруты расположены рядом с фронтендом.
Главное преимущество: Единый процесс развёртывания приложения с серверными функциями.
Цены: Hobby $0/мес.; Pro $20/мес.; Enterprise — по договорённости.
Бесплатное знакомство: Для Pro заявлен пробный период; Hobby разрешён только для личного некоммерческого использования.
Сложность миграции: Средняя при адаптации среды выполнения и маршрутов; высокая, если нужно также заменить хранилище и фоновые задачи.
Выберите между переносом кода и средой выполнения от сообщества
Vercel указывает Node.js среди поддерживаемых сред выполнения, а Deno — как среду от сообщества vercel-deno. С точки зрения сопровождения это разные варианты. Если сроки переезда поджимают, оцените совместимость интеграции от сообщества и выясните, кто её поддерживает, прежде чем делать от неё зависимой работу продакшена. Другой путь — адаптировать обработчик и зависимости под поддерживаемую среду выполнения вашего фреймворка. Документация сред выполнения Vercel.
Для замены Deno KV выберите базу данных и перепишите обращения к API. В руководстве Vercel по хранилищам разделены Blob для файлов, Global Config для конфигурации и базы из Marketplace для данных приложения. Хранилище конфигурации не должно автоматически становиться местом для транзакционных записей клиентов лишь потому, что его интерфейс «ключ — значение» кажется удобным.
Vercel Cron заменяет расписание, но не регистрацию через Deno.cron в коде. На Hobby задачу можно запускать раз в день, с точностью расписания до часа; на Pro минимальный интервал — раз в минуту. Если синхронизация нужна часто, Hobby отпадает уже из-за расписания. Использование и стоимость Cron.
Vercel Queues теперь доступен в бета-версии на всех тарифах: с надёжным хранением сообщений в топиках, автоматическими повторами и доставкой как минимум один раз. Его можно рассматривать для переноса задач из очереди Deno KV, но отправителей, обработчиков и логику подтверждения обработки всё равно придётся переписать. Если очередь — единственный путь к исполнению заказа клиента, учитывайте статус бета-версии при выборе.
Чем больше людей развёртывают приложение, тем выше цена
Плата за платформу Pro включает 1 место с правом развёртывания и $20 ежемесячного кредита на потребление ресурсов. Дополнительные платные места стоят $20/мес. каждое; места для просмотра бесплатны. Потребление сверх кредита и платные дополнения оплачиваются отдельно. Условия оплаты Pro.
Для бизнеса, уходящего с Deno Deploy, бесплатный Hobby не определяет бюджет рабочего приложения. Начните с тарифа, который разрешает коммерческое использование, затем добавьте расходы на нужную базу данных и очередь. Так кажущийся дешёвым переезд не превратится в неожиданный набор отдельных счетов.
- Подходит для веб-приложения, фреймворк которого уже подталкивает к Vercel.
- Официальные среды выполнения и документированный вариант Deno от сообщества позволяют осознанно выбрать путь.
- Cron и Queues в бета-версии покрывают разные виды фоновой работы.
- Сохранение TypeScript не означает, что API среды выполнения Deno продолжат работать автоматически.
- Ограничения Hobby на коммерческое использование и cron существенны для такого переезда.
- Платные места с правом развёртывания и хранилище могут заметно увеличить начальную цену.
5. Val Town: для небольших API и задач по расписанию
Val Town — облачная среда для небольших программ с триггерами по HTTP, электронной почте и cron. Она хорошо подходит маленькому сервису с одной полезной задачей: вебхуку, обновляющему внешнюю систему, API для внутреннего инструмента или рассылке дайджеста по расписанию. Среда выполнения Deno делает Val Town подходящим кандидатом для переезда, но интерфейсы хранилища и триггеров здесь всё равно другие. Выбирайте Val Town, если проект — компактная автоматизация, а не платформа, которую нужно эксплуатировать. Документация Val Town.
Для каких задач: Небольшие API, обработчики вебхуков, интеграции по расписанию и внутренние утилиты.
Главное преимущество: Размещение кода со встроенными триггерами и хранилищем SQLite.
Цены: Free $0; Pro $21/мес. при оплате за год; Business от $167/мес. при оплате за год; Enterprise — по договорённости. В FAQ поставщика указана помесячная стоимость подписок: $25 за Pro и $200 за Business.
Бесплатное знакомство: Free — постоянный тариф без собственных доменов и приватных val.
Сложность миграции: Низкая для утилиты без состояния, средняя для небольшой задачи с постоянным состоянием, высокая для более крупного приложения с состоянием.
Период оплаты здесь имеет значение: цену на странице тарифов с выбранной годовой оплатой нельзя представлять как подписку, которую за ту же сумму можно оплачивать и отменять каждый месяц. В FAQ Val Town приведены цены для помесячного сравнения и подтверждается использование среды выполнения Deno.
Простота переезда зависит от масштаба задачи
Перенесите обработчик в val — контейнер приложения Val Town с поддержкой версий — и настройте вызов через HTTP- или cron-триггер. Если задача только обращается к внешнему API и отправляет дайджест, всё её постоянное состояние может сводиться к последнему обработанному элементу. Проверить такую логику гораздо проще, чем клиентское приложение с несколькими транзакционными сущностями и обработчиками очередей.
Где это уместно, замените Deno KV на базу SQLite отдельного val либо оставьте внешнюю базу данных. Перепишите поиск по ключам и атомарные проверки в виде операций с базой. Нельзя оставлять Deno.openKv подключённым к облачному хранилищу, которое скоро закроется, и считать миграцию завершённой.
Если есть очередь, явно предусмотрите в архитектуре ожидающие задачи. Можно, например, по cron периодически просматривать таблицу заданий, но тогда вам нужно реализовать закрепление задачи за обработчиком, повторные попытки и защиту от дублей. Само по себе это не сохраняет поведение очереди Deno KV.
Тариф определяют частота запусков, приватность и длительность
На Free минимальный интервал cron составляет 15 минут, а общее время выполнения ограничено 1 минутой на запуск. Pro уменьшает интервал до 1 минуты и повышает лимит выполнения до 10 минут; в карточке тарифа также указаны 10 собственных доменов и 2,000 приватных val. Текущие цены и ограничения.
Публичный ежедневный дайджест может уложиться в Free. Для приватной интеграции или более частого опроса потребуется другой тариф, даже если трафика почти нет. Приватность кода и доступ к эндпоинту — тоже разные требования: закрытый исходный код сам по себе не определяет, кто вправе вызывать ваш HTTP-эндпоинт.
Миграция будет простой для утилиты без состояния и с несложным триггером, средней сложности — при переносе постоянного состояния задачи и сложной — если вы пытаетесь воспроизвести здесь среду выполнения и архитектуру данных более крупного приложения. Эти оценки описывают объём изменений, а не число затраченных часов.
- HTTP- и cron-триггеры подходят для небольших самостоятельных задач.
- Среда выполнения Deno сокращает объём адаптации совместимого кода TypeScript.
- Встроенная SQLite даёт понятное хранилище для небольших задач с постоянными данными.
- Free ограничивает приватность, частоту и длительность запусков.
- Для Deno KV и задач в очереди всё равно нужен отдельный план переноса.
- Указанная на странице цена при оплате за год предполагает другие обязательства, чем помесячная подписка.
6. Deno на своём сервере: чтобы сохранить поведение среды выполнения
Запуск Deno на виртуальном частном сервере, или VPS, сохраняет среду выполнения, но ответственность за хостинг переходит к вам. Контейнер упаковывает среду и приложение для запуска на выбранном вами сервере. Такой вариант стоит рассмотреть, если основная сложность переноса связана с доступом к файловой системе, специфичными API Deno или поведением долгоживущего процесса. Выбирайте собственный хостинг, если сохранение среды выполнения снимает больше сложностей, чем добавляет эксплуатация сервера. У Deno есть официальное руководство по Docker.
Для каких задач: Приложение, тесно связанное с Deno, если его владелец готов управлять сервером или развёртыванием контейнеров.
Главное преимущество: Контроль над средой выполнения, файловой системой и жизненным циклом процесса.
Цены: У среды выполнения с открытым исходным кодом нет тарифа на управляемый хостинг. В качестве примера провайдера: DigitalOcean предлагает Basic Regular Droplet за $4.00/мес. с 512 MiB RAM; вариант с 1 GiB стоит $6.00/мес.
Бесплатное знакомство: DigitalOcean упоминает промокредиты, но постоянного бесплатного тарифа Droplet на странице цен нет.
Сложность миграции: Меньше изменений в коде, связанном со средой выполнения, больше ответственности за эксплуатацию; для облачных данных всё равно нужен план экспорта, импорта и восстановления.
Это указанные в прайс-листе цены VPS, а не универсальная рекомендация по мощности сервера для любого приложения Deno. Учитывайте место для резервных копий, мониторинг и собственное время на эксплуатацию. Уже имеющийся сервер может избавить от новой подписки на хостинг, но не от работы по обслуживанию.
Что будет с Deno KV и cron
Deno KV умеет работать с локальной базой по пути на постоянном хранилище; в CLI под ней используется SQLite. Это позволяет сохранить больше обращений к API KV, чем переход к хранилищу другого поставщика. Но такой запуск не копирует облачные записи, не воссоздаёт распределённый хостинг и не превращает временную файловую систему контейнера в постоянное хранилище. Экспортируйте данные, выполните контролируемый импорт, подключите постоянное хранилище и убедитесь, что резервную копию можно восстановить. Документация Deno KV.
То же различие важно для расписаний. В CLI Deno.cron хранит состояние выполнения в памяти, а у каждого процесса свой независимый набор задач. Если вы запускаете несколько реплик приложения, нужно определить, какая из них отвечает за задачу по расписанию или как они согласуют действия. Сохранение прежнего вызова API не сохраняет управляемый планировщик Deploy. Поведение cron в Deno.
Для небольшого приложения на одном сервере такой объём эксплуатационной работы может быть приемлемым. Но если бизнесу нужна отказоустойчивая инфраструктура, а заниматься резервным копированием, обновлениями и восстановлением никто не хочет, недорогой VPS способен дорого обойтись в потраченном времени.
workerd и celld — другой путь к собственному хостингу
В объявлении Cloudflare workerd и celld названы уже доступными вариантами самостоятельного размещения. Они используют модель программирования Workers, поэтому рассматривать их следует после адаптации под Workers, а не как способ запустить весь имеющийся код Deno без изменений. Cloudflare также признаёт, что реализация Durable Objects в автономном workerd пока ограничена масштабированием в пределах одного экземпляра, и описывает перенос наработок и идей из celld в workerd. Объявление Cloudflare.
Не считайте ни один из этих вариантов новой подпиской на управляемый сервис с выдуманным бесплатным тарифом. Бюджет складывается из вашей инфраструктуры и её эксплуатации. Команде, которой нужно успеть переехать, стоит оценивать доступные сейчас возможности и план восстановления, который она в состоянии выполнить; будущая интеграция не заменяет эти решения.
Deno на своём сервере может стать промежуточным решением, но с учётом объявленного срока поддержки нужен и долгосрочный план сопровождения среды выполнения.
- Поведение среды выполнения Deno сохраняется с меньшим числом замен API.
- Локальное постоянное KV-хранилище позволяет оставить больше кода работы с данными.
- Хостинг, среда выполнения и конфигурация развёртывания остаются под вашим контролем.
- Доступность, резервные копии, обновления и восстановление — ваша ответственность.
- При нескольких репликах нужно продумать координацию состояния и расписаний.
- Объявленный срок сопровождения среды выполнения всё равно требует долгосрочного решения.
Выбирайте по задачам своего проекта
Выбор меняется, когда сложнее всего перенести состояние, а не код. Оценивайте трудоёмкость по конкретным изменениям: низкая — адаптация обработчика или сборки без изменений внешнего состояния; средняя — дополнительно нужно адаптировать взаимодействие со средой выполнения или переписать обращения к API хранилища; высокая — переработать транзакции, перенести задачи из очередей или взять на себя новые обязанности по эксплуатации. Даже маленькое приложение может потребовать сложной миграции, если от этих механизмов зависит корректность его работы.
Для функций на TypeScript без специфичных API Deno начните с Workers. Сохраните правила обработки запросов и формирования ответов, затем адаптируйте точку входа и развёртывание. Netlify становится привлекательнее, если функции изменяют запросы к сайту; Supabase — если они преимущественно работают с его базой данных. Vercel выигрывает, когда используемый фреймворк уже сам по себе служит причиной переезда. Обработчик без состояния обычно требует наименьших усилий при переходе на любую из этих площадок.
Для Deno KV сначала выберите модель хранения. Контент с преобладанием чтения может подойти для Workers KV или Netlify Blobs. Транзакционные записи направляют выбор в сторону D1, Postgres или другой базы, способной обеспечить нужный инвариант. Для координации может подойти Durable Objects. Небольшой утилите иногда достаточно SQLite в Val Town. Локальное KV на своём сервере позволяет сохранить больше кода, но возлагает на вас сохранность данных и восстановление. Считайте перенос любого облачного KV как минимум задачей средней сложности, пока проверка транзакций и индексов не покажет обратного.
Для cron сравните условия выполнения задач. Ежедневный отчёт и частый опрос требуют разных тарифов. Из управляемых вариантов сначала оцените Workers Cron Triggers; для компактной задачи привлекателен Val Town, для обслуживания базы — Supabase Cron, для работы, связанной с сайтом, — Netlify Scheduled Functions. Ограничение Vercel Hobby на ежедневные запуски исключает его для частых задач. Заново зарегистрировать расписание несложно; предотвратить повторные изменения при пересекающихся запусках бывает гораздо труднее.
Для очередей переносите накопившиеся сообщения вместе с обработчиком. Cloudflare Queues и Supabase Queues — конкретные целевые сервисы; Vercel Queues добавляет вариант в бета-версии. Миграция охватывает идентификаторы сообщений, повторы, подтверждения обработки и уже ожидающие задачи. Одного таймера недостаточно. Если за задачами в очереди стоят оплаченные обязательства перед клиентами, это перенос высокой сложности.
Для статических сайтов сначала перенесите сгенерированные файлы, а затем решайте, нужен ли перенос серверного кода. Workers Static Assets и Netlify — прямые кандидаты; Vercel стоит включить в список, если процесс работы на платформе полезен фреймворку сайта. Отдельно проверьте перенаправления, заголовки, формы, аутентификацию и динамические маршруты. Перенести готовую статику проще, чем сайт, формирующий персонализированный ответ на каждый запрос.
Как перенести Deno KV и сохранить поведение приложения
У развёртывания кода и миграции данных разные критерии успеха. Код перенесён успешно, когда выдаёт правильные ответы; данные — когда новая система сохраняет записи и правила, благодаря которым эти ответы остаются правильными.

Перед экспортом перечислите используемые возможности KV: типизированные составные ключи, выборки по префиксу, истечение срока хранения, вторичные индексы, оптимистические проверки версий, атомарные обновления и наблюдение за изменениями. Руководство Deno KV показывает, почему за набором ключей может скрываться больше логики приложения, чем видно в простом дампе объектов.
Хороший пример — индекс имён пользователей. Если приложение хранит запись пользователя и соответствие имени пользователю, скопировать обе записи недостаточно. Новый механизм записи должен сохранять их связь и отклонять конфликтующие обновления. Аналогично, временная метка, по которой раньше истекала сессия, требует явного правила в новой системе: если импортировать только значение, сессия может оставаться действительной слишком долго.
Для очередей ведите отдельный учёт ожидающих, завершённых и неудачных задач в той мере, в какой исходная система предоставляет эти данные. Решите, нужно ли перед переключением дать старому обработчику завершить очередь или переносить задачи с идентификаторами, обеспечивающими безопасный повтор. Идемпотентность означает, что повторное выполнение задачи не повторяет её бизнес-эффект. Благодаря этому повторная попытка отправить квитанцию не приводит к нескольким отправкам, а повтор сообщения об исполнении заказа не создаёт дублирующую работу.
Копируйте данные по чётким правилам записи
Сделайте резервную копию источника и определите, как обрабатывать записи во время копирования. Для небольшого приложения может подойти короткая пауза в записи; более сложная синхронизация потребует сверки и согласования данных. Изменения, сделанные между экспортом и переключением, не должны незаметно теряться.
Проверьте записи и поведение приложения
Сравните количество записей по типам сущностей, характерные значения и кодирование ключей. На контролируемых тестовых данных проверьте повторные отправки, конфликтующие обновления, истечение сроков и отсутствие записей. Проверяйте ожидаемый бизнес-результат, а не только успешный ответ нового API.
Одновременно переключайте трафик и выполнение задач
Перенаправляйте запросы, только когда состояние в новой системе готово. Отключите старые расписания и обработчики или передайте их обязанности новым, чтобы обе платформы не выполняли одно и то же действие. Целенаправленно перенесите секреты и адреса назначения вебхуков.
Наблюдайте за системой и сохраняйте рабочий путь отката
После переключения отслеживайте ошибки, неудачные задачи и бизнес-события. Сохраните резервную копию источника. Если новая система уже приняла записи, для отката нужен план согласования данных, а не просто возврат DNS.

В следующую рабочую сессию составьте перечень зависимостей и выберите, куда переносить самую сложную операцию с состоянием. Перенесите её прежде, чем доводить до конца остальные детали миграции. Это вскроет больше рисков, чем перенос ещё одного эндпоинта проверки работоспособности без состояния.
Как отбирались варианты
Эти направления выбраны под задачи приложений в Deno Deploy: HTTP-функции, постоянное состояние, задания по расписанию, очереди и статические файлы. Cloudflare идёт первым, поскольку Deno рекомендует его для миграции. Netlify, Supabase и Val Town включены благодаря выполнению кода на базе Deno и разным сценариям применения; Vercel — благодаря процессу развёртывания веб-приложений; собственный хостинг — благодаря контролю над средой выполнения.
Цены и возможности проверены по публичным страницам разработчиков 12 октября 2026 года. Оценки трудоёмкости описывают изменения, которых требуют документированные интерфейсы. Это не замеры времени миграции, не результаты нагрузочных тестов и не заявления о тестировании сервисов после входа в аккаунт. Универсальные облачные сервисы остались за пределами списка: дополнительные названия провайдеров не помогли бы решить главные вопросы о среде выполнения, состоянии и ответственности за выполнение задач.
Каких вариантов стоит избегать при таком переезде
Не используйте Workers KV как механическую замену транзакционному Deno KV. Выбирайте его, только если поведение при чтении и записи подходит вашим данным. Низкая стоимость хранилища не компенсирует нарушение требований к согласованности.
Не выбирайте Netlify Edge Functions для фоновой обработки с высокой нагрузкой на CPU. Лимит периферийного запроса — полезная граница при проектировании, а не препятствие, которое можно обойти надеждой, что платный тариф изменит модель выполнения.
Не используйте Vercel Hobby для коммерческого рабочего приложения. На странице тарифов он ограничен личным некоммерческим использованием. Ограничения cron также делают его неподходящим бесплатным вариантом для частых задач.
Не выбирайте Val Town Free, если исходный код должен оставаться приватным. Соответствие условиям тарифа нужно проверить раньше объёма трафика. Supabase Edge Functions тоже не стоит по умолчанию выбирать вместо хостинга обычного статического сайта: решение о размещении фронтенда должно быть отдельным.
Не переходите на собственный хостинг без ответственного за восстановление. Запустить процесс — самая простая часть. Кто-то должен уметь восстановить данные, перезапустить сервисы и объяснить, какой планировщик отвечает за задачи после сбоя.
Что нужно выяснить перед переездом
Когда закроется Deno Deploy?
В объявлении указан шестимесячный срок работы, а не конкретный день. Ориентируйтесь на этот срок и не подменяйте его более долгим периодом сопровождения среды выполнения.
Можно ли сохранить Deno после ухода с Deno Deploy?
Да. Netlify Edge Functions, Supabase Edge Functions и Val Town предлагают выполнение на базе Deno или в совместимой среде, а VPS или контейнер позволяют запускать Deno самостоятельно. У каждой управляемой платформы свои API и ограничения. Сохранение Deno не означает автоматического сохранения облачной базы KV, расписаний и очереди.
Можно ли напрямую перенести Deno KV в Cloudflare KV?
Только если вы также адаптируете API и убедитесь, что требования приложения к согласованности совместимы с Workers KV. Атомарным проверкам, транзакциям, индексам и наблюдателям Deno KV нужна явная замена. Для транзакционных записей оцените D1 или другую базу данных; для координируемого состояния отдельных сущностей рассмотрите Durable Objects.
На каком бесплатном тарифе можно запускать cron-задачу?
Сначала сопоставьте частоту запусков, лимиты выполнения, приватность кода и допустимость коммерческого использования. У Val Town Free минимальный интервал — 15 минут, а лимит одного запуска — 1 минута. Vercel Hobby ограничен ежедневными задачами и личным некоммерческим использованием. У Workers Free жёсткий лимит CPU; Netlify и Supabase используют собственные общие лимиты тарифов. Бесплатный планировщик ещё не означает, что вся задача укладывается в бесплатный тариф.
- Опубликовано
- Категория
- Build
- Язык













