● serverless functionscold-start 38 мс

FaaS, которыйне тормозитна cold-start

Functions-as-a-Service на нашем edge в РФ. Node 22, Python 3.12, Bun, Go, Rust — деплой одной командой. Cold-start 38 мс, посекундный биллинг с округлением до 100 мс. HTTP, Schedule, Queue, S3 events — из коробки.

Node · Python · Bun · Go · Rust · посекундный биллинг · 1M вызовов бесплатно
api-handler · v17 · msk-1
warm
h3 fn deploy
$
cold-start 38 мспосекундный биллингNode 22 · Python · Bun · Go · RustHTTP · Schedule · Queue · S3warm pool · 0 cold-startedge в 5 регионах РФcustom domain · TLS · CORSh3 fn deploy за 11 секунд1M вызовов бесплатно
cold-start 38 мспосекундный биллингNode 22 · Python · Bun · Go · RustHTTP · Schedule · Queue · S3warm pool · 0 cold-startedge в 5 регионах РФcustom domain · TLS · CORSh3 fn deploy за 11 секунд1M вызовов бесплатно

Зачем нам ещё одна serverless-платформа

AWS Lambda — медленный cold-start, доллары, странные event-объекты. Свой контейнер — платите за idle. Мы попробовали взять лучшее из двух миров.

альтернатива А

AWS Lambda · GCF · Azure Functions

  • Богатые SDK и интеграции
  • Cold-start 200–800 мс по умолчанию
  • Цены в долларах · валютный риск
  • Свой странный формат event объектов
  • Нет ФЗ-152, данные не в РФ
h3llo · serverless

Functions от h3llo

  • Cold-start 38 мс на Node 22, 60 мс на Python
  • Стандартный HTTP-handler, без кастомных event'ов
  • Цены в рублях, посекундно (округление 100 мс)
  • Edge в 5 регионах РФ · ФЗ-152 / ФЗ-242
  • 1 млн вызовов и 400K ГБ-сек/мес — бесплатно
  • Деплой через CLI, Terraform, GitHub Action
альтернатива Б

Поднять контейнер на VM самому

  • Полный контроль над runtime
  • Сами настраиваете autoscaling под burst
  • Платите за idle 24/7
  • Сами держите routing и observability
  • Сами разбираетесь с graceful shutdown
● dx

Стандартный HTTP-handler. Деплой — одной командой.

Никаких event.requestContext.authorizer. Стандартный Request/Response — как везде. Деплой через CLI, Terraform или GitHub Action.

h3 fn deploy · CLI11 секунд
# 1. деплой одной командой
$ h3 fn deploy ./api/handler.ts \
    --runtime=node22 \
    --memory=256 \
    --timeout=30s \
    --domain=api-handler.h3llo.cloud

✓ Bundling (esbuild)             142 ms
✓ Uploading 1.8 MB              980 ms
✓ Deployed v17 · cold-start      38 ms

$ curl https://api-handler.h3llo.cloud/health
{"ok":true,"region":"msk-1","cold":true}

$ curl https://api-handler.h3llo.cloud/health
{"ok":true,"region":"msk-1","cold":false}
handler.ts · TypeScriptnode22
// handler.ts — стандартный HTTP, никаких кастомных event'ов
import { kv } from "@h3llo/edge";

export default async (req: Request): Promise<Response> => {
  const url = new URL(req.url);

  if (url.pathname === "/health") {
    return Response.json({ ok: true, region: "msk-1" });
  }

  if (url.pathname === "/count") {
    const n = await kv.incr("hits");
    return Response.json({ hits: n });
  }

  return new Response("not found", { status: 404 });
};
● runtimescold-start правда

Runtimes и реальные цифры cold-start

Замерены при пакете 1.8 MB, no-op handler, 256 MB памяти, регион msk-1. Цифры с нашего production-кластера, не из лабораторных условий.

RuntimeВерсияCold-startWarm latencyРазмер пакета
Bunbest · cold-start1.x25 мс5 мсдо 50 MB
Node.js22 / 2038 мс8 мсдо 50 MB
Deno2.x42 мс9 мсдо 50 MB
Python3.12 / 3.1160 мс12 мсдо 50 MB
Go1.2318 мс4 мсдо 50 MB (binary)
Ruststable12 мс3 мсдо 50 MB (binary)
Custom · DockerOCI120 мс8 мсдо 250 MB

Бинарные runtimes (Go, Rust) запускаются быстрее, но потребуют чуть больше работы при деплое — нужен правильно собранный binary под Linux/amd64.

● triggers

Триггеры — что обычно подключают

01 / http
HTTP triggers
Custom domain, TLS, CORS, IP allow-list. WebSocket для long-lived. Standard Request/Response интерфейс.
02 / schedule
Schedule (cron)
Cron-синтаксис вплоть до секундной гранулярности. Распределённая блокировка — функция не запустится дважды.
03 / queue
Queue / Events
Наша очередь, S3 events, webhook от внешних систем. At-least-once или exactly-once (по подписке).
04 / cron-jobs
Long-running jobs
Background job до 15 минут. Async handler с прогрессом. Авто-retry с exponential backoff.
● цены

Платите за вызовы — не за idle

1 млн вызовов и 400 000 ГБ-секунд в месяц — бесплатно. Дальше — посекундно с округлением до 100 мс. Фиксированный warm pool — для SLA-критичных API.

