GH GambleHub

SLA, SLO և KPI հուսալիությունը

1) Տերմիններ և տարբերություններ

SLI (Systel Level Indication) - չափված որակի ցուցիչ (օրինակ, հաջողակ հարցումների մասնաբաժինը, p95 լատենտ)։

SLO (No Level Objective) - SLI-ի նշանակությունը ժամանակի պատուհանի համար (օրինակ ՝ "հաջողության թիվ 99։ 9 տոկոսը 28 օրվա ընթացքում")։

Բյուջեի սխալը (ERror Budget) SLO-ի ձախողման թույլատրելի մասն է։

SLA (Black Level Agream) - պայմանագրային պարտավորություններ տուգանքների/վարկերի հետ (արտաքին)։

KPI հուսալիությունը գործընթացի վիրահատական չափումներն են (MTTD/MTTA/MTTR/MTBF, ավտոմատ MTBF, ալտերտերի և այլն)։

💡 Կանոն 'SLA no SLO; արտաքին պայմանագիրը չպետք է ավելի խիստ լինի, քան ներքին նպատակը։

2) Ինչպես ընտրել SLI (հիմնվելով Golden Signals)

1. Latency-ը p95/p99 է հիմնական էնդպոինտների համար։

2. Traffic-RPS/RPM/հաղորդագրությունների հոսքը։

3. Errors-ը 5x/բիզնես սխալների մասն է (օրինակ, PSA-ի մեղքով «decom» բացառել)։

4. Saturation-ը ռեսուրսների հագեցումն է (CPU/RAM/IO/lag)։

Լավ SLI չափանիշները

Հարաբերում է օգտագործողի փորձի հետ (user-perceived)։

Տեխնիկապես հասանելի և ֆոսֆիլեն չափման մեջ։

Մենք վերահսկում ենք (հնարավոր են գործողություններ բարելավելու համար)։

Հավաքման ցածր արժեքը։


3) Բանաձևերն ու օրինակները

3. 1 Հասանելիություն (availability)


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

Օրինակ ՝ SLO 99։ 30 օրվա ընթացքում 9 տոկոսը սխալների բյուջեն = 0։ 1%, որը համարժեք է 43 րոպե 12 վայրկյան անհասանելիության։

3. 2 Լատենտ

SLO-ն լատենտ ձևակերպում է որպես շեմին տեղադրված հարցումների մի մասը


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

3. 3 Վճարումներ (բիզնես մակարդակը)


Payment Success SLI = (успешные проводки — внешние отказы PSP) / все попытки
💡 Բացառենք հաճախորդի քարտեզի «decom» -ը պարտքի մերժումից. ներառում ենք միայն պլատֆորմի մեղքը։

4) Սխալ բյուջե և burn-rate

Բյուջեի սխալը ձեր վառելիքի բաքն է նորարարությունների համար (օրինագծեր, փորձեր)։

Burn-rate-ը բյուջեի սպառման արագությունն է

արագ ջրանցք (թիվ 1 ժամ),

դանդաղ ջրանցք (միտում 6-12 ժամ/24 ժամ)։

Շեմի գաղափարները

Եթե burn-rate> 14։ 4 1 ժամվա ընթացքում SEV-1 (մենք օրական բյուջե ենք ուտում 100 րոպե)։

Եթե burn-rate> 6 6 6 ժամվա ընթացքում SEV-2 (արագ դեգրադացիա)։


5) Alerting-ը SLO-ով (multi-71, multi-burn)

Սխալների ցուցիչը 5xx-ի կամ լատենտության խախտումների մասն է։

PromQL-ի օրինակները (ընդհանրացված)

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-ի համար լատենտ օգտագործեք մեջբերված հիստոգրամներ

promql p95 latency histogram_quantile(0.95, sum by (le) (rate(http_request_duration_seconds_bucket[5m])))

6) SLI/SLO օրինակները օրինակներով

6. 1 API դարպաս/Edge

SLI-Errors: 5xx <0 պատասխանների մասը։ 1% (28d).

SLI-Latency: p95-250 ms (օր)։

SLO: Availability ≥ 99. 95% (թաղամաս)։

6. 2 Վճարումներ

SLI-Success: հաջողակ (բացառելով հաճախորդների մերժումները) 3699։ 8% (28d).

SLI-Latency: Հեղինակային իրավունքը 362 վայրկյան 99 տոկոսով (օրը)։

SLO: Time-to-Wallet p95 ≤ 3 мин (24h).

6. 3 Տվյալների հիմքեր (PostgreSQL)

SLI-Lag 'p95-1 վայրկյան (օր)։

