GH GambleHub

SLA, SLO va KPI ishonchliligi

1) Atamalar va farqlar

SLI (Service Level Indicator) - o’lchanadigan sifat indikatori (masalan, muvaffaqiyatli so’rovlar ulushi, latentlik p95).
SLO (Service Level Objective) - vaqt oynasi uchun SLI maqsadli qiymati (masalan, "muvaffaqiyat ≥ 99. 28 kunda 9%").
Budjet xatosi (Error Budget) - SLO bajarilmasligining yo’l qo’yiladigan ulushi:’1 − SLO’.
SLA (Service Level Agreement) - jarimalar/kreditlar bilan kontrakt majburiyatlari (tashqi).
KPI ishonchlilik - jarayonning operatsion metrikalari (MTTD/MTTA/MTTR/MTBF,% avtomatik mitigeytlar, alertlar bilan qoplash va boshqalar).

💡 Qoida: SLA ≤ SLO; tashqi kontrakt servisning ichki maqsadidan qattiqroq bo’lmasligi kerak.

2) SLI ni qanday tanlash kerak (Golden Signals asosida)

1. Latency - asosiy endpointlar uchun p95/p99.
2. Traffic - RPS/RPM/xabar oqimi.
3. Errors - 5xx/biznes xatolari ulushi (masalan, «PSP aybi bilan decline» to’lovlari chiqarib tashlansin).
4. Saturation - resurslarni to’ldirish (CPU/RAM/IO/lag).

Yaxshi SLI mezonlari:
  • Foydalanuvchi tajribasi bilan bogʻlanadi (user-perceived).
  • Texnik jihatdan arzon va o’lchovda barqaror.
  • Nazorat qilamiz (yaxshilash uchun harakatlar mumkin).
  • Yig’imning past qiymati.

3) Formulalar va misollar

3. 1 Foydalanish imkoniyati


Availability = Успешные запросы / Все запросы
Error Budget (за период) = 1 − SLO

Misol: SLO 99. 9% 30 kunda → xatolar byudjeti = 0. 1%, bu 43 min 12 soniyaga teng.

3. 2 Latentlik

SLOni maxfiylik bo’yicha ostonaga qo’yiladigan so’rovlar ulushi sifatida shakllantiramiz:

Latency SLI = доля запросов с duration ≤ T
SLO пример: 99% запросов ≤ 300 мс (rolling 28d)

3. 3 To’lovlar (biznes darajasi)


Payment Success SLI = (успешные проводки — внешние отказы PSP) / все попытки
💡 Servis nosozliklaridan «mijoz kartasi bo’yicha decline» ni chiqarib tashlaymiz; biz faqat platformaning aybini kiritamiz.

4) Noto’g "ri budjet va burn-rate

Byudjet xatosi - innovatsiyalar uchun «yoqilg’i baki» (relizlar, eksperimentlar).

Burn-rate - budjetni iste’mol qilish tezligi:
  • tezkor kanal (detekt 1 soat ~),
  • sekin kanal (trend ~ 6-12 soat/24 soat).
Chegaraviy g’oyalar:
  • Agar burn-rate> 14. 1 soat uchun 4 - SEV-1 (kunlik budjetni 100 daqiqa ~ iste’mol qilamiz).
  • Agar burn-rate> 6 soat ichida 6 - SEV-2 (tez degradatsiya).

5) SLO bo’yicha alerting (multi-window, multi-burn)

Xatolar indikatori: 5xx yoki latentlik buzilishlari ulushi.

PromQL namunalari (umumlashtirilgan):
promql
Доля ошибок за 5 минут sum(rate(http_requests_total{status=~"5.."}[5m]))
/
sum(rate(http_requests_total[5m]))

Быстрый burn (1m окно)
(
sum(rate(http_requests_total{status=~"5.."}[1m])) /
sum(rate(http_requests_total[1m]))
) / (1 - SLO) > 14.4

Медленный burn (30m окно)
(
sum(rate(http_requests_total{status=~"5.."}[30m])) /
sum(rate(http_requests_total[30m]))
) / (1 - SLO) > 2
SLO uchun maxfiylik bo’yicha foizli gistogrammalardan foydalaning:
promql p95 latency histogram_quantile(0.95, sum by (le) (rate(http_request_duration_seconds_bucket[5m])))

6) Domenlar bo’yicha SLI/SLO namunalari

6. 1 API-shlyuz/Edge

SLI-Errors: javoblar ulushi 5xx <0. 1% (28d).
SLI-Latency: p95 ≤ 250 ms (kun).
SLO: Availability ≥ 99. 95% (chorak).

