Most of the Azure resources demand the region to be specified. I was struggling with this choice and always picked the one nearest to my location. Lately, I found out that the choice should be made more based on the physical location of resource users than the location of me, and I changed it.
After a while, one question still bothers me — Does the choice of region matter more than I think? Then, I started to dig deeper into this topic, and boy. It really matters, especially on enterprise application levels.
Azure regions approximately specified Azure Resource’s physical location. It is not the precise location of the machine your resource is hosted on but it’s more the scope where you expect the majority of requests. So, the first question you should ask yourself is:
Where are most service users?
Some services are not available in every region. You can find out which service is available where on Microsoft webpage. Few of the services from the Azure portfolio are defined as global. Which means they are highly available in every region. For example, Azure Active Directory.
If you are designing the whole cloud infrastructure, you should check the availability of each service in the region you planned to use. So, the second question you should ask yourself is:
Is each of services you need available in the region you want to use?
Another reason to pick different regions can be regulatory and compliance reasons with regards to data residency. Data residency refers to the physical location of information in environments such as the cloud or on-premises servers.
If your company or industry is heavily regulated, you might need to look at the specific requirements. There is a chance you might need to do some extra encryption of your data. This is a tough topic and Microsoft created a document to help you with it. Take a look here.
We figured out the third question:
Do I need to consider regulations or compliance reasons relating to data residency?
Azure Geographies and Azure Region Pairs
Now, when we know, what we need to consider when choosing the region, let’s talk more about Azure geographies and region pairs.
Azure Geography contains one or more regions. Every geography has its specific data residency and compliance requirements. There exist some automatic processes like replication which you might want to forbid. Go to Microsoft’s webpage with geographies and use filter to get Azure compliance offerings and data residency information for your chosen geography.
An Azure Region Pair is a relationship between two azure Regions within the same geographic region for disaster recovery purposes. The datacentres in the region pair are tactically minimally 300 miles apart from each other. It is a reasonable distance from possible natural disasters or blackout events.
Microsoft decided which regions are impaired and you can’t decide it for yourself. To ensure high availability, Microsoft always updates only one region from pair in one time. During possible multiple outages, there is one region prioritized for disaster recovery.
Some services have a built-in option for failover and in an inconvenient event, it handles the situation by itself for you. Some services do not have a failover option. You should design your own solution for disaster recovery and high availability for such services. Keeping in mind which regions are in pairs helps you to design such solutions.
Azure Availability Zone
Availability Zones are unique physical locations in a single region. It can contain more data centers with independent power, cooling, and networking. The minimum for one region is three separated zones.
When you are creating a Virtual Machine Service, you can specify the availability zone. That gives you the power to create a more virtual machine in different zones and set up load balance or data replication between them. This can protect you from a natural disaster in one region.
Some services like Zone Redundant Storage will replicate your data automatically across zones and you don’t have to take care of it.