Рантайм · Inquir Compute

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 даёт минимальную задержку по геолокации.

Изолированные контейнеры с полной поддержкой 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 — выбирайте под задачу и смешивайте в одном рабочем пространстве.

Изоляция

Каждая функция в отдельном контейнере: зависимости не конфликтуют, память изолирована.

Тёплый пул

Тёплые контейнеры для функций с постоянным трафиком — предсказуемая задержка без полного холодного старта.

Как работают нативные зависимости через слои

1

Создать слой

Добавьте нативный пакет в слой через UI — слой собирается отдельно от кода функции.

2

Подключить слой к функции

Функция ссылается на слой; после деплоя пакет доступен внутри контейнера.

3

Использовать как обычно

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.

images/thumbnail.mjs
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.