Microsoft Azure supports 4 different replication services, locally-redundant storage, zone-redundant storage, geo-redundant storage and read-access geo-redundant storage (also known as LRS, ZRS, GRS and RA-GRS respectively.)
Starting at the lowest level, you have locally-redundant storage. This is a replication format where the data is replicated to a storage scale unit (a collection of rack of storage nodes.) Because it is multiple racks in a data centre, it provides at least 99.999999999% (11 nines) durability of objects over a given year because even if a whole rack were to fail or nodes in a single rack are being upgraded, the other racks should remain unaffected. However, due to it all existing in just one data centre, if a datacentre-level disaster were to occur (say a fire or flooding) then the data could be lost or unrecoverable.
Next replication type you have is zone-redundant storage. This replication format duplicates your data synchronously across three storage clusters n a single region, with each cluster physically separated from the others and in its own availability zone. This allows the data to still be retrieved if one zone goes down and gives the same scalability targets as LRS while have a durability for storage objects of at least 99.9999999999% (12 9's) over a given year. An important note is that unlike LRS which supports all blob, V1 general-purpose and V2 general-purpose, ZRS only supports V2 General-purpose storage accounts.
Finally, you have geo-redundant storage and read-access geo-redundant storage which replicates your data to a secondary region outside your primary region. Even if the entire region were for some reason to go down you would still have access to the data to be recovered in the other region which gives GRS at least 99.99999999999999% (16 9's) durability of objects over a given year. The difference between GRS and RA GRS is fairly simple, GRS only allows to be read in the secondary zone in the even of a failover from the primary to secondary while RA GRS allows the option to read in the secondary whenever. It should be noted that your application and data will come with two endpoints with RA GRS requiring you to manage both endpoints.
So when should each be used? When it comes to performance, they are all about equally efficient:
Meaning that the difference comes down to three major factors on which to choose, cost, availability and finally supported file storage types. Overall LRS is the cheapest, followed by ZRS, then GRS and finally RA GRS for example in a general purpose V2 blob storage , LRS costs :
while ZRS costs:
And GRS and RA GRS cost
Respectively.
In terms of supported storage types, all bar ZRS support all storage types, with ZRS being a lot more restricted to just V2 storage type.
So, from all of this, it seems for a cheap system that wants replication but it isn’t the priority (or there are laws preventing the data from leaving the country), the LRS would be the best replication as it is under half the price of RA GRS but still has very good durability. If durability is the most paramount thing but you don’t need to access the copy for what ever reason then go GRS. Finally, if you want a more durable but still don’t want to pay GRS prices or you can’t have the data leave the region for whatever reason or you don’t want to manage the two end points that come with GRS and it’s a V2 storage type ZRS is the best.
See: Microsoft Azure documentation for more information