free tier
Для прототипов, hobby-проектов и небольших команд. Без карты, без минимумов, без сюрпризов.
0 ₽ · 1M вызовов и 400K ГБ-сек/мес
  • 1 млн вызовов в месяц
  • 400 000 ГБ-секунд compute
  • 1 custom domain
  • Все runtimes доступны
  • Community support
популярный
pay-as-you-go
Для прода с переменной нагрузкой. Биллинг строго за то, что использовали — без минимумов.
от 0,18 ₽ / 1 000 вызовов · 0,42 ₽/ГБ-сек
  • Без лимита на вызовы
  • Округление биллинга до 100 мс
  • Custom domains без лимита
  • 24×7 поддержка · ответ ≤ 1 ч
  • Метрики, логи, audit
warm pool
Для регулируемых нагрузок и SLA-критичных API. 0 cold-start, фиксированный счёт.
от 1 800 ₽ / мес · резерв 1 vCPU 256 MB
  • 0 cold-start (warm pool)
  • Гарантированный latency p99
  • Reserved vCPU (1 / 2 / 4)
  • SLA 99.99% · 10× компенсация
  • Изолированный compute
● материалыбесплатно

Гайды и кейсы по serverless

Реальные практики, бенчмарки, миграции. Без воды и маркетинга — забираете PDF, в понедельник применяете.

Все материалы →
Чек-лист · PDF
21 пункт перед выкаткой функции в прод

Чек-лист готовности serverless-API

Cold-start, idempotency, retry, idempotency keys, observability — что обязательно проверить.

8 стр~12 мин
Гайд · 24 стр
Cold-start по-настоящему 38 мс

Как мы снижаем cold-start: snapshotting, warm pool, кеши

Что под капотом нашего FaaS. Снапшоты процесса, smart-routing, V8 isolates.

PDF~25 мин
Кейс · Lazyboard
AWS Lambda → h3llo за выходные

Lazyboard: миграция 64 функций за 2 дня

Что переписали (немного), что оставили (почти всё), что сломалось (только IAM).

кейс~18 мин
Гайд · 18 стр
Безопасность FaaS в проде

Secrets, RBAC, audit для serverless-функций

Как держать API-ключи, что писать в audit log, как изолировать вторжение в одну функцию.

PDF~22 мин
Бенчмарк · 2025
Cold-start 6 платформ

Бенчмарк FaaS: Lambda vs CF Workers vs h3llo

Cold/warm latency, p50/p95/p99, цены за 1М вызовов. Цифры с реальных тестов.

отчёт~15 мин
Шаблоны · GitHub
Terraform для FaaS-стека

Готовые модули: function + queue + KV + observability

Production-ready: function, custom domain, очередь, метрики Grafana. Dev/staging/prod.

репо5 модулей
● quickstart

От install до первого invocation — 60 секунд

Без портала, без YAML-манифестов, без сборки контейнеров. Просто handler → деплой.

Поехали →
1

Установить CLI

brew install h3llo/tap/cli · или curl get.h3llo.cloud | sh
2

Написать handler

Стандартный (req) => Response на Node, Python, Bun, Go, Rust. Без кастомных event-объектов.
3

Деплой одной командой

h3 fn deploy ./handler.ts · 11 секунд. Custom domain выдаём сразу.
4

Триггеры по вкусу

HTTP, Schedule, Queue, S3 events, WebSocket. Per-function конфиг через CLI или Terraform.
● faq

Что обычно спрашивают

Сколько длится cold start?
Медиана 38 ms на Node 22, 60 ms на Python 3.12, 25 ms на Bun. Без provisioned concurrency и предоплаты. Если вам нужен 0 cold-start — есть «warm pool» за фиксированную плату.
Какие runtimes поддерживаются?
Node.js 22 / 20, Python 3.12 / 3.11, Go 1.23, Rust (binary), Bun 1.x, Deno 2.x. Кастомные runtime — через Docker-образ (с теми же быстрыми cold-start).
А какие триггеры?
HTTP (с собственным custom domain и TLS), Schedule (cron-синтаксис), Queue (наша очередь или внешняя через webhook), S3 events, и WebSocket. Для всех — посекундный биллинг с округлением до 100 мс.
Что с лимитами на размер пакета и память?
По умолчанию: пакет до 50 MB, память 128 MB → 4 GB (выбирается per-function), timeout до 15 мин. Если нужны большие — пишем в саппорт, поднимаем за час.
Можно ли держать состояние между вызовами?
Прямо в функции — нет (как и положено). Зато с h3llo KV (в этом же региональном edge), Postgres, Redis — соединение восстанавливается мгновенно благодаря connection pooling в платформе.
Сколько это стоит?
Per-invocation 0,18 ₽ за 1 000 вызовов + 0,42 ₽/ГБ-секунда compute. Бесплатный лимит — 1 млн вызовов и 400 000 ГБ-секунд в месяц. Точные цены и калькулятор в /price.
● 11 секунд от git push до live

FaaS без сюрпризов —
просто handler и деплой

Стандартный HTTP-handler, посекундный биллинг, cold-start 38 мс, 1 млн вызовов бесплатно. Без vendor lock — забираете handler-файл и деплоите куда угодно.

Деплой первой функции →Документация