GH GambleHub

DR-strategiyalar va RTO/RPO

1) Bazaviy prinsiplar

1. Maqsadlar mablag’lardan oldin. Avval RTO/RPO va tanqidiy stsenariylarni shakllantiramiz, so’ngra texnologiyani tanlaymiz.
2. Muhimligi bo’yicha segmentatsiya. Barcha xizmatlar «oltin» talab qilmaydi; biznes tanqidiyligiga qarab bo’ling.
3. Ma’lumotlar - DR. yadrosi. Konsistentlik, replikatsiya, buzilishni aniqlash va tiklanish nuqtasi «temirdan» muhimroqdir.
4. Avtomatlashtirish va tekshirish. DR IaC, tiklanish regress-testlari va telemetriyasiz ma’nosiz.
5. Ta’limotlar va dalillar. Muntazam «game day» bo’lmagan reja - tayyorlik xayolidir.
6. Xavfsizlik va komplayens. Shifrlash, izolyatsiya, WORM/immutable-backaplar, DPA/yurisdiksiyalar.

2) Atamalar va muvofiqliklar

RTO - voqea sodir bo’lgan paytdan boshlab xizmatni tiklashgacha bo’lgan vaqt.
RPO - tiklanishdagi so’nggi sog’lom ma’lumotlar nuqtasining «yoshi».
RLO (Recovery Level Objective) - qayta tiklanishi kerak bo’lgan funksional daraja (minimal hayotiy xizmat).
MTD (Maximum Tolerable Downtime) - biznes nomaqbul zarar ko’radigan chegara.
RTA/RPA (Actual) - amaldagi tiklanish vaqti/nuqtasi.

Aloqa: RTO ≤ MTD; RPA ≤ RPO. Maqsad va fakt orasidagi tafovut - postmortem va yaxshilanishlar predmetidir.

3) DR-strategiyalar klasslari (tayyorgarlik darajalari)

DarajaTavsifiTipik RTO/RPOQiymatiQoʻllash
Backup/RestoreFaqat arxalar va atrof-muhit tasviriRTO: soat-kun, RPO: soat$Tanqidiy bo’lmagan tizimlar, hisobotlar
Pilot Light«Spark»: minimal stek oshirildi, ma’lumotlar takrorlanmoqdaRTO: o’nlab daqiqa-soat, RPO: daqiqa-soat$$O’rtacha tanqidiylik, tejash
Warm StandbyIssiq stend: deyarli tayyor, past yukRTO: daqiqa- $$$B2C-yadro, to’lov shlyuzlari
Active/PassiveTo’liq passiv klon, avtomatik feyloverRTO: daqiqa, RPO: soniya-daqiqa$$$$Missiya-tanqidiy API
Active/ActiveIkkala maydon ham proddaRTO ≈ 0, RPO ≈ 0-sek. $$$$$Ekstremal SLO, global mahsulotlar
💡 Qoida: biznes tavakkalchilikka mos keladigan minimal darajani tanlang.

4) Biz himoya qiladigan stsenariylar

Mintaqa/bulut/Ma’lumotlar markazining yo’qolishi (elektr, tarmoq, provayder).
Ma’lumotlar korrupsiyasi/operator xatosi (o’chirish, «singan» nusxalar, mantiqiy buzilish).
Zararli dasturiy ta’minot/shifrlovchi (ransomware).
Reliz/konfiguratsiya nuqsoni (ommaviy outage).
Qaramlikning qulashi (KMS, DNS, sirlar, to’lov provayderi).
Yuridik voqealar (blokirovka qilish, yurisdiksiyadan ma’lumotlarni olib chiqishni taqiqlash).

Har bir stsenariy uchun mas’ul bo’lgan RTO/RPO, DR darajasi, pleybukni ko’rsating.

5) Ma’lumotlar strategiyasi (RPO kaliti)

5. 1 Bekaplar

To’liq + inkremental + tranzaksiya daftarlari (DB uchun).
Immutable/WORM omborlari va oflayn nusxalari («air-gapped»).
Meta-ma’lumotlar va kripto imzolari bo’lgan bekaplar katalogi; jadval bo’yicha test tiklanishi.

5. 2 Replikatsiya

Sinxron (past RPO, ↑ yashirin, buzilish xavfi).
Asinxron (perfga ta’siri past, RPO> 0; buzilish detektori bilan birlashtirish).
CDC (Change Data Capture) oqim replikatsiyasi va holatni qayta qurish uchun.

5. 3 Mantiqiy buzilishdan himoya qilish

Version/» vaqt nuqtasi» (PITR) ≥ N kun oynasi bilan.
Invariantlar signaturasi (balanslar, summalar, cheksummalar) - «singan» ma’lumotlarning erta detekti.
«Sekin» replikatsiya kanallari (delay 15-60 min) shoshilinch buzilishga qarshi bufer sifatida.

