When deploying cloud services and resources, the location is a fundamental decision to consider. Depending on the datacenter location selected, there are technical and legal aspects in one region instead of another. Let’s have a walk through what this means when deploying to Microsoft Azure.
However, let’s start from the beginning and align with the concept of a datacenter location in the context of Microsoft Azure.
What is an Azure Region?
Before choosing an Azure Region, it’s crucial to understand the global infrastructure concept of Azure. There are a few patterns to understand, before making a choice:
- Geography is a discrete market, typically containing two or more regions, that preserves data residency and compliance boundaries (e.g. Europe, North America).
- A Region is a set of datacenters deployed within a latency-defined perimeter and connected through a dedicated regional low-latency network. A Location represents the city or area of the Azure Region. Each Azure Region is paired with another region within the same geography. This makes them a regional pair (e.g. West Europe with North Europe).
- Availability Zones are physically separate locations within an Azure Region. Each Availability Zone is made up of one or more datacenters equipped with independent power, cooling, and networking.
- Last but not least, the Datacenter. Azure Datacenters are located in a specific location and are grouped together in regions.
As an example for Europe: The Azure Geography “Europe” contains multiple Azure Regions, such as “North Europe”, “West Europe”, etc. The location of West Europe is “Amsterdam”, North Europe is “Dublin”. Amsterdam and Dublin are the regional pairs.
How to Choose the right Region
Whenever you deploy a resource to Azure, you will have to select a region at some point. However, which criteria will you look at, to make your choice? Obviously, with high priority, it’s a wise decision to deploy the cloud resources as close as possible to the resource consumer, your users or customers. This will reduce the response time and with that offer a better user experience. However, there are many other factors to look at, for example:
- Data Location
- Resource Availability
- Network Performance
Aidan Finn, an MVP for Microsoft Azure wrote an excellent article about the characteristics and why they matter. I want to highlight only two more things, Performance, and Pricing.
Because speed matters!
Before making the final call, it’s always good to validate the latency between your or the customers location the selected Azure Region. Latency is the time it takes for the information from the on-premises location to the cloud. Various online services are providing practical performance tests, such as http://www.azurespeed.com. Another online service measures the latency from the web browser to a blob storage account in various Azure Locations: https://azurespeedtest.azurewebsites.net
Also, when deploying a resource in Azure, be aware these can be provisioned across an entire region. There is no guarantee that they are in the same (physical) datacenter and latency varies. Use Sysinternals PsPing for Windows, or qperf for Linux, as “ICMP” tests (ping) does not benefit from accelerated networking and would not provide accurate numbers. As a side note, Microsoft does not provide public documentation about latency.
It’s all about the Dollars
When selecting the region, do keep in mind that different region has different costs. With 42 regions around the world, with 12 additional announced regions, there are also different price tags depending on the location. Have a look at the tool from Victor, which is comparing the cost of virtual machines.
You should always refer to the official site for the pricing details to make the final comparison. For negotiated prices, usually part of a monetary commit or multi-year contract, you might need to login to your Microsoft (EA) portal to see the reflected discount.
Moving forward with the selection of a region, there is an aspect to be aware of. There is a charge for data transfer between different regions or availability zones. Have a look at the table below, which looks at scenarios which are commonly asked:
|Data transfer within the same region||X|
|Data transfer between two regions||X|
|Ingress and egress data transfer from a VNet resource to another resource in different Availability Zone||X|
|Data transfer between VNet resources in same Availability Zone||X|
There’s just one more Thing…
You made it to the end of this article. When writing this up, I discovered some interesting facts which didn’t make it to the article, but I still wanted to share…
- … Azure prefers at least 480 kilometers / 300 miles of separation between datacenters in a regional pair, although this isn’t practical or possible in all geographies. Think of Switzerland, a country where it only takes 350 kilometers from one end to the other.
- … Microsoft does not disclose the exact location, but every region as a location/city associated.
- … since opening the first datacenter in 1989, Microsoft has invested more than $15 billion on infrastructure, offering cloud options that meet country and government specific requirements.
- … did you ever wonder why the Azure Datacenter in Amsterdam is referenced as West, and Dublin is referenced as North Europe? While there aren’t any official regions in Europe, but there is a standard from the United Nations Statistics Division. The UNSD subdivided the continent for statistical convenience, where the Netherlands has been assigned to Western Europe and Ireland to Northern Europe (and we thought Americans had a problem with geography at times..?).