Multi-Region Azure Web Apps with Front Door: A Practical DR Drill
Built a dual-region Flask deployment (Sweden + Korea) behind Azure Front Door, then ran three failover drills. Here's what RTO actually looked like.
I wanted to validate — not assume — what a real DR failover looks like on Azure Front Door Standard. So I built the smallest possible two-region setup on top of my portfolio site and stopped the primary on purpose. Three times.
The setup
- Sweden Central — App Service Premium0V3 (primary).
- Korea Central — App Service B1 (DR; idle 99% of the time, so cheap is fine).
- Front Door Standard — origin group with priority 1 = Sweden, priority 2 = Korea, weights equal.
- Health probe —
GET /api/health, HTTPS, every 100 s (Standard SKU floor).
The drills
- Manual — set Sweden weight to 0. New requests served from Korea within seconds.
- Auto —
az webapp stopon Sweden. Front Door took 2-10 minutes to fully cut over. The reasons: 100 s probe × 3 consecutive failures = ~5 min detection floor, plus edge POP propagation, plus already-open keep-alive connections. - Fail-back — restarted Sweden. Front Door restored P1 routing in 3-5 minutes.
The lesson
RTO is not zero on Front Door Standard. It has a probe-cadence floor of roughly 5 minutes. If you need sub-minute failover, you pay for Premium (30 s probes). Either choice is valid — just don't discover the floor during a real outage.
Diagram of the steady-state setup:
User → DNS (CNAME) → Front Door anycast → Origin group
→ Sweden (P1)
→ Korea (P2)