6. 2 To’lovlar

SLI-Success: muvaffaqiyatli to’lovlar (mijozlarning rad etishlari bundan mustasno) ≥ 99. 8% (28d).
SLI-Latency: avtorizatsiya ≤ 99% uchun 2 soniya (kun).
SLO: Time-to-Wallet p95 ≤ 3 мин (24h).

6. 3 Maʼlumotlar bazasi (PostgreSQL)

SLI-Lag: replikatsion lag p95 ≤ 1 sek (kun).
SLI-Errors: soʻrov xatolari ulushi ≤ 0. 05% (28d).
SLO: klaster mavjudligi ≥ 99. 95%.

6. 4 Navbatlar/Striming (Kafka)

SLI-Lag: iste’mol lag p95 ≤ N xabarlar (soat).
SLI-Durability: yozuvni tasdiqlash ≥ 99. 99% (28d).
SLO: brokerlarning mavjudligi ≥ 99. 9%.


7) Ishonchlilik jarayonining KPI

MTTD (Mean Time To Detect)

MTTA (… To Acknowledge)

MTTR (… To Restore)

MTBF (… Between Failures)

Avtomatik mitigatsiya hodisalari%

Trafikning top-yo’llarini SLO/alertlar bilan qoplash (maqsadli ≥ 95%)

Kanareya bosqichi bilan relizlar ulushi

Buyruqlar/fichlar bo’yicha noto’g "ri budjet iste’moli


8) SLOni qanday qilib real qo’yish kerak

1. Joriy bazaviy ishonchlilikni (3-4 hafta) o’lchang.
2. «Sezgir» foydalanuvchi yoʻllarini (login, depozit, oʻyin) aniqlang.
3. Har bir deviatsiyaning qiymatini (vaqt, pul, obroʻ) hisobga oling.
4. Shuhratparast, ammo erishish mumkin bo’lgan maqsadni tanlang (bazaga nisbatan 10-30% yaxshilash).
5. Har chorakda qayta koʻrib chiqing.

Anti-patternlar:
  • Bir vaqtning o’zida «besh to’qqizlik» asossiz.
  • Foydalanuvchi ko’rinmaydigan metriklar bo’yicha SLO (masalan, UX bilan aloqasiz CPU).
  • Juda koʻp SLO → fokusni purkash.

9) SLO va budjetlar bo’yicha hisobot

Standart hisobot (har hafta/oyda):
  • Har bir SLOni bajarish: fakt vs maqsad, trendlar, confidence.
  • Xatolar iste’moli ma’lumotlari: qancha byudjet «yoqib yuborilgan», kim tomonidan (reliz/hodisa).
  • Tanazzulning beshta sababi, CAPA-reja va vazifalarning maqomi.
  • Biznesga ta’sir: konvertatsiya, ND, ushlab qolish, LTV.

10) Reliz siyosati bilan aloqa

Xatolar byudjeti <50% → boʻsh relizlar.
50-80% → «ehtiyot rejim»: faqat low-risk/kanareik hisob-kitoblar.

💡 80% → relizlarni muzlatish, barqarorlashtirish va qarzga e’tibor qaratish.

11) SLA (shartnomaviy) - bandlar shablonlari

Foydalanish majburiyati: masalan, 99. 9 %/oy.
Istisnolar (Force Majeure): DDoS oqilona nazoratdan tashqari, uchinchi tomon provayderlari.
O’lchov oynasi va javobgarlik zonasi: metrik manbalar, hisoblash usuli.
Kreditlar/jarimalar: darajalar jadvali (masalan, 60-120 min → kredit X%).
Eskalatsiya va bildirishnomalar tartib-taomillari: muddatlar, kanallar.
Ma’lumotlar va maxfiylik: yashirish, saqlash, Legal Hold.
Qoidabuzarlik holatlarida takrorlanishning oldini olish bo’yicha ishlar rejasi (CAPA).

💡 Tashqi SLA aniq, tekshiriladigan SLI va hisob-kitob metodikasiga murojaat qilishi kerak.

12) O’lchash vositalari

Passiv metriklar: Prometheus/Mimir/Thanos, eksportchilar.
Logi: Biznes darajasidagi muvaffaqiyatlar/xatolarni hisoblash uchun Loki/ELK.
Sintetika: cron bo’yicha faol namunalar (login/depozit/o’yin).
Trastirovka: Tempo/Jaeger uchun «tor joylar» p99.
To’lov/moliya: to’lov SLI uchun ground truth manbalari.


