Cloudflare Workers для бізнесу 2026: робочий гайд
Cloudflare Workers — це serverless-код, який виконується на 330+ edge-локаціях за 5–30 мс від користувача, без власного сервера й DevOps. Тариф: безкоштовно до 100 000 запитів/день, далі 5 $/міс за 10 млн запитів — це у 5–10 разів дешевше за AWS Lambda і в 3–4 рази швидше на холодному старті (0 мс проти 200–800 мс). 5 робочих сценаріїв для бізнесу: A/B-тести на CDN без уповільнення сторінки, захист форм від спаму, проксі для зовнішніх API з кешем, A/B-роутинг трафіку за гео, кастомні редиректи та SEO-правила. Ліміти: 10 мс CPU на запит на безкоштовному тарифі (50 мс на платному), 128 МБ пам'яті, немає тривалих фонових задач. Впровадження — від 1 дня до 2 тижнів, не вимагає перенесення сайту. У статті — 5 готових сценаріїв із кодом і порівняння з Vercel Functions та AWS Lambda.
Що таке Workers і екосистема
Cloudflare Workers – це serverless edge compute. Ви пишете функцію на JavaScript/TypeScript (або Rust/Python через Pyodide), деплоїте через CLI або git, і вона миттєво працює в 330+ містах світу – Cloudflare сам розгортає її на найближчий до користувача сервер.
edge-локацій по світу для деплою коду
запитів безкоштовно на free плані
типовий час відповіді Worker
paid план: 10 млн запитів на місяць
Головна відмінність від класичних хмар: код виконується в тій самій мережі, що й CDN. Немає поняття «інстанс», «регіон», «доступність». Холодного старту майже немає – V8 isolate стартує за 5ms.
Навколо Workers Cloudflare побудував цілу екосистему сервісів:
- KV (Key-Value) – розподілене сховище для кешу, сесій, фіч-флагів. Безкоштовно до 100K читань на день.
- R2 (Object Storage) – S3-сумісне сховище для файлів. Головна фішка: безкоштовний egress (з AWS S3 ви платите за кожен відданий байт).
- D1 (SQL Database) – SQLite на edge. $5/міс за 10GB. Підходить для більшості вебзастосунків до 10M запитів.
- Durable Objects – об'єкти з консистентним станом. Для чат-кімнат, черг, WebSocket-застосунків.
- Queues – черги повідомлень для асинхронної обробки.
- Workers AI – запуск open-source моделей (Llama, Mistral, embeddings) прямо на edge. Без надсилання даних третім особам.
- Hyperdrive – прискорений конект до зовнішніх PostgreSQL/MySQL/MongoDB.
5 застосувань для бізнесу
1. Telegram-бот без власного сервера
Найчастіший use-case. Telegram-бот через webhook – це HTTP-ендпоінт, який приймає POST-запити. Worker чудово з цим справляється. Стан сесії – у KV (безкоштовні 100K читань/день). Інтеграції з CRM або OpenAI – через fetch до їхнього API. Жодного VPS, жодних PM2 чи systemd – задеплоїв і забув.
2. Обробка форм із сайту
Форма заявки на статичному лендингу → Worker → надсилання в Telegram-чат менеджера / email / CRM. Спам-захист (honeypot, rate-limit) – пара рядків на Worker. Один Worker може обслуговувати форми 10 сайтів паралельно. Безкоштовний план – більше, ніж потрібно середньому бізнесу.
3. AI-проксі для безпеки API-ключів
Хочете дати користувачам доступ до ChatGPT/Claude через свій UI? Прямо з браузера звертатися до OpenAI/Anthropic не можна – API-ключ витече. Worker як проксі: фронт звертається до Worker, Worker додає API-ключ зі змінних оточення і викликає OpenAI. Ключ ніколи не залишає сервер.
4. Image optimization on-the-fly
Cloudflare Images або власний Worker з бібліотекою Polish: оптимізація картинок «на льоту». Ви завантажуєте оригінал у R2, Worker робить resize, конвертацію у WebP/AVIF, накладання водяного знаку – за URL-параметрами. PageSpeed +20-30 очок на сайтах із великою кількістю картинок.
5. Geo-routing і A/B-тестування
Worker бачить країну, регіон, мову браузера користувача. Можна спрямовувати українців на `tema.name/uk/`, німців на `/de/`, поляків на `/pl/`. Аналогічно для A/B-тестів: різні версії сторінок без окремого сервісу. Усі «експеримент = друга сторінка» відпрацьовуються на edge, до приходу на ваш origin.
Порівняння з альтернативами
| Параметр | Cloudflare Workers | AWS Lambda | Vercel Functions |
|---|---|---|---|
| Регіони | 330+ edge-локацій | Один регіон (обираєте вручну) | Edge + регіони |
| Холодний старт | ~5ms | 200-2000ms (Node.js), гірше на Java | 50-300ms |
| Мови | JS/TS/Rust/Python (Pyodide) | Node.js/Python/Go/Java/Ruby/.NET | JS/TS, Python |
| Free план | 100K запитів/день | 1M запитів/місяць | 100K запитів/міс |
| Вартість 10M запитів | $5/міс | ~$20/міс + GB-seconds | ~$20/міс |
| Прив'язка | Cloudflare екосистема | AWS екосистема (S3, DynamoDB...) | Vercel + Next.js фокус |
| Idle to first request | Миттєво | До 2 секунд (cold start) | До 300ms |
Мої рекомендації:
- Якщо у вас уже Cloudflare – Workers «безкоштовне розширення» того, за що ви вже платите. Менше білінгів, менше провайдерів.
- Якщо інтенсивний AWS-стек (RDS, DynamoDB, SQS) – Lambda зручніша, усе в одному VPC.
- Якщо фронт на Next.js / Nuxt / Astro на Vercel – Vercel Functions зручніші, серверний код у тому самому репо.
- Якщо глобальна аудиторія – Workers виграє за рахунок edge-локацій (CDN ставить код у найближчий до користувача DC).
Запуск першого Worker за годину
Реалістичний графік запуску першого продакшн-Worker з нуля:
- Setup10 хв
- Код15 хв
- Деплой5 хв
- Routes10 хв
- Тести20 хв
Setup (10 хв). Реєстрація Cloudflare-акаунта (якщо немає), встановлення `wrangler` CLI (`npm install -g wrangler`), `wrangler login` – відкриє браузер для авторизації. На цьому етапі у вас уже є робоче середовище.
Код (15 хв). `wrangler init my-worker` створює шаблон. Базовий Worker – 10 рядків коду на TypeScript: приймає HTTP-запит, повертає Response. Для Telegram-бота додаєте обробку JSON і виклик Telegram API через fetch.
Деплой (5 хв). `wrangler deploy` – Worker одразу доступний за `*.workers.dev`. Логи через `wrangler tail`. Без Docker, без CI/CD, без Kubernetes.
Routes (10 хв). Якщо у вас уже домен на Cloudflare – у дашборді Workers додаєте Route: `api.yourdomain.com/*` → ваш Worker. З цього моменту запити на цей URL підуть у Worker.
Тести (20 хв). Локальне тестування `wrangler dev`. Підключаєте KV/D1/R2 через `wrangler.toml` bindings. Edge cases: що поверне Worker на порожній запит, на величезний, на запит із битим JSON. Деплой із `wrangler deploy --env production`.
7 типових помилок
Ці граблі бачив у клієнтів і сам наступав.
- Зберігати стан у глобальній змінній. Worker stateless – кожен запит може потрапити на різний сервер. Стан – у KV/D1/Durable Objects, не в змінній.
- Ігнорувати CPU-ліміт. 10ms на free, 50ms на paid. Важка криптографія або великий JSON.parse можуть не встигнути. Профілюйте з `wrangler dev --remote`.
- Не використовувати Wrangler secrets для ключів. Покласти OpenAI API-ключ у код = він потрапить у git. Використовуйте `wrangler secret put` – ключ зберігається зашифровано в Cloudflare.
- Робити sync операції на кожен запит. Кожен fetch до зовнішнього API коштує часу. Кешуйте в KV або Cache API дані, що повторно використовуються.
- Забути про Origin-headers. CORS блокує запити з фронту. Worker має явно повертати `Access-Control-Allow-Origin` – користувач не побачить відповіді, якщо цього немає.
- Деплой без тестів. Worker іде в production миттєво. Робіть окремий environment для staging: `wrangler deploy --env staging`.
- Не підключати analytics. У Cloudflare є безкоштовна Workers Analytics – запити, помилки, латентність за регіонами. Без неї незрозуміло, що відбувається.
Часті запитання
Що таке Cloudflare Workers простими словами?
Це код, який виконується на серверах Cloudflare по всьому світу, поруч із користувачем. Ви пишете JavaScript/TypeScript функцію, деплоїте її, і вона працює в 330+ містах світу. Не потрібен власний сервер, не потрібен Docker, не потрібен PM2. Холодного старту майже немає – відповідь за 5-50ms. Підходить для API, форм, Telegram-ботів, проксі, авторизації, обробки зображень.
Скільки коштує Cloudflare Workers?
Free план: 100 000 запитів на день безкоштовно, до 10ms CPU на запит. Цього вистачає для більшості проєктів до 100K відвідувань на місяць. Paid план: $5 на місяць за 10 мільйонів запитів, до 50ms CPU. Це в рази дешевше за AWS Lambda за того самого обсягу.
Чим Workers відрізняється від AWS Lambda?
Lambda працює в одному регіоні AWS, Workers – на 330+ edge-локаціях. У Lambda холодний старт 200-2000ms, у Workers – менше 10ms. Lambda – Node.js/Python/Go/Java/Ruby, Workers – JavaScript/TypeScript/Rust/Python (через Pyodide). Для глобальних API і вебзастосунків Workers швидший і простіший, для важких задач (відеообробка, ML inference) – Lambda гнучкіший.
Чи можна підключити базу даних до Workers?
Так. У Cloudflare є власні сервіси: D1 (SQLite на edge, $5/міс за 10GB), KV (key-value, для кешу й сесій), R2 (S3-сумісне сховище без egress-комісій), Durable Objects (консистентність стану). Також можна підключатися до зовнішніх БД через Hyperdrive (прискорений PostgreSQL) або прямо через connection API.
Чи підійде Workers для Telegram-бота?
Ідеально підходить. Telegram-бот через webhook – це HTTP-ендпоінт, який приймає запити від Telegram API. Workers справляються з таким навантаженням навіть на безкоштовному плані до 100K повідомлень на день. Стан сесії можна зберігати в KV (безкоштовні 100K читань/день), інтеграції з CRM/OpenAI – через fetch до їхнього API. Жодного VPS не потрібно.
Джерела та матеріали
Потрібен Telegram-бот або API на Workers?
Спроєктую та задеплою під вашу задачу: бот, форма, AI-проксі, image-optimizer. Безкоштовний технічний брифінг протягом 24 годин.