Designing for High Availability

1. Designing Multi-Region Architecture

ElementDetail
Stateless tierReplicate per region
Data tierAsync global repl or per-region partitioned
RoutingGeo / latency DNS, anycast
Conflict handlingLast-writer-wins / CRDT / per-region ownership
CostCross-region egress, duplicated infra

2. Designing Multi-AZ Architecture

PracticeDetail
Spread replicas≥3 AZs for quorum services
Topology spreadK8s topologySpreadConstraints
DB Multi-AZSync standby (RDS, Aurora)
LBCross-zone enabled

3. Designing Disaster Recovery Strategy

TierRTO / RPO
Backup & RestoreHours / hours
Pilot Light~1h / minutes
Warm StandbyMinutes / seconds
Multi-Site ActiveSeconds / near-zero

4. Designing Active-Active Configuration

AspectDetail
Both regions serveLoad split via DNS / GSLB
Conflict resolutionRegion affinity per partition
ProsCapacity + resilience
ConsComplex consistency

5. Designing Active-Passive Configuration

AspectDetail
Primary servesSecondary on standby
FailoverDNS swap or Route53 health check
ProsSimpler consistency
ConsIdle capacity, slower failover

6. Designing Failover Mechanisms

TypeDetail
AutomaticHealth check triggered
ManualOperator-approved
DNS-basedTTL impacts time
Anycast IPNear-instant
Split-brain preventionFencing, quorum

7. Designing Database Replication for HA

ModeDetail
SyncStrong durability; higher latency
AsyncLag risk; better throughput
Semi-syncWait for one replica ack
Auto-failoverPatroni, Orchestrator, Aurora

8. Designing Zero-Downtime Deployments

ElementDetail
Rolling updatesK8s default
Backwards-compatible APIsTolerate N/N+1 mix
DB migrationsExpand → migrate → contract
Connection drainingHonor terminationGracePeriod
Health probesDon't route until ready

9. Designing Health Monitoring

SignalDetail
REDRate, Errors, Duration
USEUtilization, Saturation, Errors
Synthetic probesExternal user-flow checks
SLO burn rateMulti-window alerts

10. Designing Service Dependency Management

PracticeDetail
Dependency mapTrack upstream/downstream
Critical path analysisWhat's needed for P0 flows
Soft dependenciesDegrade gracefully if down
Vendor SLAsCompose to your effective SLA

11. Designing Chaos Engineering Practices

ExperimentGoal
Kill podVerify replicas + health
Network partitionValidate timeouts/CB
AZ downCross-AZ failover
DB failoverReconnection logic
Latency injectionTail latency handling

12. Designing SLA and Uptime Targets

UptimeAllowed downtime / year
99% (2 nines)3.65 days
99.9% (3 nines)8.76 hours
99.95%4.38 hours
99.99% (4 nines)52.6 minutes
99.999% (5 nines)5.26 minutes