SLI-Errors: Հարցումների սխալների մասը 0։ 05% (28d).
SLO 'հասանելիություն 24.99։ 95%.

6. 4 Հերթեր/Striming (Kafka)

SLI-Lag: սպառողական lag p95 հազար N հաղորդագրությունները (ժամ)։

SLI-Durability: No. 99 գրելու ապացույց։ 99% (28d).
SLO 'բրոքերների հասանելիությունը 3699։ 9%.


7) KPI հուսալիության գործընթացը

MTTD (Mean Time To Detect)

MTTA (… To Acknowledge)

MTTR (… To Restore)

MTBF (… Between Failures)

% -ը ավտոմատ հավաքման

SLO/լավագույն ուղիների ալտերտեր (նպատակային 3695%)

Ածխաջրածինների մասնաբաժինը կանարյան փուլով

Սխալ բյուջեի սպառումը թիմերի/ավարտների համար


8) Ինչպես տեղադրել SLO իրական

1. Չափեք ներկա հիմնական լուծումը (3-4 շաբաթ)։

2. Ռուսական «զգայուն» օգտագործողի ճանապարհները (լոգին, դեպոզիտ, խաղ)։

3. Օգտագործեք յուրաքանչյուր նշանադրության արժեքը (ժամանակ, փող, հեղինակություն)։

4. Ընտրեք հավակնոտ, բայց հաջողակ նպատակը (բարելավումը 10-30 տոկոսով դեպի գնորդը)։

5. Վերանայեք այն։

Anti-patterns

Անմիջապես «հինգ աղջիկները» առանց հիմնավորման։

SLO-ն, որը չի տեսնում օգտագործողը (օրինակ, CPU-ն առանց UX-ի)։

Չափազանց շատ SLO-ն ֆոկուսի ցողունն է։


9) SLO-ի և բյուջեների հաշվետվությունները

Ստանդարտ զեկույցը (շաբաթական/ամսական)

Յուրաքանչյուր SLO-ի կատարումը 'նպատակը, միտումները, didence-ը։

Սխալների սպառումը 'քանի՞ բյուջե է «այրվել», քան, ում (թողարկումը/դեպքը)։

Լավագույն հինգ դեգրադացիայի պատճառները, CAPA պլանը և առաջադրանքների կարգավիճակը։

Բիզնեսի վրա ազդեցությունը 'փոխակերպում, ND, պահպանումը, LTV։


10) Կապ բյուջեի քաղաքականության հետ

Սխալների բյուջեն <50 տոկոսը ազատ օրինագծեր է։

50-80 տոկոսը բացատրում է «զգույշ ռեժիմը» 'միայն low-risk/kanareced։

💡 80% -ը պարունակում է ածխաջրածինների սառեցում, ֆոկուս և պարտք։

11) SLA (պայմանագրային) - կետերի ձևանմուշներ։

Հասանելիության պարտավորությունը 'օրինակ, 99։ 9 %/ամիս։

Բացառություններ (Force Majeure): DDoS-ը ողջամիտ վերահսկողությունից դուրս, երրորդ կողմերի պրովայդերներ։

Չափման պատուհանը և պատասխանատվության գոտին 'մետրիկի աղբյուրները, հաշվարկման մեթոդը։

Վարկեր/տուգանքներ ՝ մակարդակների բարձրացում (օրինակ, 60-120 րոպե վարկեր X%)։

Էսկալացիայի և ծանուցումների ընթացակարգերը 'ժամկետներ, ալիքներ։

Տվյալները և գաղտնիությունը 'դիմակավորում, պահպանում, Legal Hold։

Խոհարարների կառուցման պլանը (CAPA) խախտման դեպքում։

💡 Արտաքին SLA-ը պետք է հղում լինի SLI-ի և հաշվարկման մեթոդին։

12) Չափման գործիքները

Պասիվ մետրիկները ՝ Prometheus/Mimir/Thanos, արտադրողներ։

Լոգի 'Loki/ELK-ը բիզնեսի մակարդակում հաջողության/սխալների հաշվարկման համար։

Սինթետիկ 'ակտիվ փորձարկումներ (լոգին/դեպոզիտ/խաղ) com-ով։

Ճանապարհը ՝ Tempo/Jaeger-ը «նեղ տեղերի» համար p99։

Վճարումը/ֆինանսները 'www.und truth աղբյուրները մետրոպոլիտենի SLI-ի համար։


13) Հարցումների օրինակներ (ձևանմուշներ)

Հաջողակ API հարցումների մասնաբաժինը (բացառությամբ 4xx որպես հաճախորդ)