13) So’rovlar namunalari (shablonlar)

Muvaffaqiyatli API-so’rovlar ulushi (mijozlar sifatida 4xx dan tashqari):
promql
1 - (
sum(rate(http_requests_total{status=~"5.."}[5m]))
/ sum(rate(http_requests_total[5m]))
)
SLO-kartochka:
yaml slo:
name: "API Availability"
window: "28d"
target: 0.999 sli: "1 - 5xx%"
owner: "Platform SRE"
alerting:
fast_burn: {window: "1h", factor: 14.4}
slow_burn: {window: "6h", factor: 6}
To’lov muvaffaqiyati (loglar/oqimdagi biznes voqealar bo’yicha):

success_rate = (count_over_time({app="payments"}     = "status=success"[5m]))
/ (count_over_time({app="payments"}     ~ "status=(success    fail)"[5m]))
💡 «Mijoz boʻyicha decline» ni istisno qilish uchun filtrlarni aniqlashtiring.

14) FinOps va ishonchlilik

Cost per 9: «To’qqiz» qo’shish qiymati eksponensial ravishda o’sib bormoqda.
Foyda egri chizig’i: daromad o’sishi/yo’qotishlarni kamaytirish ≥ qo’shimcha «9» qiymati bo’lgan optimum.
SLO portfeli: turli yo’llar uchun turli darajalar (tanqidiy to’lovlar «qimmatroq», hisobot «arzonroq»).


15) SLO/alertlarning sifati - chek-ro’yxat

  • SLI UX va biznes metriklar bilan bog’liq.
  • Oyna va agregatsiya kelishilgan (rolling 28d/chorak).
  • Alertlar multi-window, flappingsiz, rolli yo’naltirilgan.
  • Hujjatlar: egasi, formulasi, manbalari, runbook.
  • Noto’g’ri byudjet va burn indikatorli SLO demo paneli.
  • Maqsadlarni muntazam ravishda qayta ko’rib chiqish (har chorakda).
  • Asosiy stsenariylar bo’yicha sintetika testlari.

16) Joriy etish rejasi (4 ta iteratsiya)

1. 1-hafta: foydalanuvchi yo’llarini inventarizatsiya qilish, SLI loyihalari, bazaviy dashbordlar.
2. 2-hafta: SLOni rasmiylashtirish, byudjetlarni hisoblash, alertlar (fast/slow burn).
3. 3-hafta: hodisalar/relizlar jarayoni bilan integratsiya, freeze qoidalari.
4. 4 + hafta: shartnomaviy SLA, choraklik revyu, «cost per 9» finops modeli.


17) Mini-FAQ

Xizmat uchun bitta SLOga ega boʻlish kerakmi?
O’nlab ikkinchi darajali narsalar o’rniga 2-3 ta kalit (muvaffaqiyat + yashirin) yaxshiroqdir.

Agar byudjet tugagan boʻlsa - chi?
Relizlarni muzlatish, barqarorlashtirish va CAPAga e’tibor qaratish, eksperimental fichlarni olib tashlash.

Relizlar tezligi va ishonchlilik oʻrtasidagi ziddiyatni qanday oldini olish mumkin?
«Byudjet bo’yicha» relizlarni rejalashtiring, kanareykalarni va feature-flagsni joriy qiling.


Jami

Ishonchlilik SLI → SLO → byudjet xatosi → burn-alerting → hodisa jarayoni → CAPA → SLA tizimi bilan boshqariladi. Ta’riflar, ma’lumotlar manbalari va hisobotlarni standartlashtiring, maqsadlarni foydalanuvchi tajribasi va iqtisodiyotiga bog’lang va haqiqiy ROIga qarab «to’qqiz» darajasini muntazam ravishda qayta ko’rib chiqing.

Contact

Biz bilan bog‘laning

Har qanday savol yoki yordam bo‘yicha bizga murojaat qiling.Doimo yordam berishga tayyormiz.

Integratsiyani boshlash

Email — majburiy. Telegram yoki WhatsApp — ixtiyoriy.

Ismingiz ixtiyoriy
Email ixtiyoriy
Mavzu ixtiyoriy
Xabar ixtiyoriy
Telegram ixtiyoriy
@
Agar Telegram qoldirilgan bo‘lsa — javob Email bilan birga o‘sha yerga ham yuboriladi.
WhatsApp ixtiyoriy
Format: mamlakat kodi va raqam (masalan, +998XXXXXXXX).

Yuborish orqali ma'lumotlaringiz qayta ishlanishiga rozilik bildirasiz.