Serverless-контейнеры для функций на Node.js, Python и Go
Каждая функция Inquir работает в изолированном контейнере с managed-рантаймом. Нативные зависимости — sharp, puppeteer, pg, numpy — подключаются через слои, без ограничений edge-изолятов.
Обновлено: 2026-06-28
- Per-function container isolation — dependencies never clash across functions
- Native modules via layers: sharp, bcrypt, numpy, pandas, cgo — no isolate limits
- Node.js 22, Python 3.12, Go 1.22 behind one gateway and pipeline
- No cluster to manage — push code, get an endpoint
Кратко
Суть ответа
Serverless-контейнеры для функций на Node.js, Python и Go. Node.js 22, Python 3.12 и Go 1.22 работают в изолированных контейнерах: нативные пакеты подключаются через слои, без Dockerfile. Рантайм managed — собирать образ не нужно.
Когда подходит и когда нет
- Нативные пакеты: sharp, puppeteer, pg, numpy
- Обработка изображений, PDF, ML-инференс
На что обратить внимание
- Глобально распределённая логика рядом с пользователем, не требующая нативных пакетов, — здесь edge сильнее.
- Совсем маленькие бандлы с минимальными зависимостями: edge даёт минимальную задержку по геолокации.
Ситуация: нагрузка и где обычно ломается
Когда edge-изоляты ограничивают
Edge-рантаймы (Deno, V8-изоляты) запрещают нативные модули: sharp, puppeteer, pg и ffmpeg на edge не работают.
Cloudflare Workers и Supabase Edge Functions ограничивают размер бандла и время CPU — тяжёлый ML-инференс и обработка изображений туда не помещаются.
Компромиссы
Когда edge-функции всё же лучше
Глобально распределённая логика рядом с пользователем, не требующая нативных пакетов, — здесь edge сильнее.
Совсем маленькие бандлы с минимальными зависимостями: edge даёт минимальную задержку по геолокации.
Как Inquir помогает в этом сценарии
Изолированные контейнеры с полной поддержкой npm и PyPI
Node.js 22, Python 3.12 и Go 1.22 работают в изолированных контейнерах: нативные пакеты подключаются через слои, без Dockerfile. Рантайм managed — собирать образ не нужно.
Тёплые контейнеры снижают холодный старт там, где edge-задержка не критична, а нативные зависимости необходимы.
Что вы получаете на платформе
Что отличает контейнерный рантайм
Нативные модули
Sharp, puppeteer, pg, numpy и scikit-learn подключаются через слои — они собираются отдельно от кода функции.
Три рантайма
Node.js 22, Python 3.12 и Go 1.22 — выбирайте под задачу и смешивайте в одном рабочем пространстве.
Изоляция
Каждая функция в отдельном контейнере: зависимости не конфликтуют, память изолирована.
Тёплый пул
Тёплые контейнеры для функций с постоянным трафиком — предсказуемая задержка без полного холодного старта.
Что сделать дальше, по шагам
Как работают нативные зависимости через слои
Создать слой
Добавьте нативный пакет в слой через UI — слой собирается отдельно от кода функции.
Подключить слой к функции
Функция ссылается на слой; после деплоя пакет доступен внутри контейнера.
Использовать как обычно
import sharp from "sharp" — работает в хендлере без изменений кода.
Пример кода
Native module example: sharp image processing
Sharp uses native C++ bindings—runs fine in Inquir containers, fails in most edge isolates. The function receives image bytes via HTTP body or pipeline payload.
import sharp from 'sharp'; export async function handler(event) { // Body is base64 for binary payloads routed through the gateway const input = Buffer.from(event.body ?? '', 'base64'); const thumbnail = await sharp(input) .resize(320, 240) .jpeg({ quality: 82 }) .toBuffer(); return { statusCode: 200, headers: { 'Content-Type': 'image/jpeg' }, body: thumbnail.toString('base64'), isBase64Encoded: true, }; }
Когда подходит и когда нет
Когда нужны контейнерные функции
Когда это уместно
- Нативные пакеты: sharp, puppeteer, pg, numpy
- Обработка изображений, PDF, ML-инференс
Когда лучше выбрать другое
- Маршрутизация только по заголовкам без тяжёлых зависимостей — edge быстрее по геолокации
Вопросы и ответы
Вопросы и ответы
Поддерживается ли свой Dockerfile?
Нет. Inquir использует managed-рантаймы Node.js 22, Python 3.12 и Go 1.22, а нативные зависимости подключаются через слои.
Как добавить нативный пакет?
Создайте слой с нужным пакетом через UI и подключите его к функции — пакет будет доступен при запуске контейнера.
Is cold start slower than edge isolates?
Container cold starts are slower than V8 isolate cold starts. Use hot containers (warm pools) to pre-warm functions that need steady low latency. Measure p95/p99 with realistic traffic before committing to a cold-only model.
Can I use Python ML libraries like numpy and pandas?
Yes. Python 3.12 containers support the full PyPI ecosystem including numpy, pandas, scikit-learn, and other libraries with C extensions—pip install them like any other dependency.