Bosh sahifa Wiki Function as a Service

Function as a Service

Function as a Service (FaaS) — dasturchi alohida funksiyalarni joylashtiradigan, provayder esa serverlarni ajratish, ishga tushirish va yuk bo‘yicha ko‘paytirishni boshqaradigan cloud execution modeli. Funksiya HTTP so‘rovi, queue xabari, fayl yuklanishi yoki jadval hodisasi bilan chaqiriladi. “Serverless” nomi server yo‘qligini emas, server lifecycle’i iste’molchidan yashirilishini anglatadi.

Bajarilish modeli

Deployment paketi funksiya kodi, dependency va konfiguratsiyadan iborat. Hodisa kelganda platforma mos runtime muhitini tanlaydi, handler’ga event va execution context beradi, natijani qaytaradi yoki keyingi xizmatga uzatadi. Bir instance bir yoki bir nechta chaqiruvni qayta ishlashi platformaga bog‘liq.

Funksiya instance’i doimiy server deb qaralmaydi. Uning lokal xotirasi keyingi chaqiruvda saqlanishi mumkin, ammo bunga kafolat yo‘q. Doimiy ma’lumot object storage, database yoki boshqa tashqi xizmatda saqlanadi. Global o‘zgaruvchidagi cache optimizatsiya bo‘lishi mumkin, correctness talabi emas.

Hodisa va yetkazib berish

Sinxron chaqiruvda mijoz javobni kutadi. Asinxron chaqiruvda platforma hodisani navbatga qo‘yadi va retry qilishi mumkin. Queue trigger odatda at-least-once yetkazishni anglatadi, shuning uchun bir hodisa takror bajarilishi ehtimoli bor.

Handler idempotent bo‘lishi yoki event identifikatorini saqlab deduplication qilishi kerak. “To‘lov yarat” amali retry’da ikkinchi to‘lovni hosil qilmasligi zarur. Dead-letter queue qayta-qayta xato bergan hodisani alohida tekshiruvga chiqaradi.

Masshtablash va concurrency

Platforma parallel hodisalar uchun instance’larni ko‘paytiradi. Bu tez o‘sish downstream database connection limiti yoki uchinchi tomon API kvotasini bosib ketishi mumkin. Reserved concurrency, queue backpressure va rate limit dependency’ni himoya qiladi.

Xususiyat Amaliy ta’sir
Avtomatik scale-out Burst trafikni instance’larga bo‘ladi
Execution timeout Uzoq vazifani cheklaydi
Memory/CPU konfiguratsiyasi Tezlik va narxga ta’sir qiladi
Concurrency limiti Parallel bajarilishni boshqaradi
Retry siyosati Vaqtinchalik xatoni qayta ishlaydi

FaaS uzoq davom etadigan, doimiy socket yoki maxsus hardware talab qiladigan ishga har doim mos emas. Workflow bir nechta qisqa funksiyaga bo‘linsa orchestration xizmati holat va retry’ni boshqaradi.

Cold start

Tayyor instance bo‘lmasa platforma runtime va kodni yuklaydi; bu cold start latency’sini qo‘shadi. Paket hajmi, runtime, virtual network ulanishi va initialization kodi unga ta’sir qiladi. Provisioned concurrency yoki minimal instance soni kechikishni kamaytiradi, lekin idle xarajat keltiradi.

Initialization’da database client yaratish foydali, ammo har chaqiruv uchun cheksiz yangi connection ochish xavfli. Connection reuse va platformaning freeze/thaw xususiyatlari provayder hujjatiga muvofiq boshqariladi.

Xavfsizlik va konfiguratsiya

Har funksiya faqat zarur resurslarga kiradigan identity bilan ishlaydi. Barcha funksiyaga umumiy administrator roli berish buzilgan handler ta’sirini kengaytiradi. Secret kod yoki deployment archive ichida saqlanmaydi; secret manager’dan runtime’da olinadi va logga chiqarilmaydi.

Event payload ishonchsiz kirish sifatida validatsiya qilinadi. Object-storage hodisasidagi fayl nomi, HTTP header yoki queue xabari command injection va parser zaifligiga olib kelmasligi kerak. Dependency image scanning va imzolangan artefakt supply-chain nazoratini kuchaytiradi.

Kuzatuv va narxlash

Tarif odatda chaqiruv soni va bajarilish davomiyligi, ajratilgan xotira yoki CPU asosida hisoblanadi. Juda ko‘p mayda chaqiruv, network egress va managed dependency xarajati umumiy narxga kiradi. O‘rtacha arzonlik har workload uchun kafolat emas.

Distributed tracing event manbasi, funksiya va downstream xizmatlar orasidagi correlation ID’ni saqlaydi. Loglar bir instance’ga emas, invocation identifikatoriga bog‘lanadi. Error rate, duration percentile, throttling, retry va queue age operatsion holatni ko‘rsatadi.

Bog‘liq tushunchalar

Serverless computing, Event-driven architecture, Cold start, Auto scaling, Managed service, Idempotency, Cloud function