SLO, SLA və etibarlılıq monitorinqi
(Bölmə: Texnologiya və Infrastruktur)
Qısa xülasə
SLO keyfiyyətin daxili məqsədidir, SLA müştəriyə xarici öhdəlik, SLI keyfiyyəti necə ölçürük. iGaming-də əsas SLI: API və ödənişlərin mövcudluğu, kritik marşrutların p95/p99 latentliyi, Time-to-Wallet (TTW), ödənişlərin konvertasiyası, oyunların başlaması və növbələrin metrikası. Etibarlılığın idarə edilməsi səhvlərin büdcəsi, multi-burn alertləri, dəqiq buraxılış geytləri və izahlı dashbordlar ətrafında qurulur.
1) Terminlər və fərqlər
SLI (Service Level Indicator) - ölçülə bilən göstərici (məsələn, vaxt pəncərəsi üçün uğurlu sorğuların payı).
SLO (Service Level Objective) - SLI (məsələn, "99. 9% 30 gün").
SLA (Service Level Agreement) - kompensasiya ilə müqavilə/öhdəlik; real SLO əsaslanır, lakin hüquqi şərtlər və istisnalar pəncərələri daxildir (planned maintenance, fors-major).
Qayda: Əvvəlcə içəridəki SLI/SLO-nu sabitləşdirin və yalnız sonra SLA-nı çıxarın.
2) iGaming üçün SLI çərçivəsi
TexSLO
Availability: uğurlu 2xx/3xx/bütün sorğular.
Latency: p95/p99 ('/deposit ', '/bet', '/game/init ').
Errors: 5xx/vaxt payı.
Saturation/Queues: ödəniş/əməliyyat növbələrinin gecikməsi.
Biznes-SLI
Payment conversion: `success/attempt`.
TTW p95: geri çəkilmə tələbindən qəbula qədər olan vaxt.
Game start success: oyunlar sessiyaları, provayder başlanğıc.
KYC/AML flow success: yolun uğurlu tamamlanması.
3) Səhv büdcəsi: necə saymaq olar
Error Budget = 1 − SLO.
Nümunə: SLO mövcudluğu 99. 9 %/30d ⇒ büdcə səhvləri = 0. 1% vaxt ≈ 30 günlük pəncərədə 43min 12s.
success_ratio = success_requests / all_requests error_ratio = 1 - success_ratio
SLO sürüşmə pəncərəsində hesab olunur (30/7/1 gün) və dashboard görünür.
İstifadə siyasəti:- Büdcənin tez «yanması» → freeze relizləri, kanareya dayanır, sabitlik üzərində işləyirik.
- Büdcə ehtiyatı → daha tez-tez dəyişikliklərə icazə verilir (nəzarət olunur).
4) Əsas axınlar üçün SLO nümunələri
Payments API:- Availability ≥ 99. 9 %/30d
- Latency p95 `/deposit` ≤ 250 ms / 30д
- Payment conversion ≥ baseline − 0. 3 %/24h
- TTW p95 (çıxış) ≤ 3 dəq/24h
- Game init success ≥ 99. 5% / 7д p95 game init ≤ 600 ms / 7д
- Job success ≥ 99 %/7d, lag <5 dəq (pik pəncərələr ayrıca).
5) Ölçmə: formullar və PromQL (fikirlər)
Sorğuların müvəffəqiyyəti:promql sum(rate(http_requests_total{status=~"2.. 3..",service="payments-api"}[5m]))
/
sum(rate(http_requests_total{service="payments-api"}[5m]))
p95 gecikmə:
promql histogram_quantile(0. 95,
sum by (le) (rate(http_request_duration_seconds_bucket{service="payments-api",route="/deposit"}[5m])))
TTW p95 (hadisələrin histoqramı):
promql histogram_quantile(0. 95,
sum by (le) (rate(ttw_seconds_bucket{flow="withdrawal"}[15m])))
Ödənişlərin konvertasiyası:
promql sum(rate(payments_success_total[15m])) / sum(rate(payments_attempt_total[15m]))
6) Burn-rate alert (multi-window)
Fikir: cari büdcə xərcləmə sürətini məqbul ilə müqayisə edirik.
SLO 99 üçün nümunə. 9%:- Fast burn: 1 saat 14 büdcə × → 5-15 dəqiqə sonra page.
- Slow burn: 6 saat ərzində büdcə × 24 → bilet, səbəblərin təhlili.
yaml recording rule: job:http:success_ratio — заранее alert: SLOFastBurn expr: (1 - job:http:success_ratio{job="payments-api"}) > (1 - 0. 999) 14 for: 10m labels: { severity: "page" }
alert: SLOSlowBurn expr: (1 - job:http:success_ratio{job="payments-api"}) > (1 - 0. 999) 6 for: 1h labels: { severity: "ticket" }
7) «SLO-kart» daşbordları və əməliyyat
Yuxarı səviyyə (xəritə):- Xidmətlər üzrə kartlar: Availability, p95, Error-rate, Burn-rate, Error Budget qalığı.
- Filtrlər: 'env', 'region', 'tenant', 'version'.
- Reliz qeydləri: Git SHA, tip (canary/blue-green), keçid vaxtı.
- stable vs canary müqayisə.
- PSP/oyun provayderləri üzrə kəsik.
- exemplars (trace_id) və bağlı loglara keçid.
- Queue lag və saturation (USE-metrika).
8) SLO prosesləri: geyt, freeze, eskalasiya
CD-də Gates: Kanaryanın tanıtımına yalnız SLO-proxy (availability, p95, conv) yerinə yetirildikdə icazə verilir.
Freeze: fast-burn və ya sıfır büdcə qalığı ilə - bərpa qədər relizləri dayandırın.
Eskalasiya: SEV matrisi (SEV1 ödənişlər/depozitlər, SEV2 oyunlar, SEV3 backofis).
RCA: ittihamsız təhlil, testlərin/limitlərin/ficheflagların yenilənməsi.
9) Data/ML-SLO (tövsiyəçilər üçün/LLM)
Latency: p95 cavab model ≤ 300 ms (və ya tokens/s ≥ N).
Quality proxy: valid cavabların payı/aşağı toksiklik, share of helpful.
Freshness: Fich/data yaşı ≤ X saat.
Cost per 1k events: büdcə xərcləri.
SLO geytləri model buraxılışlarına inteqrasiya olunur (A/B/kanarya rollout).
10) SLO əsasında SLA dizayn
SLA-nın əsası kimi konservativ SLO seçin.
istisnaları müəyyən edin (planlı işlər, xarici asılı provayderlər, insident qaydaları).
Qanun pozuntularının səviyyələri (kredit/endirim), hesabat və yoxlama mexanizmləri üzrə kompensasiyalar daxil edin.
11) Tez-tez səhvlər və anti-nümunələr
SLO yoxdur, yalnız «uptime 100%» - qeyri-real, demotivləşdirir və riskləri gizlədir.
Burn-rate əvəzinə «hər metrika» üzrə alertlər - alert-fetiq və ignor.
SLO üçün metrik/log PII qarışdırılması - uyğunluq riskləri.
Kardinallıq partlayır: 'user _ id/session _ id' etiket kimi.
Buraxılış izahlarının olmaması - deqradasiyanı dəyişikliklərlə əlaqələndirmək çətindir.
Qeyri-şəffaf səhv büdcəsi - komanda nə vaxt risk edə biləcəyini başa düşmür.
SLO biznesə bağlı deyil - texnometriklər «yaşıl», gəlir «qırmızı».
12) Giriş çek siyahısı
1. Əsas SLI (Availability, p95/p99, Error-rate, TTW, Conversion) təsdiq edin.
2. 30/7/1 günlük pəncərələrdə SLO təyin edin və Error Budget hesablayın.
3. recording rules və burn-rate alert (fast/slow) əlavə edin.
4. Reliz qeydləri və canary/stable müqayisələri ilə SLO kartı qurun.
5. CD-yə geytaları daxil edin: SLO-ok olmadan - promosyon olmadan.
6. freeze prosedurları və SEV eskalasiya matrisi daxil edin.
7. SLO-nu iş metrləri (conv, TTW) və ödəniş marşrutları ilə əlaqələndirin.
8. Data/ML üçün latency/quality/freshness-SLO-nu təyin edin.
9. Müntəzəm RCA və SLO/eşiklərin yenidən baxılması (rüblük).
10. Yalnız SLO sabitləşdikdən sonra SLA-nı sənədləşdirin.
13) «Hazır» hədəflərin nümunələri (başlanğıc kimi)
Ümumi API: Availability 99. 9 %/30d; p95 ≤ 250 ms/30d; Error-rate ≤ 0. 3 %/30d.
Payments: Conversion ≥ baseline − 0. 3 %/24h; TTW p95 ≤ 3 dəq/24h.
Games init: Success ≥ 99. 5 %/7d; p95 ≤ 600 ms/7d.
Backoffice jobs: Success ≥ 99%/7д; lag ≤ 5 dəq/7d.
LLM/Reco: tokens/s ≥ N, toxicity viol. ≤ 0. 5 %/7d, freshness ≤ 6h.
Nəticələr
SLO/SLA yanaşması etibarlılığı «dünəndən daha yaxşı» ölçülən bir intizama çevirir: şəffaf SLI, başa düşülən səhv büdcəsi, yanma sürəti, başa düşülən daşbordlar və keyfiyyət geytaları. Bu kontur iGaming platformasına proqnozlaşdırıla bilən p95/p99, sabit ödənişlər və TTW verir, yəni ən yaxşı gəlir və ən isti saatlarda daha az insident verir.