Апатты қалпына келтіру сценарийлері
1) DR не үшін қажет және қандай мақсат
Disaster Recovery (DR) - апаттардан кейін сервистерді қалпына келтіру үшін архитектуралар, процестер мен жаттығулар жиынтығы (дата орталығының/өңірдің істен шығуы, деректерді жоғалту, жаппай конфигурациялық қателер). DR мақсаты - клиенттердің сенімін және реттеушіге сәйкестігін сақтай отырып, бақыланатын құн мен тәуекел кезінде мақсатты RTO/RPO орындау.
RTO (Recovery Time Objective): рұқсат етілген бос тұру уақыты.
RPO (Recovery Point Objective): деректердің жарамды жоғалуы (соңғы консистенттік нүктеден бастап уақыт).
RLO (Recovery Level Objective): бірінші қайтарылуы тиіс функционалдық деңгейі (ең аз өміршең сервис).
2) Жүйелерді сындылығы бойынша жіктеу
Tier 0 (өмірлік маңызы бар): төлемдер, логин, KYC, транзакциялар ядросы - RTO ≤ 15 мин, RPO ≤ 1-5 мин.
Tier 1 (жоғары): операциялық панельдер, D-1 есептері - RTO ≤ 1 сағ, RPO ≤ 15-60 мин.
Tier 2 (орта): бэк-офис, near-real-time талдауы - RTO ≤ 4-8 сағ., RPO ≤ 4-8 сағ.
Tier 3 (төмен): сыни емес қосалқы - RTO ≤ 24-72 сағ., RPO ≤ 24 сағ.
Әрбір сервиске сервистер каталогында Tier + нысаналы RTO/RPO беру; шешімдер мен бюджеттерді солармен салыстыру керек.
3) Қатерлер моделі және сценарийлер
Техногендік: AZ/аймақтың/провайдердің істен шығуы, желінің/DNS деградациясы, ДБ/сақтау орындарының істен шығуы, жаппай шығу ақауы.
Адам факторы: қате конфигалар/IaC, деректерді жою, кілттерді сындыру.
Табиғи/сыртқы: өрт/су тасқыны, энергияның үзілуі, құқықтық бұғаттау.
Әркім үшін - ықтималдықты/импакт бағалау, DR-сценарийге және плейбукаға байланыстыру.
4) DR сәулет үлгілері
1. Active-Active (Multi-Region): екі өңір де трафикке қызмет көрсетеді.
Артықшылықтары: ең аз RTO/RPO, жоғары орнықтылық.
Минустар: деректердің күрделілігі/консистенттілігі, жоғары баға.
Мұнда: оқу-ауыр, кэшталатын жүктемелер, stateless-сервистер, multi-master DB (жанжалдардың қатаң ережелері).
2. Active-Passive (Hot Standby): «ыстық» пассив толық қыздырылған көшірмесін ұстайды.
RTO: минут; RPO: минут. Автоматтандырылған failover және репликалауды талап етеді.
3. Warm Standby: қыздыру ресурстарының бір бөлігі, авария кезінде масштабтау.
RTO: ондаған минут; RPO: 15-60 мин. Үнемді, бірақ ұзақ.
4. Pilot Light: ең аз «ұшқын» (метадеректер/бейнелер/скрипттер) + жылдам бұрылу.
RTO: сағат; RPO: сағат. Арзан, Tier 2-3 үшін қолайлы.
5. Backup & Restore: оффлайнды бэкаптар + қолмен жылыту.
RTO/RPO: тәулік-сағат. Тек төмен сыни және мұрағаттар үшін.
5) Деректер және келісу
БД репликациясы:- Синхронды - нөлге жуық RPO, бірақ ↑ жасырындылық/құн.
- Асинхронды - жақсы өнімділік, RPO> 0 (журналдардың құйрығы).
- Үйлесімділік: модельді таңдаңыз (strong/eventual/causal). Төлемдер үшін - қатаң, талдау үшін - eventual.
- Кесінділер (snapshots): тұрақты түрде консистентті нүктелер жасаңыз + журналдарды сақтаңыз (WAL/redo).
- Кросс-аймақтық транзакциялар: 2PC аулақ болыңыз; демпотенттік операцияларды, дели-и-қайталауды (дедупликациямен retry), event sourcing пайдаланыңыз.
- Кезектер/шиналар: репликация/айнала, DLQ, тапсырыстар және консьюмерлердің сәйкестігі.
6) Желі, трафик және DNS
GSLB/Anycast/DNS: failover/failback саясаты, төмен TTL (бірақ тым емес), бірнеше аймақтан келген health-checks.
L7-бағыттау: өңірлік карталар, тозу фича-жалаулары (функцияларды шектеу).
Private-links/VPN: провайдерлерге арналған резервтік арналар (PSP/KYC/CDN).
Rate limiting: қалпына келтіру кезінде дауылдан қорғау.
7) Stateful vs Stateless
Stateless скрипт/автоскейлмен тасымалданады; stateful деректердің келісілген стратегиясын (репликалау, снапшоттар, реплика промоушендері, кворум) талап етеді.
Кэш/сессиялар: сыртқы (Redis/Memcached) кросс-аймақтық репликациясы немесе журналдар бойынша re-seed; сессияларды токендерде (JWT) немесе ортақ қоймада сақтау.
8) Триггерлер және DR автоматтандыру
SLO-гардрейл және зондтар кворумы → автоматты region-failover runbook.
Авария кезінде Change freeze: өзекті емес релиздер/миграцияны бұғаттаймыз.
Infrastructure as Code: стенд-байларды манифесттер бойынша өрістету, дрейфті тексеру.
Рөлді насихаттау: автоматты promote репликасы БД + writers/құпияларды таңу.
9) Коммуникация және комплаенс
War-room: IC/TL/Comms/Scribe; SEV бойынша аралықтар.
Статус-бет: әсер ету географиясы, ETA, айналма жолдар.
Реттеуіш: хабарлау мерзімі, деректер қауіпсіздігі, evidence өзгермейтін сақтау.
Серіктестер/провайдерлер: расталған байланыстар, бөлінген арна.
10) DR тестілері мен жаттығулары
Tabletop: сценарий мен шешімдерді талқылаймыз.
Game Day (стейдж/прод-лайт): AZ/аймақтардың істен шығуын имитациялау, провайдерді ажырату, DNS-ті қалпына келтіру.
Restore-тесттер: бекаптарды оқшаулап, біртұтастығын валидациялаймыз.
Chaos/Failure injection: желінің/тораптардың/тәуелділіктің бақыланатын ақаулары.
KPI жаттығулары: қол жеткізілген RTO/RPO, плейбук ақаулары, CAPA.
11) Қаржы және стратегияны таңдау (FinOps)
Төмендетілген RPO/RTO үшін $ деп санаңыз: мақсат неғұрлым төмен болса - арналар, лицензиялар, резервтер соғұрлым қымбат.
Гибрид: Tier 0 - active-active/hot; Tier 1 — warm; Tier 2–3 — pilot/backup.
Деректер қымбат: суық қабаттарды (мұрағат/S3/GLACIER), инкременталды снапшоттарды, дедупликацияны пайдаланыңыз.
DR-инфра шығындары мен сертификаттарын/лицензияларын кезең-кезеңмен тексеру.
12) Жетілу өлшемдері DR
Әрбір Tier бойынша RTO (факт) және RPO (факт).
DR Coverage: ресімделген сценарий/плейбук/тесті бар сервистер%.
Backup Success & Restore Success: backaps және тексерілген қалпына келтірулердің күнделікті табысы.
Time-to-Declare Disaster: failover туралы шешім қабылдау жылдамдығы.
Failback Time: қалыпты топологияға оралу.
Defect Rate жаттығулары: табылған бос орындар/жаттығулар.
Compliance Evidence Completeness: артефактілердің толықтығы.
13) Чек парақтары
DR енгізу алдында
- Сервис каталогында Tier, RTO/RPO, тәуелділік және иелері бар.
- Tier және бюджет бойынша паттерн (AA/AP/WS/PL/BR) таңдалды.
- Консистенттілік және репликация туралы келісімдер құжатталған.
- GSLB/DNS/маршрутизация және денсаулық-тексерулер теңшелген және сыналған.
- Бэкаптар, снапшоттар, өзгерістер журналдары - енгізілген, restore-де тексерілген.
- DR плейбуктері және провайдерлердің контактілері.
Авария кезінде (қысқаша)
- SEV жариялау және war-room жинау; релиздерді тоқтату.
- Зонд кворумын тексеру; импакт/географияны белгілеу.
- Failover Runbook орындау: трафик, БД-промоушен, кезек, кэш.
- Degrade-UX/лимиттерді қосу; SLA бойынша апдейттер жариялау.
- evidence (таймлайн, графиктер, логтер, командалар) жинау.
Апаттан кейін
- SLO N интервалдарын бақылау; жоспар бойынша failback орындау.
- AAR/RCA өткізу; CAPA ресімдеу.
- Плейбуктерді, алерт катализаторларын, DR тест-кейстерін жаңарту.
- Стейкхолдерлер/реттеушілер алдында есеп беру (қажет болса).
14) Үлгілер
14. 1 DR-сценарий карточкасы (мысал)
ID: DR-REGION-FAILOVER-01
Scope: prod EU ↔ prod US
Tier: 0 (Payments, Auth)
Targets: RTO ≤ 15m, RPO ≤ 5m
Trigger: quorum(probes EU, US) + burn-rate breach + provider status=red
Actions:
- Traffic: GSLB shift EU→US (25→50→100% with green SLIs)
- DB: promote US-replica to primary; re-point writers; freeze schema changes
- MQ: mirror switch; drain EU DLQ; idempotent reprocess
- Cache: invalidate region-specific keys; warm critical sets
- Features: enable degrade_payments_ux
- Comms: status page update q=15m; partners notify
Guardrails: payment_success ≥ 98%, p95 ≤ 300ms
Rollback/Failback: EU green 60m → 25→50→100% with guardrails
Owners: IC @platform, DB @data, Network @netops, Comms @support
14. 2 Runbook «Промоте реплика БД» (фрагмент)
1) Freeze writes; verify WAL applied (lag ≤ 30s)
2) Promote replica; update cluster VIP / writer endpoint
3) Rotate app secrets/endpoints via remote config
4) Validate: read/write checks, consistency, replication restart to new secondary
5) Lift freeze, monitor errors p95/5xx for 30m
14. 3 DR оқу-жаттығу жоспары (қысқаша)
Purpose: to check RTO/RPO Tier 0 in case of EU failure
Scenario: EU incoming LB down + 60s replication delay
Success criteria: 100% traffic in US ≤ 12m; RPO ≤ 5m; SLI green 30m
Artifacts: switching logs, SLI graphs, step times, command output
15) Қарсы үлгілер
Тұрақты restore-тестерсіз «бэкаптар бар».
Құпиялар/эндпоинттер автоматты түрде қосылмайды.
Сәйкессіздіктің жоқтығы → дубликаттар/қайта жеткізу кезінде жоғалған транзакциялар.
Азып-тозудың фич-жалаулары жоқ өңірлер үшін бірдей конфигтер.
«Жалған дабыл» қорқынышынан ұзақ уақыт.
Баламасыз монорегионалдық провайдерлер (PSP/KYC).
failback жоспары жоқ - апаттық топологияда «мәңгілік» өмір сүреміз.
16) Енгізу жол картасы (6-10 апта)
1. Нед. 1-2: Tier бойынша сервистерді жіктеу, мақсатты RTO/RPO орнату, DR паттерндерін таңдау.
2. Нед. 3-4: репликацияларды/бэкаптарды, GSLB/DNS, промоушен-процедураларды баптау; playbook және runbook '.
3. Нед. 5-6: алғашқы DR-жаттығулар (tabletop → stage), метриктер мен CAPA белгілеу.
4. Нед. 7-8: шектеулі трафикпен оқу-жаттығудың прод-лайт; автоматтандыру failover.
5. Нед. 9-10: шығындарды оңтайландыру (FinOps), Tier 0-ді hot/AA-ға көшіру, тоқсандық жаттығулар мен есептілік регламенті.
17) Жиынтық
Тиімді DR - бұл тек бэкап қана емес. Бұл келісілген сәулет, failover/failback автоматтандырылуы, деректер тәртібі (теңсіздік/репликация), жаттығулар және ашық коммуникациялар. RTO/RPO шынайы болғанда, ойнатқыштар пысықталып, жаттығулар тұрақты болғанда, апат басқарылатын оқиғаға айналады, содан кейін сервистер тез және болжамды түрде қалпына келеді.