Skip to main content
Cloud2022Cloud Infrastructure Architect

Multi-Cloud Disaster Recovery Architecture

Active-passive disaster recovery design spanning Azure primary and AWS secondary regions with automated failover, RPO under 15 minutes, and quarterly game-day validation.

Overview

A SaaS provider serving 2,800 enterprise tenants operated entirely from a single Azure region with backup tapes as the only DR mechanism, yielding an effective RPO of 24 hours and RTO untested beyond tabletop exercises. Customer contracts increasingly mandated sub-hour recovery objectives and geographic redundancy independent of a single cloud vendor. I designed an active-passive architecture with Azure as primary and AWS us-east-1 as warm standby, replicating application state, configuration, and data through a combination of native replication services and custom sync workers.

Business Problem

A regional Azure outage during a prior year caused 11 hours of customer-facing downtime, triggering SLA credits exceeding $800K. Enterprise renewal negotiations stalled on DR clauses requiring RPO ≤ 15 minutes and documented failover testing. Single-vendor concentration introduced procurement and compliance concerns for customers in regulated industries. Existing backup restore procedures had never been validated against production-scale data volumes within RTO targets.

Solution

Critical .NET APIs and worker services deploy to both Azure AKS and AWS EKS from the same Helm charts with environment-specific value overlays. PostgreSQL uses cross-region logical replication to Aurora PostgreSQL with lag monitoring and automatic promotion scripts gated by health check quorum. Blob storage replicates via Azure-to-S3 sync jobs with checksum verification, while DNS failover routes through Route 53 health-checked weighted records. Runbook automation via Terraform and Ansible executes failover in documented stages with manual approval gates for production promotion.

Architecture

The DR topology employs a hub-and-spoke network model with VPN and Direct Connect bridging Azure VNet and AWS VPC for replication traffic isolated from customer-facing paths. Configuration management uses GitOps repositories synced independently to each cluster, with sealed secrets replicated via HashiCorp Vault replication. A DR orchestration service coordinates failover phases: traffic drain, replication lag validation, database promotion, cache warm-up, and DNS cutover. Observability stacks in both regions feed a unified incident dashboard with synthetic transaction probes validating end-to-end tenant workflows.

Tech Stack

Azure AKSAWS EKSPostgreSQLAurora PostgreSQLRedisTerraformAnsibleHashiCorp VaultRoute 53Helm

Challenges

  • Cross-cloud IAM federation required careful role mapping to prevent privilege escalation during failover when identity providers differed between regions.
  • PostgreSQL logical replication lag spiked during bulk tenant migrations; we throttled migration jobs during DR readiness windows.
  • Stateful session handling in the SaaS tier needed externalization to Redis with cross-region replication before failover could be transparent to users.
  • Cost of warm standby infrastructure required auto-scaling policies that reduced AWS EKS node counts during normal operation without compromising failover time.

Results

  • Achieved validated RPO of 11 minutes and RTO of 47 minutes during quarterly game-day exercises.
  • Successfully executed unplanned failover drill during maintenance window with zero data loss on financial transaction records.
  • Unblocked $4.2M in enterprise renewals contingent on documented multi-cloud DR capabilities.
  • Reduced DR infrastructure standby cost by 35% through scheduled scale-down policies while maintaining failover SLA.

Screenshots

Key interfaces and system views from the engagement.

Multi-Cloud Disaster Recovery Architecture screenshot 1
Multi-Cloud Disaster Recovery Architecture screenshot 2
Multi-Cloud Disaster Recovery Architecture screenshot 3

Lessons Learned

  • DR architecture is only as credible as its last game day—quarterly automated failover drills surface drift that documentation misses.
  • Session externalization and idempotent API design are prerequisites for transparent failover, not optional optimizations.
  • Cross-cloud networking costs and latency affect replication architecture as much as RPO targets on paper.
  • Manual approval gates on production promotion prevent automated failover from causing split-brain during transient health check flapping.

Related Projects

Additional work in adjacent domains and technology stacks.

Enterprise
Principal Software Architect2024

Enterprise Order Management Platform

Modular .NET order orchestration platform replacing a legacy monolith with bounded contexts, event-driven workflows, and multi-region deployment.

.NET 8Azure Kubernetes ServiceAzure Service BusKafka
View Case Study
Healthcare
Lead Software Architect2021

HIPAA Clinical Data Exchange Hub

FHIR-native interoperability platform enabling secure clinical data exchange between hospitals, payers, and specialty networks with full audit trails.

.NET Core 6Azure API ManagementAzure Service BusSQL Server
View Case Study
Finance
Senior Software Architect2020

Real-Time Trade Settlement Engine

Low-latency settlement and reconciliation platform processing equities and fixed-income trades with T+1 regulatory compliance and intraday risk controls.

.NET Core 3.1SQL ServerAzure Event HubsAzure Functions
View Case Study