GH GambleHub

Disaster Recovery Plan

1) Təyinatı, sahəsi və prinsipləri

Məqsəd: oyunçuların tənzimləmə tələblərini, müqavilələrini və gözləntilərini pozmadan fəlakətlərdən sonra İT platformasının vaxtında bərpasını təmin etmək.
Sahə: məhsuldar mühit (oyun dövrəsi, ödənişlər, KYC/AML, antifrod, DWH/BI vitrinləri), inteqrasiya (PSP, KYC, CDN, studiyalar/aqreqatorlar), infrastruktur (bulud/K8s, şəbəkələr, sirlər/açarlar), məlumatlar (DD, fayllar, loqlar).
Prinsipləri: safety-first, minimallaşdırma RTO/RPO, avtomatlaşdırma və reproduktivlik (IaC), «default sübut», müntəzəm təlimlər.


2) Sistemlərin təsnifatı və bərpa məqsədləri

2. 1 Kritik səviyyələr

Tier-1 (həyati): ödənişlər/kassautlar, core oyunlar, giriş/autentifikasiya, KUS/sanksiyalar.
Tier-2: real vaxt analitikası, marketinq/CRM, DWH hesabat.
Tier-3: daxili portallar, köməkçi xidmətlər.

2. 2 Hədəf göstəriciləri

RTO (Recovery Time Objective): xidmətin bərpasına qədər olan vaxt.
RPO (Recovery Point Objective): icazə verilən vaxt itkisi.
RTA (Recovery Time Actual )/RPA (Recovery Point Actual): faktiki dəyərlər, hesabatlarda qeyd olunur.
MTO/MBCO: Maksimum dayanma müddəti/minimum məqbul xidmət səviyyəsi (degraded mode).

Hədəf nümunəsi (istinad üçün):
  • Tier-1 - RTO ≤ 30-60 dəq, RPO ≤ 15 dəq; Tier-2 — RTO ≤ 4 ч, RPO ≤ 1 ч; Tier-3 — RTO ≤ 24 ч, RPO ≤ 24 ч.

3) DR strategiyaları və memarlıq

3. 1 Topologiyalar

Active-Active (multi-region): minimum RTO/RPO, tutarlılıq və münaqişə tələb edir.
Active-Standby (isti/isti/soyuq): xərclər/sürət balansı.
Məlumat və açarların geo-ayrılması: KMS/HSM per-region, BYOK, müstəqil replikasiya yolları.

3. 2 Data və Backup

PITR (point-in-time recovery): əməliyyat jurnalları, arxivləşdirmə intervalları ≤ Tier-1 üçün 5-15 dəq.
Snepshots/full-backup: gündəlik/saat, saxlama sxemi 3-2-1 (3 nüsxə, 2 media, 1 offline/offsayt).
Immutability: WORM/obyekt locks, imza/hash-zəncir artefaktları.
Bərpa kataloqu: arxa inventar, bütövlük, son istifadə müddəti, test deşifrləri.

3. 3 Proqramlar və inteqrasiya

States Services: IaC/CI vasitəsilə sürətli yerləşdirmə.
Statful komponentləri: razılaşdırılmış snapshotlar, başlanğıc ardıcıllığının orkestrasiyası.
İnteqrasiyalar (PSP/KYC/aqreqatorlar): ikiqat credenshly, fallback-enpoints, imzalanmış vebhuks, təkrar çatdırılma nəzarəti (idempotent).


4) Bərpa proseduru (ümumi runbook)

1. DR Script elanı → DR Incident Commander (DR-IC) təyinatı, war-room başlamaq.
2. Zərərin qiymətləndirilməsi: təsirlənmiş bölgələr/alt sistemlər, aktual RTA/RPA, feyloverin aktivləşdirilməsi haqqında qərar.
3. İzolyasiya/konteynment: ilkin səbəblərin bloklanması (şəbəkə ACL, sirlər, provayderin bağlanması).

