Альтернатива Cloudflare Workers, когда нужны полные контейнеры
Оцените Inquir как альтернативу Cloudflare Workers, если бэкенду нужны нативные модули, смешанные рантаймы, доступ в частные сети или зависимости тяжелее, чем комфортно укладывается в edge-изоляты. Workers — fan-out у POP; Inquir — serverless API, вебхуки, cron и фон в контейнерных средах.
- Оставить на Workers: лёгкая логика у края, кеш, fan-out, щит
- Перенести в Inquir: нативные модули, дочерние процессы, частные сети, смешанные рантаймы
- Вместе: edge спереди, тяжёлый бэкенд в контейнерах
Нагрузка и где ломается
Почему ищут альтернативу Cloudflare Workers
Лимиты изолята V8 и API намеренно жёсткие; часть стеков ждёт более полного POSIX — тогда ищут serverless на контейнерах.
Жёсткая привязка к периферии усложняет частные сети, долгий фон и вебхуки, где нужны полные тела запросов и предсказуемый ввод-вывод.
Компромиссы вендоров
Когда Workers всё ещё лучше подходят
Нужно широко раздать нагрузку по миру с минимальной нагрузкой на исходный сервер.
Код небольшой, предсказуемый, без нативных расширений.
Как помогает Inquir
Когда Inquir уместнее изолятов
Контейнеры тянут более тяжёлые зависимости и ведут себя ближе к привычному серверу.
Сложные стеки проще стыкуются с приватными сервисами и сценариями с дочерними процессами.
Те же функции могут обслуживать API, вебхуки, пайплайны по расписанию и фон — одно рабочее пространство со шлюзом и историей вызовов.
Что получаете
Edge-изоляты и полные контейнеры
Изоляция
Изолят против контейнера — разные компромиссы по безопасности и совместимости.
Языки
Workers — JS/TS и WASM; Inquir — Node, Python, Go в контейнерах.
Сеть
Доступ в частные сети устроен по-разному — проверьте свой кейс.
Что делать дальше
Как сравнить Workers и Inquir
Структурированное сравнение: ограничения изолята (бинарники, процессы, ФС), задержка пути через POP против origin-стиля к зависимостям и частным сервисам, затем смешение per-request edge и ёмкостной модели контейнеров. В FAQ ниже — совместное использование edge и контейнеров.
Список ограничений
Бинарные модули, дочерние процессы, ожидания от ФС — что ломается в изолятах, но живёт в контейнерах.
Замер задержки
Путь через периферию против origin-стиля к зависимостям и частным сетям.
Модель цены
Смешайте оплату за запрос на периферии и ёмкость контейнеров, где уместно.
Пример кода
Нативный модуль и изолят
Библиотеки с нативными дополнениями или дочерними процессами обычно ждут полноценный образ ОС — типично для контейнеров и часто плохо для лёгкой периферийной изоляции. То же видно у вебхуков и пайплайнов с изображениями, где нужны бинарники вроде sharp.
import sharp from 'sharp'; export async function jpegThumb(input) { return sharp(input).resize(320, 240).jpeg({ quality: 82 }).toBuffer(); }
Когда подходит
Когда выбрать Inquir
Когда это уместно
- Нужны честные контейнерные среды выполнения или несколько языков в одной платформе.
- Serverless API, вебхуки, cron или фон требуют полнее образа ОС, чем дают edge-изоляты.
Когда лучше не трогать
- Логика крошечная и выигрывает от сотен точек присутствия.
FAQ
Вопросы и ответы
Можно ли совместить?
Да — периферия для кеша и щита, функции на исходной площадке для тяжёлой работы — частый расклад.
А сценарии в духе Durable Objects?
Состояние переносите в свой store; явно сравните гарантии согласованности.