Skip to content

Serverless функции ​

Запускайте код по требованию без управления сервером. Каждый вызов выполняется в своей Firecracker microVM — та же технология лёгких VM, на которой построен AWS Lambda — с сильной изоляцией и холодным стартом менее секунды, оплата за вызов.

Поддерживаемые среды выполнения ​

СредаВерсия
Python3.12
Node.js20
Go1.22

Форма создания в консоли показывает доступные среды выполнения (ListFunctionsRuntimes через gRPC API).

Создание функции ​

  1. Откройте Functions → Create.
  2. Выберите среду выполнения и дайте функции имя.
  3. Напишите или вставьте код:
    • Python / Node.js — обработчик, принимающий событие и возвращающий JSON-сериализуемый результат.
    • Go — полноценный package main; JSON события приходит на stdin, JSON результата пишется в stdout.
  4. Выберите регион и объём памяти.
  5. Разверните. Функция готова к вызову за секунды.

Вызов ​

Каждая развёрнутая функция получает собственный публичный HTTPS-endpoint на выделенном поддомене, который обслуживается автономным edge-инвокером и продолжает отвечать даже при недоступности control plane:

bash
curl -X POST https://{slug}.fn.aralcloud.uz -d '{"name": "world"}'

Если для функции включён Require API key, передайте ключ вместе с запросом:

bash
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 при ошибках выполнения.

См. также ​