Tiklash nuqtasini tanlash eskizi:
python def pick_restore_point(pitr, anomaly_signals, max_age):
healthy = [p for p in pitr if not anomaly_signals. after(p. time)]
return max(healthy, key=lambda p: p. time if now()-p. time <= max_age else -1)

6) Ilova, holat, kesh

Stattless qatlam - har qanday mintaqada kattalashtirish va qayta ishga tushirish (Git’dagi rasm/chartlar/manifestlar).
Holat (DB/kesh/kyu): haqiqat manbai - DBlardan biri; keshlar va indekslar qayta ishlab chiqiladi.
Idempotentlik va re-drive - voqealarni qayta yetkazib berish mumkin; outbox/inbox, dedup va versiyalardan foydalaning.

7) Tarmoq va kirish nuqtasi

GSLB/DNS-faylover: latency/health-based, qisqa TTL avariya oynasiga.
Anycast/L7-proksi: yagona IP, hududlar salomatligi bo’yicha marshrut.
Mintaqaviy domenlar va yurisdiksiyalar siyosati (PII uchun geo-pinning).
Sertifikatlar/KMS feyloveri: zaxira zanjirlar, dual-key.

Feylover soxta hujjati:
python if slo_breach("region-a") or health("region-a")==down:
route. shift(traffic, from_="region-a", to="region-b", step=20) # канарим enable_readonly_if_needed()

8) Operatsion model va avtomatlashtirish

IaC/GitOps: ikkinchi mintaqa infratuzilmasi = kod, «bir toqli» joylashtirish.
Policy as Code: gate «hech qanday DR-manifest/backup/alert - hech qanday reliz».
Runbooks: har ikki mintaqaga oʻxshash bosqichma-bosqich koʻrsatmalar va «qizil tugma».
Sirlar: qisqa umr ko’radigan kredlar, OIDC federatsiyasi, murosaga keltirish/chaqirib olish rejasi.

Gate (gʻoya):
rego package dr deny["Missing PITR ≥ 7d"] {
input. db. pitr_window_days < 7
}
deny["No restore test in 30d"] {
now() - input. db. last_restore_test > 3024h
}

9) Mashqlar va testlar (Game Days)

Stsenariylar jadvali: MB yo’qolishi, «buzilgan» ma’lumotlar, KMS nosozligi, mintaqaning pasayishi, to’satdan egress-limit.
Chastota: har chorakda - kritik missiyalar uchun; yarim yilda bir marta - qolganlari uchun.
O’quv metrikasi: RTA/RPA vs maqsadlar, avtomatik qadamlar ulushi, qo’lda aralashuvlar soni, pleybukdagi xatolar.
Relizlardagi Chaos-smoke: qaramlikning tanazzulga uchrashi DR yoʻllarini buzmasligi kerak.

Mini-mashqlar misoli:

T0: cut off the primary database (firewall drop)
T + 2m: GSLB shift 20% of traffic, then 100% at SLO_ok
T + 6m: checking business invariants and lag replication
T + 10m: post-drill: fixing RTA/RPA, playbook improvements

10) Pleybuklar (kanonik shablon)

yaml playbook: "dr-failover-region-a-to-b"
owner: "platform-sre"
rto: "15m"
rpo: "5m"
triggers:
- "health(region-a)==down"
- "slo_breach(payments)"
prechecks:
- "backup_catalog ok; last_restore_test < 30d"
- "pitr_window >= 7d"
steps:
- "Announce incident; open war-room; assign IC"
- "Freeze writes in region-a (flag write_readonly)"
- "Promote db-b to primary; verify replication stopped cleanly"
- "Shift GSLB 20%→50%→100%; monitor p95/error"
- "Enable compensations and re-drive queues"
validation:
- "Business invariants (balances, duplicate_checks)"
- "Synthetic tests green; dashboards stable 30m"
rollback:
- "If db-b unhealthy: revert traffic; engage restore from PITR T-Δ"
comms:
- "Status updates each 15m; external note if SEV1"

11) DR kuzatish metrikasi

Replica lag (sek.), RPO-drift (maqsadli va haqiqiy RPO o’rtasidagi farq).
Restore SLI: atrof-muhit bo’yicha sovuq/iliq tiklanish vaqti.
Coverage: pleybuklar/backaplar bilan xizmatlar %/PITR ≥ N kun.
Drill score: avtomatik qadamlar ulushi, RTA taqsimoti, xato chastotasi.
Immutabellik: WORM/air-gapped’dagi orqa qo’shimchalar%.
Hodisa metrikasi: navbat uzunligi/feyloverdan keyingi re-drive tezligi.

12) Qiymat va murosalar

