Microsoft provides various options for redundancy when storing data in their Azure cloud services. Each option provides a different level of redundancy to protect your data. By spreading copies of your data between different locations and geographic regions you can easily balance your level of redundancy with cost to fit your requirements.
the term 'cloud' has been coined to encompass the myriad of services that are available on the internet, and also hide the technical details behind them.
This can make the concept of internet services more generic and easier to understand, but also has the downside of hiding some of the information that you might need before you can migrate services.
In this blog post I'm going to describe how data is stored in Microsoft Azure across different locations to provide flexible and powerful redundancy options.
Overview of Azure Locations
Azure Regions and Region Pairs
Microsoft has divided the world into regions, with most countries that have an Azure presence having at least two.
Each region is logically paired with another region in the same country, creating what Microsoft refers to as a region pair.
In the UK we have two regions which form one region pair - UK South and UK West.
The one exception to a country having two regions (as at the time of writing) is Brazil. There is one region in Brazil (Brazil South) which is paired with the South Central US region.
Azure Zones
Each standard Azure Region is divided up into three zones (also referred to as availability zones).
Each of these zones is a separate location within a region connected via high performance networks.
Azure has availability zones in every country in which Azure operates a datacentre region.
Americas | Europe | Middle East | Africa | Asia Pacific |
---|---|---|---|---|
Brazil South | France Central | Qatar Central | South Africa North | Australia East |
Canada Central | Germany West Central | UAE North | Central India | |
Central US | North Europe | Japan East | ||
East US | Norway East | Korea Central | ||
East US 2 | UK South | Southeast Asia | ||
South Central US | West Europe | East Asia | ||
US Gov Virginia | Sweden Central | China North 3 | ||
West US 2 | Switzerland North | |||
West US 3 | Poland Central |
Each Azure Zone consists of one or more distinct data centres.
You can explore the full Azure environment, including regions, zones and the networking that joins them altogether with the interactive Azure Infrastructure Map.
Azure Storage Redundancy Options
Locally-redundant Storage (LRS)
LRS is the minimum level of redundancy available for data storage within Azure.
With LRS, data is stored in three physical locations within an Azure zone. While a zone consists of one or more data centres, in most cases there is just one (and it's easier to think of an Azure zone as being a single data centre).
LRS ensures that your data is stored in three distinct locations within that data centre.
As the least durable option it provides great protection against failure of individual servers. racks or storage devices. However, larger disasters that may affect the whole data centre, such as flood or fire, may result in data loss.
Zone-redundant Storage (ZRS)
Like LRS, with ZRS your data automatically has three copies. The difference is that with ZRS, each of the three copies is stored in a different zone within your chosen region.
Essentially, each copy is stored in a different data centre, all of which are connected with high speed networks.
This provides a higher level of resilience as a disaster that affects a whole data centre will not result in data loss (as it could with LRS).
Geo-redundant Storage (GRS)
With GRS your data is copied three times within your chosen primary region using LRS.
In addition, it is stored three times in the associated region pair, again using LRS.
If UK South is your chosen primary region, there will be three copies of your data stored in a single data centre in UK South, and three copies stored within a data centre in the UK West region (UK South's region pair).
Geo-zone-redundant Storage (GZRS)
You've probably guessed by now that the next (and highest) level of redundancy is GZRS.
GZRS is the combination of ZRS across the region pair. Your data is stored in three zones in the primary region, and is also copied to the secondary region (or region pair).
However, only LRS storage is implemented in the secondary region. Like with GRS, the data in the secondary region is stored in three locations within a single zone or data centre.
With both GRS and GZRS, the data is copied to the secondary region after it is written to the primary. This results in two things that you need to be aware of:
- There will be a short delay before changes are written to the secondary location, so if there is an outage serious enough for you to require access to this data you may experience some data loss.
- You may need to design/implement any solution that accesses your data to be able to switchover to the secondary location on failure or loss of the primary.
Alternatively, you can choose an option that allows the secondary location to be readable (you won't be able to make changes to the data in the secondary location, but you can read it). In this scenario you are choosing Read-access-geo-zone Redundant Storage, or RA-GZRS.
You can read more about the data redundancy options in Microsoft Azure at this Microsoft article.