How would you choose a Storage account's replication setting (LRS, ZRS, GRS, or GZRS) for a workload that genuinely needs regional resilience?
Short Answer
LRS only protects against hardware failure within a single datacenter and offers no resilience if that datacenter itself is unavailable. ZRS replicates synchronously across availability zones within one region, protecting against a datacenter-level failure while keeping data in the same region. GRS (and RA-GRS, its readable-secondary variant) replicates asynchronously to a paired secondary region, protecting against a regional disaster at the cost of a small, non-zero replication lag and a manual failover step. GZRS combines both — zone-redundancy in the primary region plus geo-replication to a secondary — for the highest resilience, at correspondingly higher cost.
Detailed Explanation
The real design question isn't "which is most resilient" — GZRS always wins that in isolation — it's which specific failure this workload actually needs to survive, since each step up in replication scope adds cost and, for the geo-replicated tiers, replication lag that a naive design can silently assume away.
Requirements
- Define the actual failure scope to survive: a single disk/node, an entire datacenter, or an entire Azure region.
- Determine whether the workload can tolerate the replication lag inherent to asynchronous geo-replication (GRS/GZRS), or needs synchronous consistency (ZRS, within a region).
- Decide whether the application needs to read from the secondary during normal operation (RA-GRS/RA-GZRS) or only needs the secondary available for failover.
- Confirm the target region has a defined paired region if geo-replication is required — not every region pairs the same way.
Architecture
LRS (Locally Redundant Storage) keeps three synchronous copies within a single datacenter — it protects against a disk or node failure, but a datacenter-level event takes the data down with no automatic recovery path.
ZRS (Zone-Redundant Storage) replicates synchronously across three availability zones within the same region — a full datacenter failure no longer means data loss, and because replication is synchronous, there's no lag to reason about. The data still doesn't leave the region, so it doesn't protect against a region-wide event.
GRS (Geo-Redundant Storage) adds asynchronous replication to a paired secondary region on top of LRS in the primary. This survives a full regional outage, but asynchronous replication means a small window of the most recent writes may not have reached the secondary at the moment of failure — and failing over to the secondary is a manual, explicit action, not automatic.
GZRS (Geo-Zone-Redundant Storage) combines ZRS in the primary region with the same asynchronous geo-replication GRS provides — zone resilience day-to-day, regional resilience for true disaster scenarios.
Trade-offs
- LRS is cheapest but offers no protection above the disk/node level — inappropriate for any workload described as needing "resilience."
- ZRS protects against realistic, far more common datacenter-level failures with no replication-lag complexity, but doesn't help if an entire region is affected.
- GRS/GZRS protect against a regional disaster, but the asynchronous replication lag is real — a design that assumes the secondary is always perfectly current is wrong, and failover is a manual step that needs an actual runbook, not just an assumption it'll "just work."
- RA-GRS/RA-GZRS allow reading from the secondary during normal operation, which is useful for read scaling but means the application must handle potentially-stale reads from that secondary.
Interview Follow-Up Questions
- How would you design and test an actual failover runbook for a GRS-backed application, rather than assuming failover will work when it's needed?
- What would you monitor to know how far behind the secondary region currently is, before an incident forces you to find out?
- How would this decision change for a workload with a near-zero RPO requirement?
Key Takeaways
- "Resilience" isn't one thing — LRS survives a disk failure, ZRS survives a datacenter failure, GRS/GZRS survive a regional failure, each a genuinely different failure scope.
- Geo-replication (GRS/GZRS) is asynchronous — there's a real, non-zero window where the secondary can be behind the primary, which matters for any RPO (recovery point objective) commitment.
- Failover to the secondary region is a manual, explicit action for GRS/GZRS — resilience at the storage layer doesn't automatically mean an automatic failover process at the application layer.
- Choose based on which specific failure the workload needs to survive, not by defaulting to the most redundant (and most expensive) option available.
References
Related Questions
Last updated August 25, 2026 · Last reviewed August 25, 2026