Storage Redundancy
The replication strategy applied to a Storage Account to protect against data loss, ranging from LRS (three copies in one datacenter) to ZRS (copies across availability zones) to GRS (copies replicated to a secondary region).
Storage Redundancy
Redundancy options trade cost for durability and availability. LRS is cheapest but vulnerable to a datacenter-level failure; GRS protects against a full regional outage.
Why It Matters in Production
PhonePe stores transaction logs with GRS so a full outage of the primary Indian region doesn't result in data loss, while temporary build artifacts use LRS since losing them is a minor inconvenience.
az storage account create --name phonepetxnlogs \ --resource-group phonepe-prod-rg --sku Standard_GRSRememberGRS replicates data to the secondary region but does not make it readable there by default — enable RA-GRS if you need to read from it during an outage.
Frequently Asked Questions
What's the practical difference between LRS, ZRS, and GRS for Azure Storage?
LRS (Locally Redundant Storage) keeps three synchronous copies within a single datacenter, protecting against disk or node failure but not a datacenter outage. ZRS (Zone-Redundant Storage) spreads those three copies across separate availability zones in the same region, surviving a datacenter-level failure. GRS (Geo-Redundant Storage) adds asynchronous replication to a paired secondary region hundreds of kilometers away, protecting against a region-wide disaster at the cost of eventual (not synchronous) consistency for the secondary copy.
What's a common mistake when choosing storage redundancy for cost reasons?
Defaulting to the cheapest LRS option for data that actually needs regional disaster recovery, or the opposite — paying for GRS/RA-GRS on data that's easily reproducible (like build caches or logs) where LRS is fine and the extra cost buys nothing. Also worth knowing: failing over to the secondary region with GRS is a manual (or customer-managed automatic) process, not instant — RA-GRS at least gives you read access to the secondary without a failover.