SLO, SLA և հուսալիություն
(Բաժին ՝ Տեխնոլոգիաներ և ենթակառուցվածքներ)
Live ռեզյումե
SLO-ն որակի ներքին նպատակն է, SLA-ն արտաքին պարտավորություն է հաճախորդի, SLI-ի, ինչպես մենք չափում ենք որակը։ IGaming-ում հիմնական SLI-ն 'API-ի հասանելիությունը և հենակետը, p95/p99 կրիտիկական երթուղիների լատենտությունը, Time-to-Wallet (TTW), վճարումների փոխակերպումը, խաղերի մեկնարկը, ինչպես նաև հերթերի նետումը։ Վստահության կառավարումը կառուցվում է սխալների բյուջեի շուրջ, multi-burn alerts, պարզ առյուծների խաղացողներ և տեսողական դաշնամուրներ, որոնք ունեն։
1) Տերմիններ և տարբերություններ
SLI (WindLevel Indication) - չափված ցուցիչ (օրինակ, ժամանակի պատուհանի համար հաջողակ հարցումների մասնաբաժինը)։
SLO (No Level Objective) - SLI (օրինակ ՝ "հասանելիություն 99։ 9 տոկոսը 30 օրվա ընթացքում")։
SLA (Black Level Agream) - պայմանագիր/փոխհատուցման պարտավորություն; հիմնված է իրական SLO-ի վրա, բայց ներառում է իրավաբանական և բացառությունների պատուհաններ (planned maintenae, fors-major)։
Կանոն 'նախ կայունացրեք SLI/SLO ներսում, և միայն հետո ձայնագրեք SLA-ը։
2) SLI-ի շրջանակը iGaming-ի համար
TexSLO
Availability: հաջողակ 2xx/3xx/բոլոր հարցումները։
Latency: p95/p99 հիմնական routes («/deposit », «/bet», «/game/init »)։
Errors '5x/timauts մասնաբաժինը։
Saturation/Queues-ը 'ռուսական/գործարքների հերթերի ուշացումը։
Բիզնես SLI
Payment conversion: `success/attempt`.
TTW p95: ժամանակ եզրակացության հարցումից մինչև հաշվարկը։
Game start success: Խաղերի նստաշրջաններ, պրովայդերի նախաձեռնություն։
KYC/AML flow success 'ճանապարհի հաջողակ ավարտը։
3) Սխալների բյուջե 'ինչպես ենթադրել
Error Budget = 1 − SLO.
Օրինակ 'SLO հասանելիություն 99։ 9 %/30d ռուսական սխալների բյուջեն = 0։ Ժամանակի 1 տոկոսը նշված է 43min 12s 30-օրյա պատուհանում։
SLI բաժնետոմսերի համար
success_ratio = success_requests / all_requests error_ratio = 1 - success_ratio
SLO-ն համարվում է սահուն պատուհանի վրա (30/7/1 օր) և երևում է dashbords-ում։
Օգտագործման քաղաքականությունը
Արագ «այրումը» բյուջեից wwww.freeze ածխաջրածիններ են, կանգուն, մենք աշխատում ենք կայունության վրա։
Բյուջեի պահուստը թույլ է տալիս ավելի հաճախակի փոփոխություններ (վերահսկելի)։
4) SLO օրինակները հիմնական հոսքերի համար
Payments API:- Availability ≥ 99. 9 %/30d
- Latency p95 `/deposit` ≤ 250 ms / 30д
- Payment conversion ≥ baseline − 0. 3 %/111 ժամ
- TTW p95 (եզրակացություն) 243 րոպե/210 ժամ
- Games API/խաղերի պրովայդերներ
Game init success ≥ 99. 5% / 7д p95 game init ≤ 600 ms / 7д
Backoffice/հաշվետվություններ
Job success 2499 %/7d, lag <5 րոպե (առանձին)։
5) Չափումը ՝ բանաձևը և PromQL (գաղափարներ)
Հարցումների հաջողությունը
promql sum(rate(http_requests_total{status=~"2.. 3..",service="payments-api"}[5m]))
/
sum(rate(http_requests_total{service="payments-api"}[5m]))
p95 լատենտ
promql histogram_quantile(0. 95,
sum by (le) (rate(http_request_duration_seconds_bucket{service="payments-api",route="/deposit"}[5m])))
TTW p95 (իրադարձությունների հիստոգրամ)
promql histogram_quantile(0. 95,
sum by (le) (rate(ttw_seconds_bucket{flow="withdrawal"}[15m])))
Վճարման կոնվերսիան
promql sum(rate(payments_success_total[15m])) / sum(rate(payments_attempt_total[15m]))
6) Burn-rate-alerta (multi-2019)
Գաղափարը 'համեմատում ենք բյուջեի սպառման ներկա արագությունը թույլատրելի հետ։
SLO 99-ի օրինակ։ 9%:- Fultburn: 14 ռուսական բյուջեը 1 ժամվա ընթացքում հինգ-15 րոպե հետո։
- Slow burn: 6 բյուջեներ 24 ժամվա ընթացքում, պատճառների վերլուծություն։
Կեղծ կանոնները
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) Dashbords «SLO քարտեզը» և վիրահատությունը
Վերին մակարդակը (քարտեզը)
Ծառայությունների քարտերը ՝ Availability, p95, Error-rate, Burn-rate, մնացած Error Budget։
Ֆիլտրեր ՝ «env», «region», «tenault», «version»։
Օրինագծերի նույնականացումները ՝ Git SHA, տիպը (canary/blue-green), ժամանակը։
Drill-down:- Համեմատություն stable vs canary.
- PFC/խաղերի պրովայդերներ։
- Անցում դեպի exemplars (trace _ id) և կապված։
- Queue lag և saturation (USE մետր)։
8) SLO գործընթացները 'գեյթ, ֆրեզե, էսկալացիա,
Gates CD-ում. Կանարեյկայի առաջխաղացումը թույլատրվում է միայն SLO-2019 (availability, p95, conv) կատարելիս։
Freeze 'fox-burn-ով կամ բյուջեի զրոյական մնացորդով, ածխաջրածինների կանգառը մինչև վերականգնումը։
Էսկալացիա: SEV-մատրիցա (SEV1 վճարումներ/դեպոզիտներ, SEV2 խաղեր, SEV3 becope)։
RCA 'վերլուծություն առանց հաշվարկների, թեստերի/լիմիտների/ֆիչեֆլագների նորարարություն։
9) Մոսկվա/ML-SLO (առաջարկների համար/LLM)
Latency: p95 մոդելի պատասխանը 300 ռուբլիներ է (կամ tokens/s pro N)։
Quality proxy 'վալիդային պատասխանների մասնաբաժինը/ցածր թունավորությունը, helpful-ը։
Freshness: Ավարտի/տվյալների տարիքը X ժամ։
Cost per 1k events։
SLO գեյտները ինտեգրվում են մոդելների կատալոգներում (A/B/kanared rolout)։
10) SLA նախագծումը SLO-ի հիմքում։
Ընտրեք պահպանողական SLO-ը որպես SLA-ի հիմքը։
Բացառությունների իրականացումը (պլանավորված աշխատանք, արտաքին կախված պրովայդերներ, կոդավորման կանոնակարգ)։
Մուտքագրեք փոխհատուցումը խախտումների մակարդակներում (վարկեր/զեղչեր), հաշվետվության և ստուգման մեխանիզմները։
11) Հաճախակի սխալներ և հակատիպեր
Ոչ SLO-ն, միայն «uptime 100 տոկոսը» - ոչ ռեալիստական, դեմոտիվացնում և թաքցնում ռիսկերը։
Ալերտները «յուրաքանչյուր մետր» փոխարեն burn-rate-alert-fetig-ի և անտեսման փոխարեն։
PII-ի խառնուրդը մետրերում/logs SLO-ի համար կոմպլանսի ռիսկերն են։
Կարդինալությունը պայթում է '«user _ id/session _ id» որպես պիտակներ։
Օրինագծերի նույնականացման բացակայությունը դժվար է կապել դեգրադացիաները փոփոխությունների հետ։
Սխալների անթափանց բյուջեն, թիմը չի հասկանում, թե երբ կարող եք ռիսկի դիմել։
SLO-ն կապված չէ բիզնեսի հետ '«կանաչ» տեխնիկան, «կարմիր» եկամուտը։
12) Ներդրման չեկի ցուցակ
1. Հաստատեք հիմնական SLI (Availability, p95/p99, Error-rate, TTW, Conversion)։
2. Թույլ տվեք SLO-ը 30/7/1-օրյա պատուհաններով և համարեք Error Budget-ը։
3. Ավելացրեք recording rules և burn-rate ալերտներ (fox/slow)։
4. Կառուցեք SLO քարտեզ, որոնք ունեն ածխաջրածինների և canary/stable համեմատություններ։
5. Միացրեք խաղացողները CD-ում 'առանց SLO-ok-ի, առանց խթանման։
6. Մուտքագրեք freeze ընթացակարգերը և SEV-մատրիցը։
7. Միացրեք SLO-ը բիզնես մետրիկների հետ (conv, TTW) և հիբրիդային երթուղիների հետ։
8. System/ML wwww.latency/quality/freshness-SLO-ի համար։
9. Express RCA-ը և SLO/progs-ը (եբեքվարտալ)։
10. Փաստաթղթավորեք SLA-ը միայն SLO-ի հայտարարությունից հետո։
13) «պատրաստ» նպատակների օրինակները (ինչպես սկսելը)
API ընդհանուր 'Availability 99։ 9 %/30d; p95 .2250 մգ/30d; Error-rate ≤ 0. 3 %/30d։
Payments: Conversion ≥ baseline − 0. 3 %/111 ժամ; TTW p95 243 րոպե/112 ժամ։
Games init: Success ≥ 99. 5 %/7d; p95 24600 ռուբլիներ/7d։
Backoffice jobs: Success ≥ 99%/7д; lag 355 րոպե/7d։
LLM/Reco: tokens/s ≥ N, toxicity viol. ≤ 0. 5 %/7d, freshness 246h։
Արդյունքները
SLO/SLA մոտեցումը վերածում է «ավելի լավ, քան երեկ» չափվող կարգապահության 'թափանցիկ SLI, հասկանալի սխալների բյուջե, այրման արագության ալտերտեր, հասկանալի տաշբորդեր և ներկառուցված որակի գեյտեր։ Այս ստանդարտը տալիս է iGaming-պլատֆորմը կանխատեսելի p95/p99, կայուն վճարումները և TTW-ը, ինչը նշանակում է, որ լավագույն եկամուտը և ավելի քիչ վճարումը ամենաթեժ ժամացույցներում։