~/VibeHandbook

Cloudflare

developers.cloudflare.com

Cloudflare Workers

Что это

Cloudflare Workers позволяют запускать JavaScript, TypeScript или WebAssembly в глобальной сети Cloudflare — более 300 городов — вместо одного региона. Каждый запрос выполняется в лёгком изоляте V8, который запускается значительно быстрее миллисекунды, поэтому холодного старта практически нет. Вы пишете обработчик fetch, развёртываете его одной командой, и ваш код автоматически выполняется рядом с каждым пользователем.

Сильные стороны

  • Почти нулевой холодный старт благодаря изолятам V8 вместо полноценных контейнеров.
  • Глобальность по умолчанию — ваш код развёртывается во все локации Cloudflare сразу.
  • Щедрый бесплатный тариф; оплата за запрос и процессорное время, а не за простой.
  • Первоклассные привязки к D1, R2, KV, Queues, Durable Objects и Workers AI.
  • Единый CLI wrangler управляет разработкой, секретами и развёртыванием.

Компромиссы

  • Среда выполнения — это не Node.js, поэтому многие npm-пакеты с нативными зависимостями или зависимостями от файловой системы не будут работать, хотя совместимость с Node улучшается.
  • Процессорное время и память на запрос ограничены, поэтому тяжёлые вычисления подходят плохо.
  • Нет локального диска или долгоживущего состояния в процессе; вместо этого используются привязки.
  • Распределённое выполнение усложняет пошаговую отладку между регионами.

Когда использовать

Обращайтесь к Workers, когда вам нужен быстрый, глобально распределённый API, пограничное промежуточное ПО, проверки авторизации, перенаправления, обработчики вебхуков или full-stack бэкенд, опирающийся на привязки Cloudflare к хранилищам и AI.

Подходит для vibe coding

Workers — одна из самых дружелюбных целей развёртывания для программирования под управлением ИИ: проект — это единственный файл конфигурации плюс обработчик, и агент может развернуть каркас, привязать сервисы и выполнить развёртывание от начала до конца. Сразу скажите агенту, что вы нацелены на Workers (а не на Node), чтобы он соблюдал ограничения среды выполнения и использовал привязки вместо, например, fs. В примере ниже Worker подключается к пространству имён KV.

# wrangler.toml
name = "my-worker"
main = "src/index.ts"
compatibility_date = "2026-06-01"

[[kv_namespaces]]
binding = "CACHE"
id = "your-kv-namespace-id"
npx wrangler dev      # локальная пограничная среда выполнения
npx wrangler deploy   # отправка в глобальную сеть