4. DR başlanğıc:
  • şəbəkə/sirləri/KMS →
  • DB/saxlama/cache →
  • API/xidmətlər → ön/CDN → xarici inteqrasiya.
  • 5. Bütövlük testi: kontr. məbləğlər, «quru» sorğular, sağlamlıq testləri.
  • 6. Maliyyə/oyunların Reconciliation: ödənişlərin, dərəcələrin, balansların müqayisəsi, əməliyyatların idempotent təkrarlanması.
  • 7. Rabitə: status-səhifə, oyunçular/tərəfdaşlar/tənzimləyicilər; timline yeniləmələr.
  • 8. Müşahidə və sabitləşdirmə: deqradasiyanın normallaşması ilə deaktivasiyası.
  • 9. Post-mortem: RCA, CAPA, DRP yeniləmə.

5) Xüsusi runbooks (fraqmentlər)

5. 1 Əsas bölgənin itkisi (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 Korrupsiya DB/PITR bərpa

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 rejimində PSP deqradasiyası

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) Məlumatların bütövlüyü və reconciliation

Maliyyə: depozitlərin/ödənişlərin/komissiyaların yoxlanılması, bildirişlərin və vebhukların təkrar göndərilməsi (idempotency-keys).
Oyun konturu: raundların vəziyyətinin bərpası, lazım olduqda hesablaşmaların təkrarlanması, ikiqat silinmələrdən/hesablamalardan qorunma.
Jurnallar/audit: WORM-loqların «əvvəl/sonra», siqnal/hash, ardıcıllıq hesabatları.
DPO/Komplayens hesabatı: PII-yə təsir olduqda - miqyasın, vaxtın və bildirişlərin fiksasiyası.


7) Əsas texnologiyalar üçün DR (nümunələr)

SUBD (relational): sinxron/asenxron replikasiya, WAL yuvaları, fast-promote, isti stendbay.
NoSQL/caches: multiklaster, TTL-əlillik, soyuq doldurma, cross-region write münaqişə olmadan imtina.
Növbələr/axınlar: güzgü topikləri/klasterləri, yerdəyişmələrə nəzarət, istehlakçıların təkrarlanması.
Obyekt anbarı: versiyalaşdırma, "bunker 'ə replikasiya, obyektlərin inventarı və retention siyasəti.
CI/CD/artefaktlar: reyestrlərin replikaları, artefaktların imzası, kritik konteynerlərin oflayn surətləri.
Sirləri/açarları: KMS per-region, müstəqil kök açarları, jurnallaşdırma və TTL ilə break-glass.


8) DR təhlükəsizlik və məxfilik

Ən kiçik hüquqlar prinsipi: ayrı rollar/profillər (JIT/PAM) ilə DR-girişlər.
Immutable backup: offline/offsite, bərpa və deşifrə testi.
Tənzimləyici pəncərələr: Legal/DPO ilə birlikdə hadisələrin qeydə alınması və bildiriş qərarı (tənzimləyici/bank/PSP/istifadəçilər).
İzlənilebilirlik: DR-komanda fəaliyyətinin tam jurnalı, vaxt xətti imzası.


9) Təlimlər və test növləri

Walkthrough/Review: sənədin/rolların/kontaktların yoxlanılması (rüblük).
Tabletop: konfliktlərin həlli ilə «quru» üçün ssenari qaçışı.
Technical partial: fərdi xidmətin bərpası/DB.
Full failover/switch-over: trafikin və məlumatların ehtiyat bölgəyə köçürülməsi.
Chaos-gün (nəzarət): avtomatik yoxlama üçün nasazlıqlar/nasazlıqlar inyeksiya.

ORTA/RPA, sapmalar siyahısı, CAPA və DRP yenilənməsi ilə hər test → hesabat.


10) Metriklər (KPI/KRI)

RTA/RPA vs RTO/RPO (Tier-1): ≥ 95% uyğunluq.
DR Test Coverage: ≥ 2 tam DR test/il + müntəzəm qismən.
Time-to-First-Status: DR elanından sonra ≤ 15 dəq.
Reconciliation Zero-Diff: uyğunsuzluqlar olmadan bütün pul və oyun müqayisə.
Backup Integrity: Seçmə bərpa 100% rüb ərzində uğurlu.
Config Drift: primary/secondary (IaC-müqayisə) arasında 0 drift.
Security in DR: 100% jurnal və təsdiq ilə DR-fəaliyyət.


11) RACI (böyük)

