bolt Valebyte VPS от $4/мес — NVMe, запуск за 60 секунд.

Получить VPS arrow_forward

Как переехать с Cloudflare Workers на VPS

calendar_month 26 мая 2026 schedule 7 мин. чтения visibility 52 просмотров
person
Valebyte Team
Как переехать с Cloudflare Workers на VPS
Для успешной миграции с Cloudflare Workers на VPS необходимо перенести логику приложений на среду выполнения Node.js или Bun, заменить проприетарные хранилища KV, D1 и R2 на open-source аналоги (Redis, PostgreSQL, MinIO) и настроить реверс-прокси, что позволяет снять ограничения на время выполнения CPU и снизить затраты при масштабировании на серверах стоимостью от $5 в месяц.

Переход с Serverless-решений на собственные серверы — это естественный этап развития проекта, когда ограничения платформы начинают мешать росту или бюджету. Cloudflare Workers подкупает простотой старта, но по мере усложнения логики разработчики сталкиваются с жесткими лимитами на использование CPU (50ms на бесплатном и до 30s на платном тарифе), отсутствием поддержки многих NPM-пакетов и специфическим API. В этой статье мы разберем, как выполнить migrate from cloudflare workers на VPS, сохранив производительность и надежность.

Причины migrate from cloudflare workers на выделенные ресурсы

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

Лимиты CPU и памяти

В Cloudflare Workers время выполнения кода (CPU time) жестко ограничено. Если ваш скрипт выполняет сложные математические вычисления, обработку изображений или тяжелую криптографию, вы быстро упретесь в лимит 50ms. На VPS вы получаете полный доступ к ресурсам процессора (например, 2-4 ядра по 3.0+ GHz) без искусственных прерываний. Это особенно критично, если вы планируете использовать сервер для задач машинного обучения, о чем подробнее можно почитать в статье Bare-metal vs VPS для ML inference на CPU: что выгоднее.

Стоимость при высоком трафике

Cloudflare взимает плату за количество запросов. При достижении миллионов запросов в сутки счета начинают расти экспоненциально. Аренда VPS с фиксированной ценой ($10–$20 в месяц) позволяет обрабатывать практически неограниченный трафик, ограниченный только пропускной способностью сети (обычно 1 Gbps) и мощностью железа. Подобная ситуация часто встречается и при использовании других PaaS-решений, поэтому многие ищут способы, как переехать с Railway на VPS в 2026.

Выбор стека: Node.js или Bun как workers alternative

Когда вы ищете подходящую workers alternative, выбор среды выполнения (runtime) становится ключевым моментом. Cloudflare Workers используют подмножество API, близкое к браузерному (Fetch API), поэтому ваш код не запустится "как есть" в стандартном Node.js без адаптации.

Bun — максимально близкий опыт к Workers

Bun — это современный runtime, который из коробки поддерживает Fetch API, Request и Response. Это делает его идеальным кандидатом для миграции. Простой пример сервера на Bun, который заменяет логику Worker:


Bun.serve({
  port: 3000,
  async fetch(request) {
    const url = new URL(request.url);
    if (url.pathname === "/api") {
      return new Response(JSON.stringify({ status: "ok" }), {
        headers: { "Content-Type": "application/json" },
      });
    }
    return new Response("Not Found", { status: 404 });
  },
});

Node.js и Fastify/Hono

Если вам нужна максимальная стабильность и огромная экосистема библиотек, Node.js остается стандартом. Чтобы минимизировать изменения в коде, рекомендуется использовать фреймворк Hono. Он изначально разрабатывался для Edge-сред (Workers), но прекрасно работает на Node.js через адаптеры. Это значительно упрощает workers migration, так как роутинг и middleware остаются идентичными.

Ищете надёжный сервер для ваших проектов?

VPS от $10/мес и выделенные серверы от $9/мес с NVMe, DDoS-защитой и поддержкой 24/7.

