Disaster Recovery Plan
1) Maksady, sebiti we ýörelgeleri
Maksat: IT platformasynyň düzgünleşdiriji talaplary, şertnamalary we oýunçylaryň garaşyşlaryny bozmazdan, betbagtçylyklardan soň (şol, kiber, wendor, geosyýasy) öz wagtynda dikeldilmegini üpjün etmek.
Sebit: öndürijilikli gurşaw (oýun kontury, tölegler, KYC/AML, antifrod, DWH/BI penjireleri), integrasiýa (PSP, KYC, CDN, studiýalar/agregatorlar), infrastruktura (bulut/K8s, torlar, syrlar/açarlar), maglumatlar (DD, faýllar, logi).
Ýörelgeler: safety-first, RTO/RPO-ny minimallaşdyrmak, awtomatlaşdyrmak we köpeltmek (IaC), "standart subut etmek", yzygiderli maşklar.
2) Ulgamlaryň klassifikasiýasy we dikeldiş maksatlary
2. 1 Kritiklik derejeleri
Tier-1 (möhüm): tölegler/kassautlar, core-oýunlar, login/autentifikasiýa, KUS/sanksiýalar.
Tier-2: Hakyky wagt seljermesi, marketing/CRM, DWH hasabaty.
Tier-3: içerki portallary, kömekçi hyzmatlary.
2. 2 Maksatlaýyn görkezijiler
RTO (Recovery Time Objective): hyzmatyň dikeldilmegine çenli wagt.
RPO (Recovery Point Objective): wagt boýunça maglumatlaryň ýitirilmegi.
RTA (Recovery Time Actual )/RPA (Recovery Point Actual): hakyky gymmatlyklar, hasabatlarda ýazylýar.
MTO/MBCO: iň çydamly iş wagty/iň az kabul ederlikli hyzmat derejesi (degraded mode).
- Tier-1 - RTO ≤ 30-60 min, RPO ≤ 15 min; Tier-2 — RTO ≤ 4 ч, RPO ≤ 1 ч; Tier-3 — RTO ≤ 24 ч, RPO ≤ 24 ч.
3) DR strategiýalary we arhitektura
3. 1 Topologiýalar
Active-Active (multi-region): minimal RTO/RPO, yzygiderliligi we gapma-garşylygy talap edýär.
Active-Standby (gyzgyn/ýyly/sowuk): çykdajylaryň/tizligiň deňagramlylygy.
Maglumatlary we açarlary geo bölmek: KMS/HSM per-region, BYOK, garaşsyz köpeltmek ýollary.
3. 2 Maglumatlar we bellikler
PITR (nokat-in-time recovery): geleşik ýazgylary, arhiw aralyklary ≤ Tier-1 üçin 5-15 minut.
Snepşotlar/full-bekaplar: gündelik/sagat, 3-2-1 shemasy boýunça saklamak (3 göçürme, 2 daşaýjy, 1 oflayn/ofsaýt).
Immutability: WORM/obýekt loki, gol/artefaktlaryň heş-zynjyrlary.
Dikeldiş katalogy: ekaplaryň inwentary, bitewiligi, möhleti, synag ýazgysy.
3. 3 Goşundylar we integrasiýa
States-services: IaC/CI arkaly çalt ýerleşdirmek.
Statful komponentleri: ylalaşylan snapshotlar, başlangyç yzygiderliliginiň orkestrasiýasy.
Integrasiýa (PSP/KYC/agregatorlar): goşa kredenşly, fallback-endpoints, gol çekilen webhuklar, gaýtadan eltip bermek gözegçiligi (idempotentlik).
4) Dikeldiş tertibi (umumy runbook)
1. DR ssenarisini yglan etmek → DR Incident Commander (DR-IC) bellemek, war-room-yň işe girizilmegi.
2. Zeper ýetmegine baha bermek: zeper ýeten sebitler/kiçi ulgamlar, aktual RTA/RPA, feýloweri işjeňleşdirmek karary.
3. Izolýasiýa/konteýner: başlangyç sebäpleri blokirlemek (tor ACL, syrlar, üpjün edijini öçürmek).
- tor/syrlar/KMS →
- DB/Storage/Cache →
- API/hyzmatlar → öň/CDN → daşarky integrasiýa.
- 5. Bitewiligi barlamak: kontr. "gury" soraglar, saglyk synaglary.
- 6. Maliýe/oýunlaryň dikeldilmegi: tölegleriň, stawkalaryň, balanslaryň deňeşdirilmegi, amallaryň idempotent gaýtalanmagy.
- 7. Aragatnaşyklar: status-sahypa, oýunçylar/hyzmatdaşlar/düzgünleşdirijiler; täzelenmeleriň wagty.
- 8. Syn etmek we durnuklaşdyrmak: kadalaşmagy bilen pese gaçmagyň hereketsizleşdirilmegi.
- 9. Post-mortem: RCA, CAPA, DRP täzelenmesi.
5) Ýöriteleşdirilen runbooks (bölekler)
5. 1 Esasy sebiti ýitirmek (Active-Standby → Standby)
yaml trigger: "loss_of_region_primary OR quorum_fail >= 5m"
prechecks:
- "secondary region green"
- "replication_lag <= 15m"
steps:
- DR-IC approves region_failover
- Platform: GSLB switch → secondary
- Data: promote replicas, enable PITR streams
- Apps: redeploy with region vars; warm caches
- QA: smoke tests (login, deposit, bet, payout)
- Comms: status-page + partner notice rollback: "switch-back after 60m stability window"
5. 2 Korrupsiýa DB/PITR-den dikeldiş
yaml trigger: "data_corruption_detected OR accidental_drop"
steps:
- Freeze writes (feature flag), snapshot evidence
- Restore to timestamp T (<= RPO)
- Reindex/consistency checks
- Replay idempotent events from queue (from T)
- Reopen writes in throttle mode validation: ["checksum_ok", "balance_diff=0", "orders_gap=0"]
5. 3 DR re modeiminde PSP bozulma
yaml trigger: "auth_rate_psp1 < baseline-3σ for 15m"
steps:
- Route X%→psp2, cap payouts, enable manual VIP
- Reconciliation plan T+0, alerts Finance
- Notify players in cashier; vendor escalation
6) Maglumatlaryň bitewiligi we reconciliation
Maliýe: goýumlary/tölegleri/komissiýalary deňeşdirmek, habarnamalary we webhuklary dezuplikasiýa bilen gaýtadan ibermek (idempotency-keys).
Oýun kontury: tapgyrlaryň ýagdaýlaryny dikeltmek, zerur bolanda hasaplamalary gaýtalamak, goşa hasapdan çykarylmakdan/hasapdan goramak.
Magazinesurnallar/audit: WORM-log "öň/soň", signatura/heş, yzygiderlilik hasabatlaryny deňeşdirmek.
DPO/komplayens hasabaty: PII-e täsir eden ýagdaýynda - masştabyň, wagtlaýynyň we habarnamalaryň kesgitlenmegi.
7) Esasy tehnologiýalar üçin DR (mysallar)
SUBD (relýasiýa): sinhron/asinhron replikasiýasy, WAL, fast-promote slotlary, gyzgyn stendbaýlar.
NoSQL/keşler: multiklaster, TTL-maýyplyk, sowuk doldurmak, gapma-garşylyksyz cross-region write-den ýüz öwürmek.
Nobatlar/akymlar: aýna topikler/klaster, süýşmelere gözegçilik, sarp edijileriň duplikasiýasy.
Obýekt ammary: wersiýalaşdyrmak, "bunkere" göçürmek, obýektleriň we retention syýasatynyň inwentary.
CI/CD/artefaktlar: sanawlaryň göçürmeleri, artefaktlaryň goly, möhüm konteýnerleriň oflayn nusgalary.
Syrlar/açarlar: KMS per-region, garaşsyz kök açarlary, magazineurnallaşdyrylan break-glass we TTL.
8) DR-de howpsuzlyk we gizlinlik
Iň az hukuklaryň ýörelgesi: Aýry-aýry rollarda/profillerde (JIT/PAM) DR-elýeterlilik.
Immutable backaps: offline/offsite, dikeldiş we açyş synagy.
Düzgünleşdiriji penjireler: Legal/DPO bilen bilelikde wakalary düzetmek we habarnamalar barada karar (düzgünleşdiriji/bank/PSP/ulanyjylar).
Yzarlamak ukyby: DR-toparyň hereketleriniň doly magazineurnaly, wagt ýazgysynyň goly.
9) Synaglaryň maşklary we görnüşleri
Walkthrough/Review: resminamany/rollary/aragatnaşyklary barlamak (çärýekde).
Tabletop: gapma-garşylyklary çözmek bilen "gury" ssenariýalara geçmek.
Technical partial: aýratyn hyzmatyň dikeldilmegi/DB.
Full failover/switch-over: traffigi we maglumatlary ätiýaçlyk sebite geçirmek.
Chaos-günler (gözegçilik edilýär): awtomatlary barlamak üçin näsazlyklar/şowsuzlyklar sanjymlary.
Her synag → RTA/RPA, sapmalar sanawy, CAPA we DRP täzelenmesi bilen hasabat.
10) Metrikler (KPI/KRI)
ORTA/RPA vs RTO/RPO (Tier-1): ≥ 95% laýyklyk.
DR Test Coverage: ≥ 2 doly DR-synag/ýyl + yzygiderli bölekleýin.
Wagt-to-First-Status: DR yglan edilenden soň 15 minut ≤.
Reconciliation Zero-Diff: deňsizliksiz ähli pul we oýun deňeşdirmeleri.
Backup Integrity: Saýlama dikeldişleriň 100% -i çärýekde üstünlikli boldy.
Config Drift: 0 primary/secondary (IaC-deňeşdirme) arasynda.
Howpsuzlyk in DR: 100% DR-hereketler magazineurnal we tassyklama bilen.
11) RACI (ulaldylan)
12) Çek-listler
12. 1 DR-e taýynlyk
- DR/Satyjylar/Sazlaýjylar toparynyň aragatnaşyklary täzelendi
- Greenaşyl köpeltmek, PITR-ni öz içine alýar, arka hatlaryň synag ýazgysy
- JIT/PAM, "break-glass" elýeterliligi barlandy
- Feýlower pleýbuklary we daşky gurşawyň üýtgeýjileri walidna
- Goşa credenshly/PSP/KYC webhukki, alternatiw ugurlar
- Sahypa ýagdaýy/habar şablonlary taýýar
12. 2 DR wagtynda
- DR-IC bellendi, açyk otag, wakalaryň wagty
- Sebäpleri izolýasiýa etmek, ssenariýany saýlamak, runbooks
- Bitewiligi barlamak, saglyk synaglary, smoke synaglary
- Ilkinji köpçülige täzelenme ≤ 15 minut; SLA boýunça hyzmatdaşlara/düzgünleşdirijilere bildirişler
- Derňew üçin artefaktlary ele almak
12. 3 DR-den soň
- Pul/oýunlaryň we magazinesurnallaryň doly barlagy
- Post-mortem, RCA, CAPA seneler we eýeler bilen
- DRP/BIA/kontakt/IaC täzelenmesi
- Fiksleri gaýtadan barlamak meýilnamasy
13) Şablonlar (bölekler)
13. 1 Hyzmat kartoçkasy (DR-pasport)
yaml service: payments-api tier: 1 dependencies: [auth, ledger-db, psp1, psp2, kms-eu]
rto: "45m"
rpo: "15m"
backups: {pitr: true, snapshots: "hourly", immutability: "7d"}
failover: {mode: "active-standby", regions: ["eu1","eu2"]}
runbooks: ["rb_failover_region", "rb_psp_degradation"]
health_checks: ["/healthz","/readyz"]
13. 2 DR-synag hasabaty (göçürme)
yaml test_id: DR-2025-10 scope: "Full switch-over eu1→eu2"
rta: "27m"
rpa: "11m"
issues:
- id: CAPA-117, desc: "долгое прогревание кэша", due: 2025-11-20, owner: SRE
- id: CAPA-118, desc: "устаревший webhook PSP#2", due: 2025-11-12, owner: Payments reconciliation: {finance: "ok", games: "ok"}
management_signoff: "2025-11-02"
13. 3 Habar ýagdaýy
[UTC+02] Идет аварийное переключение в резервный регион. Игры доступны, выводы временно ограничены. Средства игроков в безопасности. Следующее обновление через 15 минут.
14) Durmuşa geçirmegiň ýol kartasy (6-8 hepde)
Hepdeler 1-2: hyzmatlaryň we garaşlylyklaryň sanawy, Tier klassifikasiýasy, RTO/RPO maksatlary, topologiýalary saýlamak, DR-pasportlar.
3-4-nji hepdeler :/PITR/immutability ,/KMS syrlaryny köpeltmek, runbooks we statusy taýýarlamak.
Hepdeler 5-6: bölekleýin tehniki synaglar (BD/kesiş/nobatlar), PSP/KYC/sebit ssenarileri boýunça tabletop.
7-8 hepdeler: doly switch-over (mümkin boldugyça), RTA/RPA, CAPA, DRP täzelenmesi we yzygiderli synaglaryň meýilnamasy bilen hasabat.
15) Wiki-iň beýleki bölümleri bilen integrasiýa
Bilen baglanyşyk: BCP, Töwekgelçilikleriň sanawy, Waka-dolandyryş, Loglar syýasaty (WORM), TPRM we SLA, ISO 27001/27701, SOC 2, PCI DSS, RBAC/Least Privilege, Parol syýasaty we MFA, Dolandyryş üýtgetmek/goýbermek.
TL; DR
Iş DRP = açyk RTO/RPO by Tier → arhitektura Active-Active/Standby + immutable backaps/PITR → çalynýan runbooks we feylower → pul/oýun reconciliation → yzygiderli maşklar we CAPA. Şonda islendik uly şowsuzlyk düzgünleşdirijiler we oýunçylar üçin öňünden aýdyp boljak dikeldiş wagty we nol garaşylmadyk ýagdaýda dolandyrylýan prosedura öwrülýär.