{
  "docVersion": 1,
  "id": "blog-dr-t3",
  "name": "Tier 3 — Warm Standby (active-passive warm)",
  "purpose": "A complete but under-scaled copy runs in region B — every tier live. Front Door priority-routes to A; on failure you scale B up, no cold start.",
  "nodes": {
    "fd": {
      "type": "gateway",
      "label": "Azure Front Door",
      "x": 380,
      "y": 20,
      "w": 138,
      "h": 84,
      "runtime": "priority routing"
    },
    "app": {
      "type": "k8s",
      "label": "App Service",
      "x": 60,
      "y": 180,
      "w": 138,
      "h": 84,
      "color": "green",
      "runtime": "primary · full"
    },
    "db": {
      "type": "database",
      "label": "Azure SQL DB",
      "x": 60,
      "y": 340,
      "w": 138,
      "h": 84,
      "color": "green",
      "runtime": "primary"
    },
    "rapp": {
      "type": "k8s",
      "label": "App Service",
      "x": 720,
      "y": 180,
      "w": 138,
      "h": 84,
      "color": "amber",
      "runtime": "region B · running, small"
    },
    "rdb": {
      "type": "database",
      "label": "SQL geo-replica",
      "x": 720,
      "y": 340,
      "w": 138,
      "h": 84,
      "color": "amber",
      "runtime": "region B"
    }
  },
  "edges": {
    "e0": {
      "from": "fd",
      "to": "app",
      "fromSide": "left",
      "toSide": "top",
      "label": "primary traffic",
      "color": "green",
      "animated": true
    },
    "e1": {
      "from": "db",
      "to": "rdb",
      "fromSide": "right",
      "toSide": "left",
      "label": "active geo-replication",
      "style": "dashed",
      "animated": true
    },
    "e2": {
      "from": "rdb",
      "to": "rapp",
      "fromSide": "bottom",
      "toSide": "top",
      "color": "amber"
    },
    "e3": {
      "from": "fd",
      "to": "rapp",
      "fromSide": "right",
      "toSide": "top",
      "label": "failover → scale up",
      "color": "amber",
      "style": "dashed"
    }
  },
  "boxes": {
    "z1": {
      "x": 30,
      "y": 120,
      "w": 240,
      "h": 340,
      "label": "region A — primary",
      "color": "green",
      "opacity": 0.04
    },
    "z2": {
      "x": 690,
      "y": 120,
      "w": 240,
      "h": 340,
      "label": "region B — warm standby",
      "color": "amber",
      "opacity": 0.05
    }
  },
  "texts": {
    "t1": {
      "x": 30,
      "y": 480,
      "text": "RTO: minutes (nothing to cold-start — resize a running system)  ·  RPO: seconds\nmoderate-high cost — a full second env runs 24/7, just small. Azure: this is 'active-passive warm standby' in the WAF.",
      "color": "gray",
      "size": 12
    }
  },
  "meta": {
    "createdAt": "2026-07-20T09:00:00.000Z",
    "modifiedAt": "2026-07-20T09:00:00.000Z"
  }
}