Xatolarni avtomatik tuzatish
1) Maqsad va prinsiplar
Maqsad: MTTRni qisqartirish va SLOni, tushumni va talablarga muvofiqlikni saqlab qolgan holda hodisalar avj olishining oldini olish.
Prinsiplar:- SLO-first: Avto- harakatlarga faqat byudjetga xato kelib chiqqanida ruxsat beriladi.
- Xavfsizlik birinchi navbatda: minimal blast-radius, aniq limitlar va taymbokslar.
- Explainable by design: har bir harakat tushunarli va tinglanadi.
- Rollback tayyorligi: har qanday qadam qaytarish mezonlari bilan birga keladi.
- Human-in-the-loop xavfi yuqori bo’lgan joylarda: P1-tanqidiy o’zgarishlar - dual control yoki IC/on-coll tomonidan tasdiqlash orqali (agar siyosatda boshqacha tartib belgilanmagan bo’lsa).
2) Atamalar
Auto-remediation: inson ishtirokisiz hodisaga (alert/anomaliya) dasturiy javob.
Guardrails: cheklovlar siyosati (chegarasi, davomiyligi, urinishlar soni, ta’sir zonasi).
Runbook-Action: oldindan/keyin tekshirish va orqaga qaytish bilan atom operatsiyasi.
Decision Engine: voqeani siyosatchilar bilan taqqoslaydigan va harakatlarni boshlaydigan xizmat.
3) Yechim arxitekturasi
1. Signallar: SLO/burn-rate, KRI, sintetika, RUM, deep-health.
2. Kontekstning korrelyatsiyasi: relizlar, fichflaglar, rejali ishlar, qaram provayderlar.
3. Decision Engine: qoidalar/siyosatlar (policy-as-code), impakt va xavfni baholash, stsenariy tanlash.
4. Bajarish: runbook harakatlarining orkestratori (idempotentlik, jitter bilan retray).
5. Nazorat: oldindan validatorlar, post-verifikatorlar, taymbox, orqaga qaytish.
6. Audit va kuzatuv: harakat treysi, muvaffaqiyat metrikasi, jurnal (WORM/immutable).
7. Aloqa: status-sahifa (Comms Lead orqali), var-rum, sapport makroslari.
4) Siyosat va ruxsat berish (policy-as-code)
Shartlar namunalari (psevdo-Rego/mantiq): Failover PSP:- `allow if burn_rate(payments. auth) > fast && impact>threshold && psp_alt. healthy && within_limits("psp_reroute")`
- `allow if p99(bet_settlement)>3x && queue_lag>limit && feature("replay_center"). enabled`
- `allow if consumer_lag>target && cost_budget. ok && region_capacity. available`
- `allow if export_spike && no_ticket && data_class=PII -> action=block + notify(Compliance)`
Har bir siyosat quyidagilarni o’z ichiga oladi: shart, harakat, limit (scope/time/chastota), muvaffaqiyat mezonlari, orqaga qaytish.
5) Xavfsiz harakatlar katalogi (atom runbook-actions)
To’lovlar: trafikni muqobil PSP/bankka o’tkazish; health × fee × conversion routingining ustuvorliklarini o’zgartirish; soddalashtirilgan 3DSni kiritish; jitter bilan retraylar limitini oshirish.
Stavkalar/o’yinlar: settl vorkerlarini ko’paytirish; cache-warmup; tanqidiy bo’lmagan fichlarni (animatsiyalar, ikkilamchi fidalarni) vaqtincha o’chirish; waiting-room/queue-page.
Infratuzilma: tanazzulga uchraydigan nusxalarni olib qo’yish (outlier-detector), trafikni qo’shni AZ/mintaqaga evakuatsiya qilish; pul/kvotalarni ko’paytirish; Vorkerlarni lint tekshiruvlari bilan qayta ishga tushirish.
Ma’lumotlar/navbatlar: partiyalarni qayta taqsimlash; iste’molchilarni cap gacha ko’tarish; read-trafikni sog’lom replikaga o’tkazish; moslashuvchan sampling trassalarini yoqish.
Xavfsizlik/komplayens: PII eksportini biletsiz vaqtincha blokirovka qilish; xulosalarning velocity-limitlarini kuchaytirish; sezgir operatsiyalarga dual control qo’shish.
Komm qatlami: status avto-loyihasi + Comms Lead uchun yangilanishlar slotlari; PSP tanazzulga uchraganida sheriklarni xabardor qilish.
6) Oldindan va post-validatsiya
Oldingi:- Muammo haqiqiy va yangi ekanligini tekshirish (N-dan-M derazalar; saylens/rejali ishlar yo’q).
- Siyosatga ruxsat berilganligi va resurs byudjeti borligiga ishonch hosil qiling.
- Qiymatni (FinOps) va komplayens cheklovlarni baholash.
- Burn-rate/metrik pasayishini tasdiqlash; natijani yozib olish; shartlar bo’yicha qaytarishni (auto-rollback) rejalashtirish.
7) Rollback и “escape hatch”
Metriklarni barqarorlashtirishda va max-TTL harakati orqali avto-qaytarish.
Varrumdagi IC/on-call uchun orqaga qaytish tugmasi.
Break-glass faqat avariya holatida foydalanish uchun; post-audit o’tkazilishi shart.
8) Alerting va hodisalar bilan integratsiya qilish
Har qanday auto-harakat hodisa kartasiga biriktiriladi: kim/nima/qachon/nima, natija, grafiklarga havolalar.
Peyjer dublikatlar uchun eshitiladi, ammo muvaffaqiyatsiz avtofikslar uchun emas (eskalatsiya).
Status-sahifa namunaga koʻra Comms Lead orqali yangilanadi.
9) Xavfsizlik va komplayens dizayni
Orkestrator uchun eng kam imtiyozlar; harakat/domen uchun alohida rollar.
high-risk uchun SoD va dual control: PSP-routing, bonus limitlari, eksport PII.
Audit WORM/immutable barcha avtomatik yechimlar, shu jumladan kirish signallari va siyosat versiyalari.
PII-gigiyena: leybllar va harakatlar loglarida shaxsiy identifikatorlarsiz.
10) Auto-konturlar kuzatilishi
Metrikasi: success-rate harakatlar, reaksiya vaqti, qaytarish%, tejash MTTR, SLOga ta’sir.
Treyslar: «signal → yechim → harakat → effekt» uchun trace orqali.
Loglar: tuzilmalangan, policy_id, versiyalar va pre/post-tekshirishlar bilan.
Dashbordlar: Exec (tushumga ta’siri/SLO), Ops (harakatlar matritsasi × domenlar), FinOps (avto-o’lchovlar qiymati).
11) Ssenariy namunalari (iGaming)
11. 1 PSP-degradatsiya (TR/EU)
Signal: auth-success PSP-1 ↓ 10 daqiqada 25% ga, qamrov> 30% tranzaksiyalar.
Harakatlar: trafikning 40 foizini PSP-2/3 qayta taqsimlash; soddalashtirilgan 3DSni kiritish; X bankning jitter bilan bo’lgan so’rovlari retrasini ko’tarish.
Chegaralar: bitta muqobil PSP uchun umumiy trafikning 60% dan ko’p bo’lmagan; TTL 45 min.
Rollback: maqsadli ≥ 15 daqiqa davomida success-rate normallashtirilganda.
11. 2 Stavkalar settlasida p99 ning o’sishi
Signal: p99 «bet → settle»> 3 × normalar + consumer-lag> chegara.
Amallar: scale-out vorkerov to cap; koeffitsiyentlar keshining isishi; takrorlash tarixini vaqtincha oʻchirish.
Rollback: headroom> X va p99 dan keyin me’yorda 20 daqiqa.
11. 3 DB nusxasi orqada
Signal: replication-lag> N soniya, lock-wait.
Harakatlar: o’quv-trafikni sog’lom replikaga olib borish; past ustuvorlikdagi throttling write operatsiyalarini yoqish.
Rollback: lag va qulflash xatolari normallashtirilgandan keyin.
11. 4 Eksport payki PII
Signal: rate eksport> K × baza liniyasi, hech qanday chiptalar mavjud emas.
Amallar: eksport bloki, Compliance xabarnomasi, dual control.
Rollback: soʻrovlar tasdiqlangandan va anomaliyalar yopilgandan soʻng.
12) KPI и KRI
MTTR ↓ avto-fiks ishlaydigan hodisalar uchun.
TTD → Action: detektordan amalni bajarishgacha boʻlgan vaqt.
Success-rate va Rollback-rate (past - yaxshi, agar noto’g’ri ishlanmalar tufayli bo’lmasa).
False-action rate (effektsiz yoki salbiy effektli harakatlar).
SLO impact saved (daqiqa/tushum, oldini olingan jarimalar).
Pager fatigue ↓ (xuddi shu/eng yaxshi SLOlarda kamroq qo’l peyjerlari).
13) Joriy etish yo’l xaritasi (8-12 hafta)
Ned. 1-2: 3-5 ta yuqori ROI ssenariylarini tanlash (PSP-feylover, autoscale lag, feature-degrade); siyosatni/limitlarni/qaytarishlarni tavsiflash.
Ned. 3-4: harakatlar orkestratori, sirlar va rollarni amalga oshirish, voqea-platforma bilan integratsiya qilish; kuzatuv va audit qo’shish.
Ned. 5-6: «soyali» rejimdagi uchuvchi (simulate-only) → A/B-effektni baholash; so’ngra kichik qamrovli prodga kiritiladi.
Ned. 7-8: skriptlar katalogini kengaytirish (BD/kesh/navbat/front), status-sahifa va Comms bilan bogʻlash.
Ned. 9-10: FinOps-limitlar qoidalarini (qiymati/SLI) qo’shish, high-risk uchun dual control joriy etish.
Ned. 11-12: tabletop/chaos-mashqlar, KPI/KRIni qayta ko’rib chiqish, gidlaynlarni nashr etish va on-call o’qitish.
14) Artefaktlar va shablonlar
Auto-Remediation Policy: shart, harakat, limitlar, TTL, orqaga qaytish, egasi, xavf-sinf.
Runbook-Action Spec: ogohlantirishlar, qadamlar, tekshirishlar, xatolar, monitoring, qaytarish mantig’i.
Change-Control: siyosat, PR-revyu, testlar, diff va versiyani kim boshqarishi mumkin.
Evidence Pack: logi/treys/SLO ta’sir metrikasi, post-mortem/audit uchun hisobot.
15) Antipatternlar
«Biz simptomni tekshirmasdan davolaymiz» va SLO → flapping.
Qaytarishsiz harakatlar va TTL → muzlatilgan degradatsiyalar.
Gardrails → kaskad muvaffaqiyatsizliklarisiz universal skriptlar.
Audit va siyosatni versiyalashning yo’qligi.
Qiymat ignori (limitsiz avtoskeyl) va komplayens (PII-eksport).
P1-xavflarda Human-in-the-loop’siz to’liq avtonomiya.
Jami
Xatolarni avtomatik tuzatish boshqariladigan konturdir: SLO signallari → guardrails siyosati → xavfsiz runbook harakatlari → kuzatish va audit → hodisalarni o’rganish. Bunday yondashuv MTTRni o’lchovli ravishda kamaytiradi, daromadni cho’qqilarda saqlaydi va xavfsizlik va tartibga solish talablariga mos ravishda rutinni on-koldan olib tashlaydi.