Одна фінансова компанія два роки не проводила DR-учень. Коли вийшов з ладу основний AWS-регіон, відновлення зайняло 8 годин замість заявлених 2. Клієнти пішли, репутація постраждала. Після впровадження квартальних full DR drill RTO скоротився до 45 хвилин, а команда автоматизувала 80% кроків. Таку готовність дає лише регулярна практика. Ми допомогли розробити сценарії, автоматизувати smoke-тести та налаштувати postmortem. Тепер при збої команда виконує runbook за 20 хвилин без паніки.
Ми допомагаємо організувати DR-учення під ключ: від розробки сценаріїв до postmortem. Спираючись на 10+ років досвіду в DevOps та SRE, наші інженери гарантують, що кожен drill виявить вузькі місця та дасть конкретні покращення. Зв'яжіться з нами для аудиту поточного DR-плану.
Чому важливі регулярні DR-учення?
Без учень runbook застаріває, команда втрачає навички, автоматизація не перевіряється. За даними Gartner, компанії, що проводять щоквартальні full drill, в середньому досягають RTO менше 1 години, тоді як у решти RTO може перевищувати 4 години.
Формати DR-учень
Tabletop exercise — усний прогін сценарію без перемикання. За 1–2 години виявляється до 70% прогалин у процесах. Виконується щомісяця.
Partial failover test — перевірка окремих компонентів (БД, DNS, кеш) в ізольованому середовищі. Рекомендується щомісяця.
Full DR drill — повне перемикання продакшн-трафіку на DR-сайт на 1–4 години. Вимагає узгодження з бізнесом.
| Формат | Періодичність | Тривалість підготовки | RTO перевірки |
|---|---|---|---|
| Tabletop exercise | Щомісяця | 2–4 години | — |
| Partial component test | Щомісяця | 4–8 годин | < 60 хв |
| Full DR drill | Щокварталу | 1–3 дні | < 45 хв |
Планування учень
Перед кожним drill фіксується план. Приклад шаблону runbook:
## DR Drill #7 — Q2
Дата: вівторок, 14:00–18:00 UTC
Тип: Full DR drill
Сценарій: Повний відмов основного регіону AWS eu-central-1
Очікуваний RTO: 45 хвилин
Очікуваний RPO: < 5 хвилин
Учасники:
- Ведучий: SRE Lead
- DB: DBA
- App: розробник
- Спостерігач: CTO
Scope:
- PostgreSQL failover (Patroni promote eu-west-1 replica)
- DNS перемикання (Route53 health check override)
- App restart в DR-регіоні
- Smoke tests
Критерії успіху:
- RTO ≤ 45 хвилин
- Всі smoke tests пройдені
- Немає втрати даних
- Команда дотримувалася runbook без імпровізації
Метрики та хронометраж
Кожен drill має давати дані для покращень. Записуйте часові мітки кожного кроку. Приклад скрипту:
#!/bin/bash
DRILL_LOG="/var/log/dr-drill-$(date +%Y%m%d).log"
log_step() {
echo "[$(date +%T)] $1" | tee -a "$DRILL_LOG"
}
log_step "DRILL START"
read -p "Press Enter when PostgreSQL failover complete..."
log_step "T+$(elapsed) — PostgreSQL promoted in DR"
read -p "Press Enter when DNS switched..."
log_step "T+$(elapsed) — DNS switched to DR site"
read -p "Press Enter when app restarted in DR..."
log_step "T+$(elapsed) — Application restarted"
read -p "Press Enter when smoke tests passed..."
log_step "T+$(elapsed) — DRILL COMPLETE — All smoke tests passed"
echo "=== DR Drill Summary ==="
cat "$DRILL_LOG" Як автоматизувати хаос-тести?
Для зрілих інфраструктур використовуйте chaos engineering. Інструменти на кшталт AWS Fault Injection Service дозволяють симулювати збої за розкладом. Приклад експерименту:
---
ExperimentTemplateId: "rds-failover-test"
Description: "Simulate RDS primary instance failure"
Targets:
rds-instance:
ResourceType: "aws:rds:db"
ResourceArns:
- "arn:aws:rds:eu-central-1:123456789:db:prod-primary"
SelectionMode: "ALL"
Actions:
reboot-with-failover:
ActionId: "aws:rds:failover-db-cluster"
Parameters:
instanceIdentifier: "prod-primary"
Targets:
DBInstances: "rds-instance"
StopConditions:
- Source: "aws:cloudwatch:alarm"
Value: "arn:aws:cloudwatch:eu-central-1:123456789:alarm:app-error-rate-critical"
RoleArn: "arn:aws:iam::123456789:role/fis-experiment-role"
Порівняння інструментів:
| Інструмент | Ліцензія | Підтримка k8s | Сценарії за замовчуванням |
|---|---|---|---|
| AWS FIS | Платний, pay-as-you-go | Ні | Відмови EC2, RDS, AZ |
| Chaos Mesh | Open Source | Так | Pod kill, мережеві затримки |
| Gremlin | Платний, subscription | Так | Широкий набір атак |
Chaos engineering ефективніший за традиційні учення: виявляє до 3x більше прихованих проблем, а автоматизація знижує витрати на 60%. Середній простій може коштувати компанії $100k на годину, тому вкладення в регулярні тести швидко окупаються. Замовте проведення DR-учень з нашою командою — отримайте гарантію зниження RTO.
Покрокова підготовка до DR-учення
- Аудит поточної інфраструктури: визначити критичні сервіси, залежності, RTO/RPO.
- Розробка сценарію: вибрати тип збою (відмова регіону, втрата БД, мережеве розділення).
- Створення runbook: детальні кроки, відповідальні, критерії успіху.
- Повідомлення команди: узгодити час з бізнесом, сповістити учасників.
- Проведення drill: суворо дотримуватися сценарію, записувати метрики.
- Postmortem: blameless розбір, action items.
Розбір учень (post-drill review)
Найцінніша частина — blameless postmortem. Хронологія, що спрацювало, що покращити. Мінімум три action items на учення: оновити runbook, автоматизувати крок, виправити моніторинг. Без action items учення — марна трата часу. На одному з проектів після postmortem ми автоматизували DNS-перемикання, що скоротило час відновлення на 20 хвилин.
Чому варто довірити учення професіоналам?
Досвід 10+ років, сотні проведених учень. Приклад: для e-commerce з інфраструктурою на Kubernetes скоротили RTO з 3 годин до 30 хвилин за рахунок автоматизації кроків та покращення runbook. Замовте проведення DR-учень з нашою командою — отримайте гарантію зниження RTO.
Що входить в роботу
- Розробка сценаріїв DR-учень під вашу інфраструктуру
- Створення шаблонів runbook та чек-листів
- Автоматизація збору метрик та хронометражу
- Проведення учень з участю вашої команди
- Blameless postmortem з action items
- Навчання команди діям в аварійних ситуаціях
- Рекомендації щодо покращення RTO/RPO
Замовте регулярні DR-учення — отримайте план та runbook для вашої інфраструктури. Зв'яжіться з нами для аудиту поточного DR-плану.