AktivlikDR-ICPlatform/SREData/DBASecurity/DPOPaymentsRisk/KYCProduct/EngComms/PRLegal/Compliance
DR elanıA/RCCCCCCCC
Feylover/YüksəlişCA/RRCCCRII
Validasiya/SağlamlıqCRA/RCCCRII
ReconciliationIRA/RIRRRII
KommunikasiyalarIIICCCIA/RC
Tənzimləyicilər/PSPIIIA/RRRICR
Post-Mortem/SARAA/RRRRRRRCC

12) Çek vərəqləri

12. 1 DR hazırlıq

  • Yenilənmiş DR-komanda/satıcılar/tənzimləyicilər əlaqə
  • Yaşıl replikasiya, PITR daxil, backup test transkripsiyası
  • JIT/PAM Accessories, «break-glass» yoxlanılır
  • Faylover playbook və dəyişən mühit validna
  • Cüt Credenshly/PSP/KYC vebhuk, alternativ marşrutlar
  • Status-səhifə/mesaj şablonları hazırdır

12. 2 DR zamanı

  • DR-IC təyin, açıq war-room, time-line hadisələr
  • İzolyasiya səbəbləri, ssenari seçimi, runbooks başlamaq
  • Bütövlük testləri, sağlamlıq testləri, smoke testləri
  • İlk ictimai yeniləmə ≤ 15 dəq; SLA tərəfdaşlarına/tənzimləyicilərinə bildirişlər
  • Araşdırma üçün artefaktların tutulması

12. 3 DR sonra

  • Pul/oyun və jurnalların tam yoxlanılması
  • Post-mortem, RCA, CAPA tarixləri və sahibləri ilə
  • DRP/BIA/Əlaqə/IaC yeniləmə
  • Yenidən fiks test planı

13) Şablonlar (fraqmentlər)

13. 1 Xidmət kartı (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 test hesabatı (çıxarış)

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 Status-mesaj şablonu


[UTC+02] Идет аварийное переключение в резервный регион. Игры доступны, выводы временно ограничены. Средства игроков в безопасности. Следующее обновление через 15 минут.

14) Yol xəritəsi (6-8 həftə)

1-2 həftələr: xidmətlərin və asılılıqların inventarlaşdırılması, Tier təsnifatı, RTO/RPO məqsədləri, topologiyaların seçimi, DR-pasportlar.
3-4 həftələr: backup/PITR/immutability, secrets replication/KMS, runbooks və status hazırlanması həyata.
5-6 həftələr: qismən texniki testlər (BD/cache/növbələr), PSP/KYC/region ssenariləri tabletop.
7-8 həftələr: tam switch-over (mümkünsə), RTA/RPA, CAPA, DRP yeniləmə və müntəzəm test planı ilə hesabat.


15) Digər wiki bölmələri ilə inteqrasiya

Əlaqə: BCP, Risk Reyestri, Hadisə Menecmenti, Log Siyasəti (WORM), TPRM və SLA, ISO 27001/27701, SOC 2, PCI DSS, RBAC/Least Privilege, Parol Siyasəti və MFA, İdarəetmə dəyişikliklər/buraxılışlar.


TL; DR

İşçi DRP = Tier aydın RTO/RPO → Active-Active/Standby memarlıq + immutable backup/PITR → playable runbooks və faylover → pul reconciliation/oyun → müntəzəm təlim və CAPA. Sonra hər hansı bir böyük uğursuzluq tənzimləyicilər və oyunçular üçün proqnozlaşdırıla bilən bərpa müddəti və sıfır sürprizləri ilə idarə olunan bir prosedura çevrilir.

Contact

Bizimlə əlaqə

Hər hansı sualınız və ya dəstək ehtiyacınız varsa — bizimlə əlaqə saxlayın.Həmişə köməyə hazırıq!

İnteqrasiyaya başla

Email — məcburidir. Telegram və ya WhatsApp — istəyə bağlıdır.

Adınız istəyə bağlı
Email istəyə bağlı
Mövzu istəyə bağlı
Mesaj istəyə bağlı
Telegram istəyə bağlı
@
Əgər Telegram daxil etsəniz — Email ilə yanaşı orada da cavab verəcəyik.
WhatsApp istəyə bağlı
Format: ölkə kodu + nömrə (məsələn, +994XXXXXXXXX).

Düyməyə basmaqla məlumatların işlənməsinə razılıq vermiş olursunuz.