Every enterprise thinks they have a BCDR strategy for cloud storage.
Most do not.
They have a backup, which is not the same as continuity or disaster recovery.
A backup is a point-in-time copy. Continuity is the ability to keep running through a region failure. Disaster recovery is the ability to restore from that failure.
Azure Storage gives you options for all three. Choosing the wrong combination costs you.
Redundancy is not recovery.
This is the distinction most teams miss. You can configure the highest redundancy tier available and still have no meaningful recovery plan. Redundancy protects data. Recovery requires design.
Why this matters
Storage is stateful. Compute is ephemeral.
If you lose compute, you redeploy. If you lose storage durably, you lose data.
BCDR patterns for storage are therefore not optional for production workloads.
An Azure Storage failure in your primary region cascades to every workload that depends on it.
Storage BCDR also introduces a split that most architecture reviews miss:
- The data plane protects and replicates your data.
- The control plane determines when and how failover occurs.
Most failures happen when these two are not aligned. You can have perfect data replication and still have no working recovery because the failover process was never designed, tested, or owned by anyone.
What changed
Azure Storage made regional resilience easier to configure. It did not remove the need to design for failure explicitly.
The availability of LRS, ZRS, GRS, and GZRS creates the illusion that redundancy equals recovery. It does not.
Each tier answers a different question:
- LRS (locally redundant): protects against hardware failure within a datacenter.
- ZRS (zone-redundant): protects against zone failure within a region.
- GRS (geo-redundant): replicates to a secondary region, but that data is completely inaccessible for read or write until failover occurs. If you need read access to the secondary without failover, you need RA-GRS.
- GZRS (geo-zone-redundant): zone-level protection in primary, asynchronous replication to secondary.
The design implication: every tier above LRS adds a dimension of protection that still requires you to design, trigger, and validate recovery. The storage tier is an input to your BCDR strategy. It is not the strategy.
Framework or model
Use this decision tree:
-
RTO (Recovery Time Objective): How many hours can storage be down?
- <1 hour → Requires active-active or fast failover design. This is often an application-layer decision, not just a storage configuration.
- 1-4 hours → GRS or GZRS works with planned manual failover.
-
4 hours → LRS with documented manual failover process is acceptable.
-
RPO (Recovery Point Objective): How much data loss can you tolerate?
- Near-zero loss within a region → ZRS (synchronous, single-region consistency).
- Near-zero loss with regional protection → GZRS (asynchronous cross-region replication; small data lag applies).
- Recent (hourly) → GRS.
- Last-sync acceptable → LRS with backup.
-
Failover automation: Manual or automatic?
- Manual → GRS (cheaper)
- Automatic → GZRS + Azure Site Recovery or traffic manager
-
Cost sensitivity: What is your budget?
- Tight → LRS + backup
- Medium → ZRS or GRS
- Large → GZRS + active-active
Practical implementation
For most enterprises, start here:
- Use GZRS for production data (RTO 4h, RPO near-zero).
- Automated failover via Azure Site Recovery for VMs depending on storage.
- Weekly failover drills to non-prod.
- Backup replicas to a separate storage account in a different region (GRS).
Example architecture:
- Primary: East US GZRS storage account
- Secondary: West US GRS backup storage account
- Compute in East US fails over via ASR to West US standby
- Storage can be failed over from East to West. Cross-region failover is customer-managed in most scenarios. Microsoft may initiate failover automatically only in the case of a permanent, catastrophic regional loss.
- Tertiary backup to separate storage account for ransomware protection
Testing checklist:
- Can you fail over storage without manual intervention? (Test monthly)
- Does failover break your applications? (Test with prod-like data)
- Can you fail back to primary without data loss? (Test quarterly)
- Do your backup retention policies work? (Validate annually)
Storage failover is only half the problem. Applications must handle it too:
- They must reconnect to the new storage endpoint after failover.
- DNS and client-side caching can delay the switch. Design for it.
- After a regional failover, data consistency is eventual. Applications need to tolerate that.
If your application is not designed for storage failover, a working BCDR configuration does not give you system continuity. It gives you recovered data and a broken application.
Risks and trade-offs
GZRS costs more than LRS. But unrecoverable storage failure costs infinitely more.
The trade-off is not storage cost; it is risk cost.
Most teams under-estimate the cost of a 6-hour storage outage: compute cascades, application data corruption, customer impact.
GZRS is cheap insurance against that.
Beyond cost, the two risks that actually hurt teams in production:
False sense of security. Teams configure GZRS and believe they are protected. Redundancy handles data durability. It does not handle failover orchestration, application reconnection, or endpoint switching. These require explicit design. Redundancy is the foundation. BCDR is the building.
Unvalidated failover. If you have not run a failover drill, you do not have a BCDR strategy. You have a configuration. The difference only becomes clear at 2am during an actual incident.
What to do this week
If you own production storage:
- List all Storage Accounts and their current redundancy (LRS/ZRS/GRS/GZRS).
- For each account, write RTO/RPO requirements.
- Compare current redundancy to requirements.
- For any mismatches, plan migration to appropriate tier (can be automatic, zero downtime).
- Schedule failover test for next month.
BCDR does not prevent failures. It defines how your system behaves when they happen.
If you have not tested failover, you do not have a BCDR strategy. You have a configuration.
I work at Microsoft. The views expressed here are my own and based solely on publicly available information. This content is for educational purposes and does not represent official Microsoft guidance or commitments.