GH GambleHub

DR-strategiýalary we RTO/RPO

1) Esasy ýörelgeler

1. Maksatlar serişdelerden öň. Ilki bilen RTO/RPO we möhüm ssenarileri düzýäris, soň bolsa tehnologiýany saýlaýarys.
2. Ähmiýeti boýunça segmentasiýa. Hyzmatlaryň hemmesi "altyn" talap etmeýär; iş kritikligi boýunça bölüň.
3. Maglumatlar DR. ýadrosydyr. Yzygiderlilik, köpeltmek, zaýalanmagy ýüze çykarmak we dikeldiş nokady "demirden" has möhümdir.
4. Awtomatlaşdyrylmagy we barlanylyşy. DR IaC, dikeldiş synaglary we telemetriýa bolmazdan manysyz.
5. Taglymatlar we subutnamalar. Yzygiderli "oýun güni" bolmadyk meýilnama - taýynlyk hyýaly.
6. Howpsuzlyk we laýyklyk. Şifrlemek, izolýasiýa, WORM/immutable-backup, DPA/ýurisdiksiýa.

2) Adalgalar we laýyklyklar

RTO - wakadan hyzmatyň dikeldilmegine çenli wagt "kadaly".
RPO - dikeldilende iň soňky sagdyn maglumat nokadynyň "ýaşy".
RLO (Recovery Level Objective) - dikeldilmeli funksiýa derejesi (iň az durmuşa ukyply hyzmat).
MTD (Maximum Tolerable Downtime) - işiň kabul ederliksiz zyýan çekýän bosagasy.
RTA/RPA (Actual) - amallardan hakyky dikeldiş wagty/nokady.

Aragatnaşyk: RTO ≤ MTD; RPA ≤ RPO. Maksatlar bilen faktyň arasyndaky boşluk - postmortemiň we gowulaşmalaryň predmeti.

3) DR strategiýalarynyň synplary (taýýarlyk derejeleri)

DerejeDüşündirişAdaty RTO/RPOBahasyUlanyş
Backup/RestoreDiňe yzlar we daşky gurşawyň şekiliRTO: sagat-gün, RPO: sagat$Kritiki däl ulgamlar, hasabat
Pilot Light"Çyra": iň az stek ýokarlandy, maglumatlar köpelýärRTO: onlarça minut-sagat, RPO: minut-sagat$$Ortaça kritiklik, tygşytlamak
Warm StandbyÝyly stend: taýýar diýen ýaly, pes ýükRTO: minut- $$$B2C-ýadro, töleg şlýuzlary
Active/PassiveDoly passiw klon, awtomatiki feýlowerRTO: minut, RPO: sekunt-minut$$$$Wezipe-möhüm API
Active/ActiveIki bölekRTO ≈ 0, RPO ≈ 0-sek. $$$$$Ekstremal SLO, global önümler
💡 Düzgün: iş töwekgelçiligine laýyk gelýän iň az ýeterlik derejäni saýlaň.

4) Özümizi goraýan ssenariýalar

Sebitiň/bulutyň/maglumat merkeziniň ýitmegi (elektrik, tor, üpjün ediji).
Maglumatlaryň korrupsiýasy/operatoryň ýalňyşlygy (aýyrmak, "döwülen" sözler, logiki zaýalanmak).
Zyýanly programma üpjünçiligi/şifrleýji (ransomware).
Çykyş/konfigurasiýa kemçiligi (köpçülikleýin çykyş).
Garaşlylygyň çökmegi (KMS, DNS, syrlar, töleg üpjün edijisi).
Hukuk hadysalary (petiklemek, maglumatlaryň ýurisdiksiýadan çykarylmagyny gadagan etmek).

Her ssenariýa üçin jogapkär RTO/RPO, DR derejesini, pleýbuky görkeziň.

5) Maglumat strategiýalary (RPO açary)

5. 1 Bellikler

Doly + goşmaça + geleşik žurnallary (DB üçin).
Immutable/WORM-ammar we awtonom göçürmeler ("air-gapped").
Meta-maglumatlar we kriptografik gollar bilen bellikleriň katalogy; synag tertibi boýunça dikeldiş.

5. 2 Köpeltmek

