🚨 Disaster Recovery — Site Recovery equivalent
DR Plans với ordered runbook steps, simulation drills định kỳ, RTO/RPO evidence, cross-zone backup. Tương đương Azure Site Recovery / AWS Elastic Disaster Recovery.
Năng lực chính
DR Plans
Định nghĩa plan với scope (databases, VMs, K8s namespaces), RTO target, RPO target.
Runbook Steps
Thứ tự các bước (stop traffic → snapshot → promote replica → switch DNS → verify).
Simulation Drill
Chạy diễn tập trong môi trường isolated; sinh evidence RTO/RPO thực tế.
Cross-Zone Backup
Policy destination_region, destination_zone, replication_mode (sync/async).
Manual Failover
POST /api/v1/databases/:id/failover — promote replica trong target zone.
Auto-healing
Health probe trigger failover tự động qua autoscale-service + monitor-service.
Các API DR
# Tạo DR plan
POST /api/v1/dr/plans
{ "name":"prod-failover-hcm-to-hn", "scope":{...},
"rto_seconds": 300, "rpo_seconds": 60 }
# Thêm runbook step
POST /api/v1/dr/plans/:id/steps
{ "order": 1, "type":"snapshot", "target":"db:prod-pg", "timeout_s": 120 }
# Diễn tập
POST /api/v1/dr/plans/:id/drills
→ drill_id (status: running → succeeded/failed, evidence)
# Failover thật
POST /api/v1/dr/plans/:id/execute
Backup cross-zone
# Backup policy với replication
PUT /api/v1/backups/policies/:id
{ "schedule":"0 2 * * *", "retention_days": 30,
"destination_region":"hn", "destination_zone":"hn-1",
"replication_mode":"async" }
Định kỳ kiểm thử
Mỗi quarter chạy drill tự động qua scheduler:
POST /api/v1/scheduler/jobs
{ "name":"dr-drill-quarterly", "cron":"0 3 1 */3 *",
"action":"dr.execute_drill", "params":{ "plan_id":"..." } }