Serverless funksiyalar
Server boshqarmasdan kodni talab boʻyicha ishga tushiring. Har bir chaqiruv oʻz Firecracker microVM'ida bajariladi — AWS Lambda asosidagi xuddi shu yengil-VM texnologiyasi — kuchli izolyatsiya va soniyadan kam sovuq start bilan, chaqiruv boʻyicha toʻlanadi.
Qoʻllab-quvvatlanadigan runtime'lar
| Runtime | Versiya |
|---|---|
| Python | 3.12 |
| Node.js | 20 |
| Go | 1.22 |
Konsoldagi yaratish formasi hozir mavjud runtime'larni koʻrsatadi (gRPC API orqali ListFunctionsRuntimes).
Funksiya yaratish
- Functions → Create boʻlimini oching.
- Runtime tanlang va funksiyaga nom bering.
- Kod yozing yoki joylashtiring:
- Python / Node.js — event qabul qilib, JSON-serializable natija qaytaradigan handler.
- Go — toʻliq
package main; event JSON stdin'ga keladi, natija JSON stdout'ga yoziladi.
- Region va xotira hajmini tanlang.
- Deploy qiling. Funksiya soniyalar ichida chaqirishga tayyor boʻladi.
Chaqirish
Har bir deploy qilingan funksiya oʻzining alohida subdomen'idagi ochiq HTTPS endpoint'ini oladi — uni avtonom edge invoker xizmat qiladi va control plane ishlamay qolganda ham javob beraveradi:
curl -X POST https://{slug}.fn.aralcloud.uz -d '{"name": "world"}'Funksiya uchun Require API key yoqilgan boʻlsa, kalitni soʻrov bilan birga yuboring:
curl -X POST https://{slug}.fn.aralcloud.uz \
-H "X-Api-Key: $FN_API_KEY" \
-d '{"name": "world"}'Kalitni funksiyaning Triggers boʻlimidan istalgan vaqt almashtirish yoki bekor qilish mumkin. Tez qoʻlda sinash uchun konsoldagi Test amalidan foydalaning; dasturiy boshqaruv va chaqiruv imzolangan gRPC API orqali boradi (nexlayer.function.v1.FunctionService, masalan CreateFunctionsInvoke). Eski control-plane REST trigger (/api/v1/fn/{trigger_token}) bekor qilingan.
Sovuq start
Sovuq chaqiruv kodingiz ishlashidan oldin ~250–400ms ichida yangi microVM'ni yuklaydi — koʻpchilik request/response workload'lar uchun yetarlicha tez. Runtime'lar oldindan tayyorlangan image'lar, shuning uchun yuklanishda dependency oʻrnatish bosqichi yoʻq.
Toʻlov
Funksiyalar GB-soniyada hisoblanadi — ajratilgan xotira × bajarilish vaqti. Funksiya boʻsh turganda hech narsa hisoblanmaydi; faqat kodingiz haqiqatan ishlagan millisekundlar uchun toʻlaysiz. Foydalanish har bir funksiya uchun Metrics boʻlimida koʻrinadi.
Loglar va xatolar
Har bir chaqiruvning stdout/stderr va exit holati yoziladi va funksiyaning Invocations boʻlimida koʻrish mumkin, runtime xatolari uchun toʻliq traceback bilan.