CapEx/OpEx: issiq stend Active/Active-dan arzonroq, ammo Pilot Light-dan qimmatroq.
Egress: mintaqalararo/bulutlararo replikatsiya pul turadi; kesh/kompresssiya/lokal agregatlar.
RTO/RPO vs $: RPOning har bir «toʻqqiztasi» va soniyasi bir necha baravar qimmat - biznes bilan kelishing.
Yashil oynalar: batch-replikatsiyalar - arzon/« yashil »soatlarda.

13) Xavfsizlik va komplayens

«Tinch» va «tranzitda» shifrlash, mintaqalar bo’yicha alohida KMS domenlari.
Immutable-backaplar, ransomware himoyasi: «3-2-1» (3 nusxa, 2 ta tashuvchi, 1 ta oflayn), MFA-delete.
Yurisdiksiyalar: PII uchun geo-pinning, bekaplarni mahalliylashtirish, TTL ustidagi Legal Hold.
Vaqt boʻyicha foydalanish: DR operatsiyalari uchun vaqtinchalik rollar, audit jurnali.

14) Anti-patternlar

«Rejani keyinroq yozamiz» - ta’limotsiz DR.
Mantiqiy buzilishdan himoyalanmagan replikatsiya xatoni tezda ko’paytiradi.
Bitta KMS/maxfiy hudud - feylover mumkin emas.
Doimiy tiklanishsiz bekaplar - «shredinger» DR.
Hududlar o’rtasidagi sinxron tranzaksiyalar - kaskadli latentlik/pasayish.
Hech qanday ustuvorlik yo’q: hamma narsa uchun bir xil DR darajasi (qimmat va foydasiz).

15) Arxitektorning chek-varaqasi

1. Servislar va stsenariylar boʻyicha RTO/RPO/RLO aniqlanganmi?
2. Maʼlumotlar tasniflandi: haqiqat manbai, PITR/oyna, WORM/immutable?
3. DR (Backup/Restore, Pilot, Warm, A/P, A/A) per-servis darajasi tanlanganmi?
4. Tarmoq: GSLB/Anycast, sertifikatlar/zaxirali kalitlar, «read-only» bayroqlari?
5. Ilova: idempotentlik, outbox/inbox, kompensatsiya tranzaksiyalari?
6. IaC/GitOps/Policy as Code: Ikkinchi mintaqa uchun bitta bosish?
7. Mashg’ulotlar: jadval, KPI RTA/RPA, o’qishdan keyingi harakatlar?
8. Monitoring: lag, RPO-drift, restore-SLI, drill-score, immutable backaplar?
9. Xavfsizlik/komplayens: KMS-domenlar, yurisdiksiyalar, Legal Hold?
10. Qiymati: egress byudjeti, «yashil» derazalar, iqtisodiy asoslangan daraja?

16) Mini-retseptlar va sketchlar

16. Postgres uchun 1 PITR (g’oya):

bash base backup daily + WAL archive pg_basebackup -D/backups/base/$ (date +% F)
archive_command='aws s3 cp %p s3://bucket/wal/%f --sse'
restore pg_restore --time "2025-10-31 13:21:00Z"...

16. 2 Mantiqiy buzilishdan himoya qilish (kechiktirilgan replika):

yaml replication:
mode: async apply_delay: "30m" # window to roll back on corruption

16. 3 Trafikni almashtirish (psevdo-API GSLB):

bash gslb set-weight api. example. com region-a 0 gslb set-weight api. example. com region-b 100

16. 4. Feyloverdan (psevdokoddan) keyin invariantlarni tekshirish:

python assert total_balance(all_accounts) == snapshot_total assert no_duplicates(events_since(t_failover))

Xulosa

DR - bu texnik va tashkiliy qarorlar qabul qilish qobiliyati. Real RTO/RPOlarni aniqlang, yetarli darajadagi tayyorgarlikni tanlang, infratuzilma va tekshirishlarni avtomatlashtiring, muntazam ravishda mashq qiling va haqiqiy RTA/RPAni o’lchang. Shunda baxtsiz hodisa falokatga emas, balki boshqariladigan va bashorat qilinadigan hodisaga aylanadi.

Contact

Biz bilan bog‘laning

Har qanday savol yoki yordam bo‘yicha bizga murojaat qiling.Doimo yordam berishga tayyormiz.

Telegram
@Gamble_GC
Integratsiyani boshlash

Email — majburiy. Telegram yoki WhatsApp — ixtiyoriy.

Ismingiz ixtiyoriy
Email ixtiyoriy
Mavzu ixtiyoriy
Xabar ixtiyoriy
Telegram ixtiyoriy
@
Agar Telegram qoldirilgan bo‘lsa — javob Email bilan birga o‘sha yerga ham yuboriladi.
WhatsApp ixtiyoriy
Format: mamlakat kodi va raqam (masalan, +998XXXXXXXX).

Yuborish orqali ma'lumotlaringiz qayta ishlanishiga rozilik bildirasiz.