Sinhron (pes RPO, ↑ gizlinlik, zeper ýetmek howpy).
Asinhron (pes täsir, RPO> 0; zaýalanma detektory bilen birleşdiriň).
CDC (Change Data Capture) akym köpeltmek we ýagdaýy täzeden gurmak üçin.

5. 3 Logiki zaýalanmakdan goramak

≥ N gün penjiresi bilen wersiýa/" wagt nokady" (PITR).
Inwariantlaryň belgileri (balanslar, pullar, çeksumlar) - "döwülen" maglumatlaryň irki detekti.
"Haýal" köpeltmek kanallary (delay 15-60 min) derrew zaýalanmagyna garşy bufer hökmünde.

Dikeldiş nokadyny saýlamak üçin eskiz:
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) Programma, ýagdaý, keş

Statessiz gatlak - islendik sebitde ulalýarys we täzeden açýarys (Git-de şekil/çart/manifestolar).
Döwlet (DB/keş/kyu): hakykat çeşmesi - DB-leriň biri; kesmeler we indeksler gaýtadan dikeldilýär.
Idempotentlik we re-drive - wakalary gaýtadan eltmäge rugsat berilýär; outbox/inbox, dedup we wersiýalary ulanyň.

7) Tor we giriş nokady

GSLB/DNS-feýlower: latency/health-based, gysga TTL heläkçilik penjiresine.
Anycast/L7-proxy: ýeke-täk IP, sebitleriň saglygy boýunça marşrut.
Sebitleýin domenler we ýurisdiksiýa syýasaty (PII üçin geo-pinning).
Sertifikat feýloweri/KMS: ätiýaçlyk zynjyrlary, dual-key.

Feýloweriň ýalan resminamasy:
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) Iş modeli we awtomatlaşdyryş

IaC/GitOps: ikinji sebitiň infrastrukturasy = kod, "bir nokatly" ýerleşdirme.
Policy as Code: gate "DR-manifestleri/bellikleri/alertleri ýok - goýberilmeýär".
Runbooks: ädimme-ädim görkezmeler we iki sebit üçin birmeňzeş "gyzyl düwme".
Syrlar: gysga ömürli kreditler, OIDC federasiýasy, eglişik/yzyna çagyryş meýilnamasy.

Gate (pikir):
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) Maşklar we synaglar (Oýun günleri)

Ssenariler tablisasy: DB ýitirilmegi, "döwülen" maglumatlar, KMS-iň şowsuzlygy, sebitiň ýykylmagy, birden egress-çäk.
Ýygylyk: möhüm missiýa üçin çärýekleýin; her alty aýda bir gezek - galanlary üçin.
Türgenleşigiň metrikleri: RTA/RPA vs maksatlar, awtomatiki ädimleriň paýy, el bilen gatyşmalaryň sany, pleýbukyň ýalňyşlyklary.
Neşirlerde Chaos-smoke: endikleriň zaýalanmagy DR ýollaryny "bozmaly" däldir.

Kiçi türgenleşigiň mysaly:

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) Pleýbuklar (kanoniki şablon)

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) Gözegçilik ölçegleri DR

Replica lag (sek.), RPO-drift (maksatly we hakyky RPO-laryň arasyndaky tapawut).
Dikeldiş SLI: daşky gurşaw boýunça sowuk/ýyly dikeldiş wagty.
Coverage: playbook/backup hyzmatlarynyň% -i/PITR ≥ N gün.
Drill score: awtomatiki ädimleriň paýy, RTA paýlanyşy, ýalňyşlyklaryň ýygylygy.
Immutability: WORM/air-gapped-de% yzlar.
Waka metrikleri: nobatlaryň uzynlygy/feilowerden soň re-drive tizligi.

12) Bahasy we eglişikleri

CapEx/OpEx: Active/Active-den arzan, ýöne Pilot Light-dan has gymmat.
Egress: sebitara/bulutara replikasiýa pul çykdajylary; keş/gysyş/lokal agregatlar.
RTO/RPO vs $: Elýeterliligiň her "dokuzy" we RPO sekuntda has gymmat - işewürlik bilen ylalaşyň.
Greenaşyl penjireler: batch-replikasiýa - arzan/" ýaşyl "sagatda.

