Avtomatik səhv düzəltmə
1) Məqsəd və prinsiplər
Məqsəd: MTTR-i azaltmaq və SLO, gəlir və tələblərə uyğunluğu saxlayaraq hadisələrin artmasının qarşısını almaq.
Prinsiplər:- SLO-first: Avto hərəkətlərə yalnız təsdiqlənmiş səhv büdcəsi təhlükəsi olduqda icazə verilir.
- Təhlükəsizlik ilk növbədə: minimum blast-radius, açıq limitlər və vaxt qutuları.
- Explainable by design: Hər bir hərəkət başa düşülən və audit olunur.
- Rollback-hazırlıq: Hər hansı bir addım geri dönüş meyarları ilə müşayiət olunur.
- Risk yüksək olduqda Human-in-the-loop: P1-kritik dəyişikliklər - dual control və ya IC/on-coll təsdiqi ilə (başqa bir siyasət müəyyən edilmədikdə).
2) Terminlər
Auto-remediation: insanın iştirakı olmadan hadisəyə (alert/anomaliya) proqram reaksiyası.
Guardrails: məhdudiyyət siyasəti (eşik, müddət, cəhdlərin sayı, təsir zonası).
Runbook-Action: pre/post-yoxlamalar və geri dönüş ilə atom əməliyyat.
Decision Engine: hadisəni siyasətçilərlə müqayisə edən və hərəkətləri həyata keçirən xidmət.
3) Həll arxitekturası
1. Siqnallar: SLO/burn-rate, KRI, sintetik, RUM, dərin sağlamlıq.
2. Kontekstin korrelyasiyası: relizlər, fayllar, planlı işlər, asılı provayderlər.
3. Decision Engine: qaydalar/siyasətlər (policy-as-code), impakt və risk qiymətləndirilməsi, ssenari seçimi.
4. Yerinə yetirilməsi: runbook hərəkətlərinin orkestratoru (idempotentlik, jitter retraisi).
5. Nəzarət: ön-validatorlar, post-doğrulayıcılar, vaxt qutusu, geri dönüş.
6. Audit və müşahidə: Trace fəaliyyət, uğur metrikası, jurnal (WORM/immutable).
7. Rabitə: status-səhifə (Comms Lead vasitəsilə), var-room, sapport üçün makroslar.
4) Siyasət və tolerantlar (policy-as-code)
Şərt nümunələri (psevdo-Rego/məntiq): 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)`
Hər bir siyasət daxildir: şərt, hərəkət, limit (scope/vaxt/tezlik), uğur meyarları, geri dönüş.
5) Təhlükəsiz fəaliyyət kataloqu (atom runbook-actions)
Ödənişlər: trafiki alternativ PSP/banka keçmək; routing health × fee × conversion prioritetlərini dəyişdirmək; sadələşdirilmiş 3DS daxil edin; Jitter ilə retras limitlərini artırın.
Bahislər/oyunlar: settle workers ölçmək; cache-warmup daxil edin; kritik olmayan fiqurları (animasiyalar, ikincil fiidlər) müvəqqəti olaraq söndürmək; waiting-room/queue-page.
Infrastruktur: deqradasiya nümunələri (outlier-detector) ələ, qonşu AZ/regiona trafik boşaltmaq; hovuz/kvotaları artırmaq; lint yoxlamaları ilə workers yenidən başlayın.
Verilənlər/növbələr: partiyanın yenidən bölüşdürülməsi; istehlakçıları cap-a qaldırmaq; read-trafikin sağlam replikaya keçməsi; adaptiv sampling yolları daxil edin.
Təhlükəsizlik/uyğunluq: PII ixracını biletsiz müvəqqəti bloklamaq; velocity-limit nəticələr gücləndirmək; həssas əməliyyatlar üçün dual control daxil edin.
Comm-qat: status auto-layihə + Comms Lead üçün yeniləmə yuvaları; PSP deqradasiyası zamanı tərəfdaşlara bildiriş.
6) Pre-və post-validasiya
Əvvəlki:- Problemin real və təzə olduğunu yoxlayın (N-in-M pəncərələri; saylens/planlı iş yoxdur).
- Siyasətə icazə verildiyindən və resurs büdcəsindən əmin olun.
- Qiyməti qiymətləndirin (FinOps) və uyğunluq məhdudiyyətləri.
- burn-rate/metrik azalma təsdiq; nəticəni qeyd etmək; şərtlər üzrə geri (auto-rollback) planlaşdırın.
7) Rollback и “escape hatch”
metr sabitləşdirilməsi və max-TTL fəaliyyət avto-geri.
Var-room-da IC/on-call üçün geri dönüş düyməsi.
Break-glass yalnız təcili giriş üçün; post-audit tələb olunur.
8) Alertinq və insidentlərlə inteqrasiya
Hər hansı bir avtomatik hərəkət hadisə kartına yapışdırılır: kim/nə/nə vaxt/niyə, nəticə, qrafiklərə istinadlar.
Peycer dublikatlar üçün səssiz, lakin uğursuz avto fiks (eskalasiya) üçün deyil.
Status-səhifə şablon vasitəsilə Comms Lead vasitəsilə yenilənir.
9) Təhlükəsizlik və uyğunluq dizaynı
Orkestrator üçün ən kiçik imtiyazlar; fəaliyyət/domain üçün fərdi rollar.
Yüksək risk üçün SoD və dual control: PSP marşrutlaşdırma, bonus limitləri, PII ixracı.
Giriş siqnalları və siyasət versiyaları da daxil olmaqla bütün avtomatik həllərin WORM/immutable audit.
PII-gigiyena: etiketlərdə və fəaliyyət loqlarında fərdi identifikatorlar olmadan.
10) Auto-kontur müşahidə
Metriklər: success-rate hərəkətləri, reaksiya vaxtı,% geri dönüş, MTTR qənaət, SLO təsir.
Traces: «siqnal → həll → hərəkət → effekt» üçün keçid trace.
Qeydlər: strukturlaşdırılmış, policy_id, versiyalar və pre/post yoxlamalar ilə.
Daşbordlar: Exec (gəlirə təsir/SLO), Ops (fəaliyyət matrisi × domenlər), FinOps (avto ölçü dəyəri).
11) Ssenari nümunələri (iGaming)
11. 1 PSP deqradasiyası (TR/EU)
Siqnal: auth-success PSP-1 ↓ 10 dəqiqə ərzində 25%, əhatə> 30% əməliyyatlar.
Fəaliyyət: trafikin 40% -ni PSP-2/3; sadələşdirilmiş 3DS daxil edin; X bank sorğularının retraylarını jitterlə qaldırmaq.
Sərhədlər: bir alternativ PSP-də ümumi trafikin 60% -dən çoxu; TTL 45 dəq.
Rollback: 15 dəqiqə ərzində success-rate ≥ hədəf normallaşdırılması ilə.
11. 2 Settle bahislərində p99 artımı
Siqnal: p99 «bet → settle»> 3 × normalar + consumer-lag> eşik.
Fəaliyyət: cap qədər scale-out worker; əmsalları cache qızdırılması; «təkrarlama tarixçəsini» müvəqqəti olaraq söndürmək.
Rollback: 20 dəqiqə normalda headroom> X və p99 sonra.
11. 3 DB replikası geridə qalır
Siqnal: replication-lag> N saniyə, böyümə lock-wait.
Hərəkətlər: read-trafikin sağlam replikaya yönəldilməsi; aşağı prioritet throttling write əməliyyatları daxil edin.
Rollback: lag normallaşdırıldıqdan və kilidləmə səhvlərindən sonra.
11. 4 PII ixrac spike
Siqnal: rate ixrac> baza xətti × K, heç bir bilet.
Fəaliyyət: ixrac bloku, Compliance bildirişi, dual control.
Rollback: sorğuları təsdiqlədikdən və anomaliyaları bağladıqdan sonra.
12) KPI и KRI
MTTR ↓ avto fiksin işlədiyi hadisələr üçün.
TTD → Action: detektordan hərəkətin yerinə yetirilməsinə qədər olan vaxt.
Success-rate hərəkətləri və Rollback-rate (aşağı - yaxşı, çünki yanlış nəticələr deyil).
False-action rate (təsiri olmayan və ya mənfi təsiri olan hərəkətlər).
SLO impact saved (dəqiqə/gəlir, qarşısı alınan cərimələr).
Pager fatigue ↓ (eyni/ən yaxşı SLO-da daha az əl çağrı cihazı).
13) Yol xəritəsi (8-12 həftə)
Ned. 1-2: 3-5 yüksək ROI ssenariləri seçin (PSP-feylover, autoscale lag, feature-degrade); siyasətləri/limitləri/geri çəkilmələri təsvir edin.
Ned. 3-4: Fəaliyyət orkestratoru, sirləri və rolları, hadisə platforması ilə inteqrasiyanı həyata keçirmək; müşahidə və audit əlavə edin.
Ned. 5-6: «kölgə» rejimində pilot (simulate-only) → A/B-qiymətləndirmə effekti; sonra kiçik əhatə ilə prod daxil edin.
Ned. 7-8: script kataloqunu genişləndirin (BD/cache/növbə/cəbhə), status-səhifə və Comms ilə əlaqələndirin.
Ned. 9-10: FinOps-limitləri (qiymət/SLI) qaydaları əlavə edin, yüksək risk üçün dual nəzarət tətbiq edin.
Ned. 11-12: tabletop/chaos-təlimlər, KPI/KRI yenidən baxılması, bələdçi nəşriyyatı və on-call təlimi.
14) Artefaktlar və şablonlar
Auto-Remediation Policy: şərt, fəaliyyət, limitlər, TTL, geri, sahibi, risk sinfi.
Runbook-Action Spec: ön şərtlər, addımlar, yoxlamalar, səhvlər, monitorinq, geri qaytarma məntiqi.
Change-Control: kim siyasət, PR review, testlər, diff və versiyası idarə edə bilər.
Evidence Pack: SLO-da log/treys/metrik təsir, post-mortem/audit üçün hesabat.
15) Antipattern
Səbəbini yoxlamadan və SLO → flapping olmadan «simptomu müalicə edin».
Geri qaytarma və TTL → dondurulmuş deqradasiya olmadan fəaliyyət.
guardrails → kaskad uğursuzluqları olmadan universal skriptləri.
Siyasət yoxluğu və versiyası.
İqnor dəyəri (limitsiz avtoskeyl) və komplayens (PII-ixrac).
P1 risklərində Human-in-the-loop olmadan tam muxtariyyət.
Yekun
Avtomatik səhv düzəliş idarə olunan dövrədir: SLO siqnalları → guardrails ilə siyasətlər → geri dönüş ilə təhlükəsiz runbook hərəkətləri → müşahidə və audit → hadisə təlimi. Bu yanaşma MTTR-ni ölçülebilir dərəcədə azaldır, gəlirləri zirvələrdə saxlayır və rutini təhlükəsizlik və tənzimləyicilərə uyğun olaraq on-call-dan çıxarır.