1. HA vs DR

  • High Availability (HA) — Minimize downtime during normal operations. Goal: near-zero interruption (seconds to minutes).
  • Disaster Recovery (DR) — Recover from catastrophic failure (region outage, data loss). Goal: defined RTO/RPO.
  • HA handles component failures transparently; DR handles site-level failures with explicit failover.
  • Both are needed — HA doesn't protect against regional disasters; DR alone doesn't prevent everyday outages.

2. SLA Composition Math

Serial dependencies — Composite SLA = SLAA × SLAB × SLAC. Every component in the chain reduces overall availability.

  • Key insight: 3 services at 99.9% each → composite = 99.7% (≈ 26 hrs downtime/year, not 8.7 hrs).
  • Parallel redundancy improves SLA: P(both fail) = (1 − SLA)2. Two 99.9% instances → 99.9999%.
  • Always calculate composite SLA for critical paths — the exam tests this arithmetic.

3. Patterns to Increase Availability

  • Redundancy — Deploy multiple instances behind a load balancer.
  • Active-Active — All instances serve traffic simultaneously; highest availability.
  • Active-Passive — Standby instance activated on failure; simpler but higher RTO.
  • Health probes — Load balancers and Traffic Manager detect unhealthy instances and reroute.
  • Availability Zones — Spread across fault-isolated datacenters within a region.
  • Queue-based load leveling — Decouple producers/consumers to absorb spikes.

4. Azure SLA Tiers

  • Single VM (Premium SSD) — 99.9% (≈ 8.7 hrs/year downtime)
  • Availability Set — 99.95% (≈ 4.4 hrs/year)
  • Availability Zones — 99.99% (≈ 52 min/year)
  • Multi-region active-active — Target 99.999% (≈ 5 min/year)

Each tier adds cost and complexity — design for the SLA the business actually needs.

5. Multi-Region Active-Active

  • Front Door routes traffic to the nearest healthy region based on latency.
  • Data layer: Cosmos DB multi-region writes or SQL Always On AG with readable secondaries.
  • Challenge: Conflict resolution for concurrent writes; eventual consistency trade-offs.
  • Cost: Double compute + premium data replication — justified only for mission-critical workloads.

6. Multi-Region Active-Passive

Traffic handling
Both regions serve requests
Passive region idle until failover
RTO
Near-zero (automatic)
Minutes (DNS propagation + warm-up)
Cost
2× compute & data
Lower — passive can use smaller SKUs
Data consistency
Conflict resolution needed
Simpler — single write region
Complexity
High (sync, conflicts, testing)
Moderate (failover automation)
Best for
99.999% SLA, global users
99.99% SLA, cost-sensitive DR
  • Use Azure paired regions for sequenced updates and priority recovery.
  • Automate failover with Traffic Manager health probes + Azure Automation runbooks.
  • Test failover regularly — an untested DR plan is not a plan.

7. Health Modeling

  • Composite health endpoint — A single /health API that checks all critical dependencies (DB, cache, messaging).
  • Dependency mapping — Classify each dependency as critical (blocks requests) or degraded (graceful fallback).
  • Return Healthy, Degraded, or Unhealthy — load balancers act on the response.
  • Health probes should be lightweight — avoid heavy queries; cache dependency status briefly.
  • Use Application Insights availability tests for external monitoring.

8. Chaos Engineering

  • Principle: Inject controlled failures in production/staging to validate HA assumptions.
  • Azure Chaos Studio — Managed service for running chaos experiments (VM shutdown, network faults, DNS failures).
  • Define steady-state hypothesis → inject fault → observe → improve.
  • Start in staging, graduate to production with blast-radius controls (target specific resource groups, abort conditions).
  • Common experiments: kill an AZ, saturate CPU, add network latency, revoke DB credentials.

🌍 Real-World Scenario

An e-commerce company needs 99.99% availability for their checkout flow. They calculate the serial SLA: Front Door (99.99%) × App Service zone-redundant (99.95%) × Azure SQL Business Critical zone-redundant (99.995%) = 99.935% — below target. Fix: add a second region in active-passive with auto-failover SQL group → composite becomes 1 − (1−0.99935)2 = 99.99996% for the data tier, lifting the overall path above 99.99%. They validate monthly with Chaos Studio experiments that kill the primary region and measure actual RTO (target < 60s, achieved 42s).

🎯 Exam Tip

AZ-305 frequently asks you to calculate composite SLAs. Remember: serial = multiply SLAs (availability goes down); parallel redundancy = 1 − (1−SLA)n (availability goes up). Know that Availability Zones give 99.99% for most services, and that multi-region is needed only when the composite drops below your target. Front Door is the go-to global load balancer for multi-region web workloads.

🧪 Knowledge Check