Multi-Region Azure Web Apps with Front Door: A Practical DR Drill
2026-06-14Built a dual-region Flask deployment (Sweden + Korea) behind Azure Front Door, then ran three failover drills. Here's what RTO actually looked like.
Long-form notes on Azure architecture, AKS at scale, networking, FinOps, and practical Generative AI. Most posts come straight from drills and enterprise engagements.
Built a dual-region Flask deployment (Sweden + Korea) behind Azure Front Door, then ran three failover drills. Here's what RTO actually looked like.
A hub is a regional resource. The interesting question isn't "do I need a hub?" — it's "when do I need a second one in the same region?"
SNAT exhaustion is the silent killer of egress-heavy workloads. Here's the three-step escalation ladder before you give up and split the hub.
AppGW v2 scales to 125 instances. That's not a hard wall — it's a signal to add Front Door above and shard.
Stop pasting client secrets into GitHub. Federated credentials let GitHub Actions log in to Azure with a short-lived OIDC token.
App Service auto-injects REGION_NAME. With three lines of Python your DR app proudly displays "Korea Central" during failover, no manual config.
If your DR plan says "sub-minute RTO" and you're on Front Door Standard, the math doesn't add up. Here's why — and what to pay for if you need better.
Azure DNS itself is cheap. Azure DNS Private Resolver is not. Knowing the difference saves $130/month per accidentally-provisioned endpoint.
Where you put the private endpoint determines who can reach the PaaS service. There's a Microsoft-recommended pattern, and it's not "all in the hub."
AKS gives you four ways to handle outbound traffic. Picking wrong means SNAT exhaustion, mystery 5xxs, or a $300/month firewall you didn't need.
Azure Database for PostgreSQL Flexible Server lets you disable password auth entirely. Here's how to bootstrap with Entra ID only.
Two Redis products in the Azure portal. They look similar. They are very different. Here's the migration trigger list.
Microsoft publishes the Cloud Adoption Framework naming guide. Here's how it actually looks when you apply it to a working multi-region project.
The most expensive habit in personal Azure labs isn't picking the wrong SKU. It's forgetting to clean up. One simple discipline fixes it.
At 10,000 devices you can read every message. At 10 million you can't — you route. Here's the routing pattern that stays sane past a billion messages a day.
Three terms get blurred constantly: zonal, zone-redundant, and region-paired. Each gives you a different SLA at a different cost.
Multi-region writes give you global low latency — but the consistency level you pick changes everything about what your app sees.
Provisioned Throughput Units guarantee latency. Pay-as-you-go is flexible and cheap. Picking the wrong one wastes either money or SLAs.
Three messaging products. They overlap in marketing and almost never overlap in good architectures. Here's the boundary.
50% of enterprise blob storage spend is data that nobody reads. A correct lifecycle policy collapses that line item.
AKS gives you every knob. Container Apps gives you the right defaults. Two years in, the right defaults are usually what you want.
Distributed tracing turns 'which microservice broke?' from a war room into a five-second click. The setup is shorter than you think.
Key Vault's access policy model is legacy. RBAC is the path forward. The migration is small, and the security upside is large.
Three legitimate ways to RDP/SSH a private VM in Azure. Each trades cost for ergonomics for blast radius.