Resurslarni taqsimlash
1) Vazifa va prinsiplar
Resurslarni taqsimlash - bu maqsadli SLO va FinOps cheklovlariga talabni (yuk, loyihalar, noxush hodisalar) taklif (CPU/RAM/IO/tarmoq, litsenziyalar, odamlar, byudjetlar) bilan solishtirishning tizimli usuli.
Asosiy tamoyillar:- SLO-first: resurs sifat maqsadiga ega; tanlash - unga chidash vositasidir.
- Fairness + Priority: hamma uchun adolatli ulush, lekin ustuvor - kafolatlar.
- Isolation: blast-radius «og’ir» yuklarni cheklaymiz.
- Elasticity: haqiqiy talab uchun avtomatik ravishda kengaytirish/siqish.
- Cost-aware: har bir qo’shimcha resurs SLO/daromadga aniq ta’sir ko’rsatishi kerak.
- Evidence-based: yechimlar telemetriya va tajribalar bilan tasdiqlangan.
2) Resurslar taksonomiyasi
Hisoblash: CPU/Memory/GPU, konteyner pullari, serversiz kvotalar.
Saqlash joyi: IOPS/o’tkazish, issiq/issiq/sovuq qatlamlar, kesh.
Tarmoq: egress/ingress, CDN, shaxsiy kanallar, IP-pullar.
Maʼlumotlar: DWH/strimingdagi slotlar/deraza resurslari, orqa oynalar.
Odamlar: on-call slotlari, IC/Release, SRE/Dev vaqti (soat/sprint).
Vendorlar: provayderlar limitlari (PSP/KYC/CDN), rate-limits va konnektlar.
3) Ustuvorlik modeli (portfel)
Tier-0: hayotiy muhim flou (login, to’lovlar). Kafolatlangan resurslar, alohida hovuzlar.
Tier-1: biznes tanqidiy (kor-mahsulot, D-1 hisobotlari). Imtiyozli kvotalar.
Tier-2/3: yordamchi/tadqiqot. Burstable, budjet limitlari.
Loyihalar: Impact × Urgency × Confidence × Cost → darajasini baholash; SAV/portfelda kelishish.
4) Taqsimlash siyosati (kafolatlar, kvotalar, limitlar)
Guaranteed (dedicated): fix-ulush/rezerv; Tier-0/1 uchun.
Burstable: bazaviy kvota + limitgacha bo’lgan bo’shliqni egallash huquqi.
Best-effort: kafolatsiz, siqib chiqarilishi mumkin.
Quota/Limit-as-Code: barcha kvotalar va chegaralar deklarativ tarzda tavsiflangan.
Preemption/Pod Disruption Budget: kimni siqib chiqarish mumkin va qanday tezlikda.
Tarmoq kvotalari: egress/tenant, provayderlarga ulanish limitlari.
5) Ko’p tenantlik va izolyatsiya
Namespace/Account per tenant: alohida limitlar, budjet, audit.
Shovqinli qo’shnilar: cgroups/requests/limits/IO-throttling; «og’ir» vazifalar uchun alohida nodlar.
P95-izolatsiya: SLO o’rtacha emas, pertsentil bo’yicha hisoblanadi; burst qoʻshnilarni buzmasligi kerak.
Data tenancy: VIP/mintaqalar uchun alohida saqlash qatlamlari va keshlar.
6) Avto-masshtablash va elastiklik
HPA/VPA/Cluster-autoscaler: faqat CPU emas, balki SLI/SLI-proksi (latency p95, queue depth) boʻyicha masshtab.
Scheduled scaling: eng yuqori oynalar/hodisalar uchun oldindan.
Warm pools: tezkor skeylaplar uchun isitilgan uzellar/ulanishlar.
Tarmoq/CDN: RUM/Anycast/POP yuklamasi boʻyicha avtomatik rebalans.
7) Navbatlar, servislar va SLA klasslari
Sinflar:’gold/silver/bronze’maqsadli kutish vaqti va xato byudjeti bilan.
Navbatlar/shinalar: ustuvorlik, Tier-0 uchun alohida partiyalar, DLQ.
Backpressure: yadro himoyasi uchun drop/shape/slow fanlari.
Moslashuvchan taymautlar/retrajlar: servis sinfiga va joriy holatiga.
8) Inson resurslari
Smenalar va qoplamalar: trafikka muvofiqlik (follow-the-sun), cho’qqida P1 + P2 dubli.
Fokus SRE/Dev: KPI bilan reaktiv/proyaktiv (masalan, 50/50) uchun vaqt foizi.
Resurslarni soʻrash: soat/sprint uchun RFC namunalari, shaffof ustuvor navbat.
9) Moliyaviy model (FinOps)
Unit-iqtisodiyot: $/1k so’rovlar, $/muvaffaqiyatli to’lov, $/GiB log.
Budjetlar va alertlar: hisobvaraqlar/tenantlar bo’yicha kvotalar, ortiqcha xarajatlar to’g "risida ogohlantirishlar.
Optimallashtirish: issiq/issiq/sovuq saqlash, log-sempling, non-critical uchun spot pullar.
Showback/Chargeback: jamoalar/tenantlar boʻyicha xarajatlar hisobotlari samaradorlikka turtki beradi.
10) Provayderlarni boshqarish
Limitlar va derazalar: kontrakt TPS va PSP/KYC/CDNdagi navbatlar; kalendardagi rejalashtirilgan oynalar.
Failover profillari: ogʻirlik va bir nechta provayderlar orasidagi marshrutlash.
Puls-metrika: javob vaqti, muvaffaqiyatsizlikka chidamlilik, xarajat/muvaffaqiyatli operatsiya.
11) Taqsimot etukligi metrikasi
Sinf bo’yicha SLO Adherence: gold/silver/bronze.
Resource Efficiency: CPU/RAM/IO (median/r95) ni utilizatsiya qilish, idle ulushi.
Cost per SLO-point: SLO maqsadini ushlab qolish xarajatlarini oʻzgartirish.
Throttling/Preemption rate: tez-tez va kimni siqib chiqaramiz.
Hotspot MTTA: pullar/tenantlarning qizib ketishiga javob berish vaqti.
Fairness Index: tenantlar o’rtasida kechikishlar/kvotalar tarqalishi (jini/variatsiya).
12) Chek-varaqlar
Taqsimotni oʻzgartirishdan oldin
- SLO maqsadlari va xizmat darajasi aniqlandi.
- Yuk telemetriyasi bor (p95/p99, o’sish, mavsumiylik).
- Kvotalar/limitlar Git’da bayon qilingan va review o’tgan.
- Qo’shnilarga ta’sirlar tekshirildi (izolyatsiya qilish testlari).
- Orqaga qaytish rejasi va gardrails tayyor.
Haftalik operatsion
- Hovuzlarni utilizatsiya qilish va hotspot hisoboti.
- FinOps hisoboti: $/birlik, ortiqcha xarajatlar, anomaliyalar.
- Provayder limitlari va SLA bajarildi.
- Navbatlar: sinflarda kechikish, ochlik yo’q.
- CAPA aniqlangan ish joylari bo’yicha.
13) Shablonlar (g’oyalar)
13. 1 Kvota siyosati (YAML)
yaml tenant: vip-eu class: gold compute:
cpu:
request: "8000m"
limit: "12000m"
memory:
request: "16Gi"
limit: "24Gi"
storage:
tier: hot iops_min: 8000 network:
egress_mbps_cap: 500 slo:
latency_p95_ms: 250 preemption:
protected: true burst:
allowed: true max_factor: 1.5
13. 2 Avto-kattalashtirish profili (parcha)
yaml autoscaling:
metric: "queue_depth" # или biz_sli.payment_latency_p95 target: 200 min_replicas: 6 max_replicas: 60 warm_pool: 4 cooldown_sec: 120
13. 3-sinf Servis va navbatlar
yaml class: gold sla:
wait_p95_ms: 150 queue:
partition: "gold-eu"
retry_policy:
attempts: 2 backoff_ms: 200 backpressure: "shape" # иначе drop/slow
13. 4 Resurs uchun talabnoma (odamlar)
RFC: RES-OPS-2025-11
Цель: усилить on-call P2 на пике ноябрьских промо (EU)
Период: 2025-11-25..2025-12-05
Обоснование: прогноз трафика +30%, прошлогодний p95 MTTA ↑
Запрос: +1 P2 слот/сутки, +IC в prime-time
14) Tartib-taomillar va avtomatlashtirish
Planner-bot: trafik tarixidan va SLO, PR maqsadlaridan siyosatchilar omboriga kvotalarni hisoblash.
Guardrails-bot: kvota/oversubscription yetishmaganda deploam uchun toʻxtash signali.
Komms-bot: sinfni ortiqcha sarflash/siqib chiqarish/almashtirish to’g "risida jamoalarni xabardor qilish.
Annotatsiyalar: relizlar/xizmat ko’rsatish oynalari ish vaqtidagi vazn/kvotalarni o’zgartiradi (so’ngra suppression olib tashlash).
15) Anti-patternlar
SLO va telemetriyasiz «his-tuyg’ularga ko’ra» ajratish.
«Shovqinli qo’shnilar» izolyatsiyasiz hamma uchun bitta katta hovuz.
Yuqori chegarasiz nazoratsiz burst → qo’shnilarni «bo’g’ish».
Backpressure/navbatlar yo’qligi → taymaut qor to’plami.
Loglar/egress qiymatini eʼtiborsiz qoldirish - «jim» byudjet oqishi.
Qat’iy belgilangan kvotalar mavsumiyliksiz/cho’qqisiz → mavjud emasligi yoki ortiqcha sarflanishi.
16) Joriy etish yo’l xaritasi (4-8 hafta)
1. Ned. 1-2: resurslar va servislarni xatlovdan o’tkazish; sinflarning vazifasi (gold/silver/bronze); birlamchi kvotalar; bazaviy SLO.
2. Ned. 3-4: SLI-proksi bo’yicha avto-masshtabni kiritish; navbatlar va backpressure moslamalarini moslash; Tier-0 pullarni izolyatsiya qilish.
3. Ned. 5-6: FinOps hisoboti ($/birlik, kvotalar, budjet alertlari); warm-pools va eng yuqori kunlarda bo’yalgan skeyllar.
4. Ned. 7-8: Planner/Guardrails avtomatlashtirish, tenant kabineti (kvota/qiymat ko’rinishi), choraklik review fairness & hotspots.
17) Jami
Resurslarni taqsimlash - bu bir martalik sozlash emas, balki SLO, telemetriya va FinOps tizimiga o’rnatilgan jonli jarayon. Ustuvorliklar rasmiylashtirilganda, kvotalar va limitlar - kod, izolyatsiya va elastiklik kabi - sukut bo’yicha, qarorlar esa metrik va qiymati bilan tasdiqlanganda, tizim barqaror cho’qqilarni boshdan kechiradi, tanqidiy floularni himoya qiladi va byudjetni «yoqmaydi».