13) Howpsuzlyk we gabat gelmek

"Ýeke-täk" we "tranzitde" şifrlemek, sebitler boýunça aýry KMS domenleri.
Immutable-backup, ransomware gorag: "3-2-1" (3 göçürme, 2 daşaýjy, 1 oflayn), MFA-delete.
Ýurisdiksiýalar: PII üçin geo-pinning, bellikleriň lokalizasiýasy, TTL-iň üstündäki "Legal Hold".
Wagt elýeterliligi: DR amallary üçin wagtlaýyn rollar, audit magazineurnaly.

14) Anti-patternler

"Soňra meýilnama ýazalyň" - maşksyz DR.
Logiki zaýalanmakdan goramazdan köpeltmek - ýalňyşlygy çalt köpelder.
KMS/syr sebiti - Feylower mümkin däl.
Yzygiderli dikeldişsiz bekaplar - "şredinger" DR.
Sebitleriň arasynda ýakyndan baglanyşykly sinhron amallar - kaskad gizlinligi/pese gaçmagy.
Ileri tutulýan zat ýok: hemme zat üçin birmeňzeş DR derejesi (gymmat we peýdasyz).

15) Arhitektoryň çek-sanawy

1. Hyzmatlar we ssenariler boýunça RTO/RPO/RLO kesgitlenildi?
2. Maglumatlar klassifikasiýa edildi: hakykat çeşmesi, PITR/penjire, WORM/immutable?
3. DR (Backup/Restore, Pilot, Warm, A/P, A/A) per-hyzmat derejesi saýlandyňyzmy?
4. Tor: GSLB/Anycast, şahadatnamalar/ätiýaçlyk açarlary, "read-only" baýdaklary?
5. Programma: amallaryň öwezini dolýan idempotentlik, outbox/inbox?
6. IaC/GitOps/Policy as Code: Ikinji sebiti açmak üçin bir gezek basmak?
7. Maşklar: meýilnama, KPI RTA/RPA, okuwdan soňky hereketler?
8. Gözegçilik: lag, RPO-drift, restore-SLI, drill-score, imutable backaps?
9. Howpsuzlyk/gabat gelmek: KMS-domenler, ýurisdiksiýalar, Legal Hold?
10. Bahasy: egress býudjeti, "ýaşyl" penjireler, ykdysady taýdan esaslandyrylan dereje?

16) Kiçi reseptler we eskizler

16. 1 Postgres üçin PITR (ideýa):

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 Logiki zaýalanmakdan goramak (gijikdirilen göçürme):

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

16. 3 Traffigi üýtgetmek (psevdo-API GSLB):

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

16. 4 Feýlowerden soň üýtgewsizlikleri barlamak (pseudokod):

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

Netije

DR, tehniki we guramaçylyk kararlaryny zyýanyň köpelmeginden has çalt kabul etmek ukybydyr. Hakyky RTO/RPO-lary kesgitläň, ýeterlik taýýarlyk derejesini saýlaň, infrastrukturany we barlaglary awtomatlaşdyryň, yzygiderli türgenleşiň we hakyky RTA/RPA-lary ölçäň. Şonda awariýa betbagtçylyga däl-de, öňünden aýdyp boljak netijä öwrüler.

Contact

Biziň bilen habarlaşyň

Islendik sorag ýa-da goldaw boýunça bize ýazyp bilersiňiz.Biz hemişe kömek etmäge taýýar.

Telegram
@Gamble_GC
Integrasiýany başlamak

Email — hökmany. Telegram ýa-da WhatsApp — islege görä.

Adyňyz obýýektiw däl / islege görä
Email obýýektiw däl / islege görä
Tema obýýektiw däl / islege görä
Habar obýýektiw däl / islege görä
Telegram obýýektiw däl / islege görä
@
Eger Telegram görkezen bolsaňyz — Email-den daşary şol ýerden hem jogap bereris.
WhatsApp obýýektiw däl / islege görä
Format: ýurduň kody we belgi (meselem, +993XXXXXXXX).

Düwmäni basmak bilen siz maglumatlaryňyzyň işlenmegine razylyk berýärsiňiz.