Смотреть предложения →

Замена инфраструктуры Cloudflare (KV, D1, R2) на VPS

Самая сложная часть переезда — это замена проприетарных сервисов хранения данных Cloudflare на их open-source эквиваленты. На VPS вы сами управляете данными, что дает больше гибкости, но требует настройки бэкапов.

Альтернатива Workers KV: Redis или Dragonfly

Workers KV — это хранилище "ключ-значение" с итоговой согласованностью (eventual consistency). На VPS лучшим выбором будет Redis. Он обеспечивает задержку менее 1 мс и поддерживает сложные типы данных (списки, множества), чего нет в KV.

  • Установка: sudo apt install redis-server
  • Объем памяти: Зависит от вашего тарифа VPS (от 2 GB RAM).
  • Производительность: До 100,000+ операций в секунду на одном ядре.

Замена D1 на PostgreSQL или SQLite

Cloudflare D1 основан на SQLite. Если ваше приложение небольшое, вы можете продолжать использовать SQLite локально на VPS. Однако для высоконагруженных систем лучше перейти на PostgreSQL. Это даст вам полноценные транзакции, оконные функции и высокую надежность. Процесс миграции баз данных часто совпадает с тем, что описан в гайде, как переехать с Fly.io на VPS.

R2 → MinIO или S3-совместимое хранилище

Cloudflare R2 — это S3 без платы за исходящий трафик (egress). На VPS вы можете развернуть MinIO. Это self-hosted объектное хранилище, которое полностью совместимо с AWS S3 API. Если ваш VPS имеет NVMe-диски объемом 50-100 GB, вы получите колоссальный прирост скорости чтения/записи по сравнению с удаленным облаком.

rocket_launch Быстрый выбор

Ищете сервер, который просто работает?

Valebyte VPS — NVMe, поддержка 24/7, развёртывание за 60 секунд.

Смотреть тарифы VPS arrow_forward

Пошаговый план workers migration: от кода до деплоя

Процесс workers migration требует системного подхода, чтобы избежать простоев (downtime). Мы рекомендуем использовать Docker для упаковки приложения, что сделает его переносимым и независимым от окружения сервера.

  1. Адаптация кода: Замените глобальные объекты Cloudflare (например, env.MY_KV) на переменные окружения или конфигурационные файлы. Используйте библиотеку dotenv для Node.js.
  2. Создание Dockerfile: Напишите конфигурацию для сборки образа. Пример для Bun:
    
    FROM oven/bun:latest
    WORKDIR /app
    COPY package.json .
    COPY bun.lockb .
    RUN bun install
    COPY . .
    EXPOSE 3000
    CMD ["bun", "run", "index.ts"]
            
  3. Настройка базы данных: Разверните PostgreSQL или Redis в Docker-контейнерах или установите их непосредственно в ОС.
  4. Перенос данных: Экспортируйте данные из KV через Wrangler CLI и импортируйте их в Redis. Для D1 используйте дамп SQL.

Многие разработчики, решившие migrate from cloudflare workers, отмечают, что использование Docker упрощает жизнь не только при деплое, но и при локальной разработке. Аналогичные шаги предпринимаются, когда стоит задача, как переехать с Vercel/Netlify на VPS.

Настройка сетевого уровня при переходе cloudflare to vps

При использовании Cloudflare Workers вы не заботились об SSL-сертификатах, защите от DDoS и балансировке нагрузки. При переходе cloudflare to vps эти задачи ложатся на ваши плечи (или на настройки Nginx).

Nginx как Reverse Proxy

Nginx будет принимать входящие запросы и перенаправлять их на ваше приложение (Node.js/Bun), работающее на локальном порту. Это стандартная практика для обеспечения безопасности и возможности горизонтального масштабирования.


