Serverless функции
Запускайте код по требованию без управления сервером. Каждый вызов выполняется в своей Firecracker microVM — та же технология лёгких VM, на которой построен AWS Lambda — с сильной изоляцией и холодным стартом менее секунды, оплата за вызов.
Поддерживаемые среды выполнения
| Среда | Версия |
|---|---|
| Python | 3.12 |
| Node.js | 20 |
| Go | 1.22 |
Форма создания в консоли показывает доступные среды выполнения (ListFunctionsRuntimes через gRPC API).
Создание функции
- Откройте Functions → Create.
- Выберите среду выполнения и дайте функции имя.
- Напишите или вставьте код:
- Python / Node.js — обработчик, принимающий событие и возвращающий JSON-сериализуемый результат.
- Go — полноценный
package main; JSON события приходит на stdin, JSON результата пишется в stdout.
- Выберите регион и объём памяти.
- Разверните. Функция готова к вызову за секунды.
Вызов
Каждая развёрнутая функция получает собственный публичный HTTPS-endpoint на выделенном поддомене, который обслуживается автономным edge-инвокером и продолжает отвечать даже при недоступности control plane:
curl -X POST https://{slug}.fn.aralcloud.uz -d '{"name": "world"}'Если для функции включён Require API key, передайте ключ вместе с запросом:
curl -X POST https://{slug}.fn.aralcloud.uz \
-H "X-Api-Key: $FN_API_KEY" \
-d '{"name": "world"}'Ключ можно перевыпустить или отозвать в любой момент во вкладке Triggers функции. Для быстрого ручного запуска используйте действие Test в консоли; программное управление и вызов идут через подписанный gRPC API (nexlayer.function.v1.FunctionService, например CreateFunctionsInvoke). Старый REST-триггер control plane (/api/v1/fn/{trigger_token}) выведен из эксплуатации.
Холодный старт
Холодный вызов загружает свежую microVM примерно за 250–400мс до выполнения кода — достаточно быстро для большинства request/response-нагрузок. Среды выполнения — заранее собранные образы, поэтому этапа установки зависимостей при старте нет.
Оплата
Функции тарифицируются в ГБ-секундах — выделенная память × время выполнения. В простое ничего не списывается; вы платите только за миллисекунды реального выполнения кода. Использование видно по каждой функции во вкладке Metrics.
Логи и ошибки
stdout/stderr и код завершения каждого вызова фиксируются и доступны во вкладке Invocations функции, включая полный traceback при ошибках выполнения.