promql
1 - (
sum(rate(http_requests_total{status=~"5.."}[5m]))
/ sum(rate(http_requests_total[5m]))
)

SLO քարտը

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}

Հիբրիդային հաջողությունը (բիզնես իրադարձություններով լոգարաններում/սթրիմում)


success_rate = (count_over_time({app="payments"}     = "status=success"[5m]))
/ (count_over_time({app="payments"}     ~ "status=(success    fail)"[5m]))
💡 Պարզաբանեք ֆիլտրերը, որպեսզի բացառեք «decom-ը հաճախորդի վրա»։

14) Ֆինոպս և 108

Cost per 9: Իններորդ ավելացման արժեքը աճում է էքսպոնենցիալ։

Կորի տրամագիծը 'լավատեսություն այնտեղ, որտեղ եկամտի ավելացումը/նվազումը փոխանցվում է ավելացված «9» արժեքը։

SLO պորտֆելը 'տարբեր մակարդակներ տարբեր ճանապարհների համար (քննադատական վճարումները «ավելի թանկ», հաշվետվությունները «ավելի էժան»)։


15) SLO/alerts որակը չեկի թերթ է։

  • SLI-ն կապված է UX-ի և բիզնես-մետրիկայի հետ։
  • Պատուհանը և համախմբումը համաձայնեցված են (rolling 28d/քառորդ)։
  • Alerta multi-2019, առանց ֆլամպինգի, ռոլլային երթուղով։
  • Lenta.ru 'սեփականատեր, բանաձև, աղբյուրներ, runbook։
  • Դեմո վահանակ SLO սխալ բյուջեով և burn-լուծիչներով։
  • Նպատակների ստացիոնար իրականացումը (եռամսյակային)։
  • Սինթետիկ թեստերը հիմնական սցենարներով։

16) Իրականացման պլանը (4 իտացիա)

1. Շաբաթը 1: Օգտագործողի ճանապարհների բուլարիզացիան, SLI-ի չեռնիվները, հիմնական դաշբորդները։

2. Շաբաթ 2: SLO ֆորմալիզացիան, հաշվարկը, ալերտները (fox/slow burn)։

3. Շաբաթ 3: ինտեգրումը ինտեգրման գործընթացի հետ, freeze կանոնները։

4. Շաբաթ 4 +։ Պայմանագրային SLA, եռամսյակային հեղափոխություն, «cost per 9» ֆենոմեն մոդելը։


17) Mini-FAQ

Արդյո՞ ք պետք է ունենանք մեկ SLO ծառայության համար։

Ավելի լավ է 2-3 հիմնական (հաջողությունը + լատենտ) տասնյակ երկրորդական։

Ի՞ նչ անել, եթե բյուջեն սպառված է։

Ածխաջրածինների սառեցումը, ֆոկուսը և CAPA-ը, փորձնական ֆիգուրների հեռացումը։

Ինչպե՞ ս կարող ենք խուսափել բախումից ածխաջրածինների արագության և հուսալիության միջև։

Պլանավորեք օրինագծերը «ուղղություններով», ներմուծեք քարե ծածկոցներ և feature-flags։


Արդյունքը

Մոսկվան ղեկավարվում է ոչ թե ցրված մետրերի մի շարք, այլ համակարգով 'SLI www.SLO-ն հաստատեց բյուջեի սխալը www.burn-alerting-ի համար, որը կոչվում է CAPA no SLA։ Ստանդարտացրեք սահմանումները, տվյալների աղբյուրները և հաշվետվությունները, նպատակներ բերեք օգտագործողի փորձին և տնտեսությանը, և պարբերաբար վերանայեք «աղջիկների» մակարդակը կախված իրական ROI-ից։

Contact

Կապ հաստատեք մեզ հետ

Կապ հաստատեք մեզ հետ ցանկացած հարցի կամ աջակցության համար։Մենք միշտ պատրաստ ենք օգնել։

Սկսել ինտեգրացիան

Email-ը՝ պարտադիր է։ Telegram կամ WhatsApp — ըստ ցանկության։

Ձեր անունը ըստ ցանկության
Email ըստ ցանկության
Թեմա ըստ ցանկության
Նամակի բովանդակություն ըստ ցանկության
Telegram ըստ ցանկության
@
Եթե նշեք Telegram — մենք կպատասխանենք նաև այնտեղ՝ Email-ի дополнение-ով։
WhatsApp ըստ ցանկության
Ձևաչափ՝ երկրի կոդ և համար (օրինակ՝ +374XXXXXXXXX)։

Սեղմելով կոճակը՝ դուք համաձայնում եք տվյալների մշակման հետ։