server {
    listen 80;
    server_name api.yourdomain.com;

    location / {
        proxy_pass http://localhost:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

SSL и безопасность

Для получения бесплатных SSL-сертификатов используйте Certbot (Let's Encrypt). Также рекомендуется оставить Cloudflare в режиме "Proxy" (оранжевое облако), чтобы использовать их защиту от DDoS и CDN, но направить трафик на IP вашего нового VPS. Таким образом, вы сохраняете преимущества глобальной сети Cloudflare, но избавляетесь от ограничений Workers.

Сравнение стоимости и производительности

Ниже представлена таблица сравнения характеристик и стоимости при использовании Cloudflare Workers и типового VPS от Valebyte. Данные основаны на средних показателях для проектов с нагрузкой 5-10 млн запросов в месяц.

Характеристика Cloudflare Workers (Paid) VPS (Standard Plan) Преимущество
CPU Time Limit 30 секунд Без ограничений VPS
Оперативная память 128 MB 2 GB - 16 GB VPS
Стоимость (10M req) ~$5.00 + KV/D1 costs $5.00 - $12.00 (фикс) VPS (при росте)
Хранение данных KV / D1 (платные лимиты) SSD/NVMe (включено) VPS
Cold Starts 0-50ms 0ms (всегда запущен) VPS

Как видно из таблицы, при сопоставимой базовой цене VPS предлагает на порядки больше ресурсов. Это особенно важно для приложений, требующих постоянного соединения (WebSockets), которые в Workers стоят значительно дороже или имеют ограничения по времени жизни сессии.

rocket_launch Быстрый выбор

Ищете сервер, который просто работает?

Valebyte VPS — NVMe, поддержка 24/7, развёртывание за 60 секунд.

Смотреть тарифы VPS arrow_forward

Мониторинг и логирование после миграции

В Cloudflare Workers логи доступны через панель управления или wrangler tail. На VPS вам потребуется настроить собственную систему мониторинга. Для начала достаточно PM2 для управления процессами Node.js и просмотра логов в реальном времени.

  • PM2: Автоматически перезапускает приложение при сбоях и позволяет смотреть логи командой pm2 logs.
  • Grafana + Prometheus: Для глубокого мониторинга нагрузки на CPU, RAM и сетевой трафик.
  • Uptime Kuma: Простой self-hosted инструмент для проверки доступности вашего API.

Не забывайте, что владение инфраструктурой дает вам полный контроль над данными. Вы можете хранить логи годами для аудита безопасности, не переплачивая за объем хранилища в облаке. Если вы ранее использовали Heroku, процесс настройки мониторинга на VPS будет вам знаком, подробнее об этом в статье Как переехать с Heroku на VPS в 2026: пошаговый гид.

Latency и геораспределение

Одним из главных аргументов за Workers является "Edge" — выполнение кода максимально близко к пользователю. При переезде на одиночный VPS задержка (latency) для пользователей с другого конца света может увеличиться. Однако для большинства приложений задержка в 100-150 мс не является критичной, в то время как скорость работы базы данных на том же сервере (локально) значительно выше, чем обращение к удаленному KV или D1 из Edge-функции.

Если же низкий latency критичен, вы можете арендовать два дешевых VPS в разных регионах (например, Европа и США) и настроить GeoDNS через тот же Cloudflare. Это все равно будет дешевле и мощнее, чем использование Enterprise-планов Serverless-платформ.

Выводы

Миграция с Cloudflare Workers на VPS оправдана, если вашему приложению требуется более 50 мс CPU-времени, доступ к файловой системе или предсказуемая стоимость при больших объемах трафика. Оптимальным выбором для переноса кода будет среда Bun или Node.js с фреймворком Hono, а в качестве базы данных — связка PostgreSQL и Redis на сервере с NVMe-диском.

Готовы выбрать сервер?

VPS и выделенные серверы в 72+ странах с мгновенной активацией и полным root-доступом.

Начать сейчас →

Поделиться записью:

support_agent
Valebyte Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.