Amallar we Dolandyryş → Hadysalaryň öňüni almak
Hadysalaryň öňüni almak
1) Bu näme üçin zerur?
Wakanyň iň gowy reaksiýasy onuň ýoklugydyr. iGaming/fintech üçin iş wagtynyň her minuty ýitirilen stawkalar/goýumlar, üpjün edijilerden alynýan jerimeler, abraý töwekgelçilikleri bolup durýar. Ulgamyň öňüni almak, "Change Failure Rate" -ni peseldýär, SLO-ny durnuklaşdyrýar we ýangyny söndürmek däl-de, ösüş üçin topar wagtyny boşatýar.
Maksatlar:- Möhüm ýollarda bolup geçen hadysalaryň ähtimallygyny azaltmak (goýum, stawka, oýny başlamak, netije).
- SLO we gapjyga urulýança zaýalanmagy saklaň.
- Şowsuzlyk radiusyny (blast radius) çäklendirmek we dikeltmegi çaltlaşdyrmak.
2) Öňüni almagyň esasy ýörelgeleri
1. SLO-first we error budget: SLO-ny ýok etmek we býudjeti ýakmak howpy abanýan bolsa, üýtgeşmeler goýberilmeýär.
2. Defence in depth: gorag gatlaklary - maglumat shemalaryndan we konfigurasiýalardan tor syýasatlaryna we aýratynlyklaryna çenli.
3. Design for failure: breýkerler, taýmautlar, jitter bilen retrailer, idempotentlik, pese gaçmalar.
4. Small & reversible changes: kiçijik inkrementler + çalt yza gaýdyp gelmek (feature flags/kanarya).
5. Observability by design: metrikler/loglar/her bir möhüm ädim we aragatnaşyk üçin söwda.
3) Töwekgelçilikleriň we kritiki ýollaryň kartasy
Domenler boýunça "agyry kartasyny" düzüň: Payments, Bets, Games, KYC, Promotions, Jackpots, Content.
Her ýol üçin bellik edýäris:- Iş ölçegleri (öwrülişik, GGR, ortaça çek).
- Tehniki SLO (latency p95/p99, uptime, success rate).
- Garaşlylyk (içerki/daşarky), çäkler/kwotalar.
- "Safe mode" hereketi (öçürýäris/ýönekeýleşdirýäris).
- Eýesiniň Runbook.
4) Garawullar (gorag päsgelçilikleri)
Taýmautlar we breýkerler: çagyryjy hyzmatyň taýmauty içerki hyzmatyň mukdaryndan gysga; breýker ýalňyşlyklar/gizlinlik artanda açylýar.
Bulkhead-izolýasiýa: downstrimlere birikmeleriň/workerleriň aýratyn howuzlary.
Rate limit & backpressure: göç we retrai tupanlaryndan goramak.
Pese gaçmagyň netijeleri: "minimal re regimeim" - aňsat jogaplar, keş-repleýler, agyr şekilleri öçürmek.
Köp satyjy we feýlower: alternatiw PSP/KYC, marşrutlary üýtgetmek.
Konfigurasiýalary tassyklamak: şekilleri we çäkleri howpsuz üýtgetmek üçin shemalar/linerler/syýasatlar.
5) Üýtgeşmeleri dolandyrmak (Change Management)
Pre-release gates: synaglar, howpsuzlyk, CDC (consumer-driven contracts), shemalaryň laýyklygy.
Kanar çykyşy + awtogeýtler: 1% → 10% → 100%; p99/error rate/ýanýan býudjet ýokarlananda awto-stop.
Feature flags: deploi bolmazdan özüňi alyp barşyň derrew yza gaýdyp/üýtgemegi.
Release calendar: üpjün edijileriň arasynda iň ýokary sport/ýaryş penjirelerinden we maintenance penjirelerinden gaça durýarys.
Post-deploy checks: awto smok, "öň/soň" metriklerini bosagalar bilen deňeşdirmek.
6) Öňüni alyş çäresi hökmünde synag
Unit/contract/integration: OpenAPI/AsyncAPI, CDC şertnamalary üpjün edijä/moka garşy.
Ýüklemek & stress: esasy wagt üçin traffik profilleri; konnektleriň/IOPS/kwotalaryň çäkleri boýunça synaglar.
Soak/long-haul: çeşmeleriň syzmagy, sagat/gün gözýetiminde gijikdirmeleriň ýokarlanmagy.
Chaos/game-days: brokeriň ýykylmagy/PSP/KYC, sebitdäki boşluk, "haýal üpjün ediji".
"Disaster Recovery Drills": sebitleri üýtgetmek we DB-ni dikeltmek boýunça yzygiderli türgenleşikler.
7) Pese gaçmagy irki ýüze çykarmak
Capacity-alerts: headroom, lages nobatlar, konnektler DB, eviction caches.
SLO-burn-rate: býudjetiň "ýakylmagynyň" howply tizliginde signal.
Uýgunlaşma çäkleri: ýalanlary azaltmak üçin möwsümlilik/gündelik şablonlar.
Komponentli alertler: "lag ↑ + HPA at max + open circuit" ⇒ ýokary töwekgelçilik.
Vendor health: kwotalar/wagtlar/her bir üpjün ediji boýunça ýalňyşlyklar + jaňlaryň bahasy.
8) Daşarky üpjün edijiler bilen işlemek
OLA/SLA, SLO: şertnamalary maksatlarymyz bilen baglanyşdyrmak.
Feýloweriň Playbooks: PSP-X PSP-Y ugurlary, token nagt pullary, grace-depozit düzgünleri.
Sandbokslar we şertnamalar: her bir esasy üýtgeşmäniň öňündäki synag flowlary.
Üpjün edijileriň penjireleri: daşborddaky düşündirişler we awtomatiki suppress-düzgünler.
9) Maglumatlar, gapma-garşylyklar we syrlar
Üýtgetmek syýasaty: code-review iki jübüt göz, shemalary tassyklamak/JSON/YAML.
Syrlar: KMS/Secrets Manager, aýlaw, daşky gurşaw/rollar boýunça bölünişik.
Baýdaklar/çäkler: audit we derrew yzyna gaýtarmak bilen API arkaly üýtgetmek.
Göçmek: "iki ädimli" (expand → migrate → contract), jemi ters gabat gelmek.
10) Toparlaryň taýýarlygy we taýýarlygy
On-call okuwlary: hadysalaryň simulýasiýalary, Şadow-nobatlar, merkezleşdirilen runbook 'lar.
Aragatnaşygyň ýeke-täk formatlary: status/hendower/waka-täzelenme şablonlary.
Howpsuz medeniýet: aýyplamasyz postmortem, mehaniki sebäpler we öňüni alyş hereketleri.
11) Öňüni alyş tagtalary (iň az)
Risk & Readiness: SLO/býudjet, gatlaklar boýunça headroom, "iň gowşak baglanyşyklar".
Change Safety: kanareýalaryň göterimi, yza gaýdyp gelmek, "goýberilenden soň" alertleri, awtogeýtleriň CTR.
Wendor Panel: p95/error/kwotalar/her bir üpjün ediji üçin bahasy, wendoryň sapport jogap wagty.
Chaos/DR Readiness: maşklaryň ýygylygy, sebiti üýtgetmek wagty, dikeldişleriň üstünligi.
Config/SecOps: baýdaklaryň/çäkleriň/syrlaryň üýtgemegi, anomaliýalar.
12) Öňüni alyş alertleriniň mysallary
ALERT SLOBurnRateHigh
IF slo_error_budget_burnrate{name="payments_api"} > 4 FOR 10m
LABELS {severity="critical", team="payments"}
ALERT PostDeployRegression
IF (api_p99_ms{service="bets"} > baseline_1d 1. 3) AND (release_window="canary")
FOR 10m
LABELS {severity="warning", team="bets"}
ALERT ProviderQuotaNearLimit
IF usage_quota_ratio{provider="psp_x"} > 0. 9 FOR 5m
LABELS {severity="warning", team="integrations"}
ALERT QueueLagAtRisk
IF (kafka_consumer_lag{topic="ledger"} > 5e6 AND rate(kafka_consumer_lag[5m]) > 5e4)
AND (hpa_desired == hpa_max)
FOR 10m
LABELS {severity="critical", team="streaming"}
13) Öňüni alyş çek-sanawy (her gün/piklerden öň)
- Iň ýokary derejeleriň häzirki senenamasy (oýunlar, ýaryşlar, kampaniýalar, üpjün edijileriň penjireleri).
- API/DB/keş/nobatlar boýunça Headroom, HPA/VPA taýynlygy, keş gyzdyrmak.
- Üpjün edijileriň ýagdaýy (kwotalar, çäkler, 24 sagadyň dowamynda pese gaçmak), feýlower sazlandy.
- Kanareýanyň geýtleri goşulýar, yzyna gaýtarmagyň pullary eýelerine elýeterlidir.
- SLO/Capacity alertleri işjeň, suppression meýilleşdirilen işler üçin hasaba alyndy.
- Runbook 'we täzelendi, on-call tassyklandy, eskalasiýa kanallary işleýär.
14) Anti-pattern (nämelerden gaça durmaly)
Kanareýka we baýdaksyz "Uly gijeki neşirler".
Ähli daşarky akymlaryň umumy howuzlary (head-of-line blocking).
Indempotent däl amallar we dar ýerleriň wagtlary üçin retralar.
Alertlerde gisterezisiň ýoklugy → bosagada kesmek.
SDK wendora syn edilmezden we wagt dolandyryşsyz kör ynam.
Stage/sandbox we CDC-siz "Prod edeliň".
15) KPI öňüni alyş
Change Failure Rate (maksat ≤ 10-15% ýa-da maksat).
Pre-Incident Detect Rate: pese gaçmak döwründe öňüni alnan hadysalaryň paýy.
Mean Time Between Incidents (MTBI) и MTTR.
Gorag örtügi: baýdaklar/breýkerler/wagtlar/kanareýka bilen möhüm ýollaryň% -i.
Chaos/DR cadence: maşklaryň ýygylygy we üstünligi.
Wendor readiness: ätiýaçlyk üpjün edijä geçmegiň ortaça wagty.
16) Çalt başlamak (30 gün)
1-nji hepde: möhüm ýollaryň kartasy, SLO we eýeleri; SLO-burn-alertleri we capacity-alertleri öz içine alyň.
2-nji hepde: kanareýa geýtleri + fiçeflaglar; esasy chaos-ssenariýalary (üpjün ediji/nobat).
3-nji hepde: "Change Safety" we "Vendor Panel" dashbordlary, feýler-pleýbuklar.
4-nji hepde: DR-maşk (bölekleýin), retrospektiv we çärýek üçin hardening 'a meýilnamasy.
17) Şablonlar (bölekler)
Kanar awtogeýt syýasaty (şertli-YAML):
canary_policy:
guardrails:
- metric: api_p99_ms threshold: 1. 3 baseline_1d window: 10m action: pause_and_rollback
- metric: error_rate threshold: 2 baseline_1d window: 5m action: pause max_step: 10%
step_interval: 15m required_annotations: [release_notes, feature_flags, runbook_link]
Pese gaçmak meýilnamasy (konspekt):
safe_mode:
payments:
- freeze_heavy_providers
- enable_cached_token_flow
- route_to_psp_y_if(psp_x_error_rate > 5%)
games:
- limit_broadcasts
- reduce_lobby_heavy_widgets bets:
- raise_risk_score_threshold
- cache_odds_snapshot
18) FAQ
Q: Serişdeler az bolsa, ilki bilen näme durmuşa geçirmeli?
A: SLO-burn-kritiki ýollarda alertler, kanareýa geýtleri we gaýdyş fiçeflaglary; soňra - töwekgelçilik kartasy we üpjün edijileriň feýloweri.
Q: Öňüni almagyň "işleýändigine" nädip düşünmeli?
A: Change Failure Rate azalýar, öňüni alnan hadysalaryň paýy artýar, MTTR we alertleriň sesi düşýär, "gijeki" jaňlaryň sany azalýar.
S: Yzygiderli chaos-maşklar gerekmi?
A: Hawa. Maşk etmezden, feýlower we DR hemişe diýen ýaly kagyz ýüzünde görünýäninden has uzyn we agyryly.