Code: C01-P3 | Author: Saransundar N | Applies To: AWS | Azure | Google Cloud
In the previous post, part 1 we have seen about Regions and Availability Zones. To read, click here.
To see the list of regions click here.
There are several regions offered by cloud providers like AWS, Azure, or Google Cloud for hosting.
This post will address the below queries.
a. Can we choose randomly any region for hosting? Are there any implications in doing that?
b. What are the factors to be considered for choosing the right region?
It’s quite common to choose the region where the people or organization is located. There are several factors to be considered before deciding to balance the best user experience and optimize performance as well as cost. There are five criteria defined to choose the right region for cloud deployment.
- Compliance offerings and Data presence
- Service capability and Availability (with SLA)
- Network performance: a) Network Latency b) Location of service consumers
- Pricing
- Carbon Footprint
1. Compliance offerings and data presence:
The most important thing that comes to my mind is “Data residency”. Data residency refers to the physical or geographic location of an organization’s data or information. Each country is governed by data laws and needs to comply with regulatory requirements.
One such example is GDPR. General Data Protection Regulation (GDPR) is the toughest privacy and security law in the world. It sets out detailed requirements for companies and organizations on collecting, storing, and managing personal data.
The next is the industry-wide compliance offerings. Cloud providers are on the radar to meet the security standards and compliance certifications including PCI-DSS, HIPAA/HITECH, FedRAMP, GDPR, FIPS 140-2, and NIST 800-171, helping customers satisfy compliance requirements for virtually every regulatory agency around the globe. All the providers meet the broadest set of compliance offerings today. To view those, click the links below.
For AWS; For Azure; For Google Cloud
2. Service Capability and Availability
Cloud providers always innovate and roll out new features and services to attract more customers. For instance, AWS had 25+ Services in 2012 (~10 years back) but they have exponentially grown to 250+ Services today (Till the year 2022). All those new services are deployed to Regions gradually.
Most of the common services are available in all regions offered by cloud providers. The main catch is that not all services will be available in all regions. Usually, the larger regions are the ones to offer newer services and provide a preview for customers. Smaller regions might not get all those niche services.
There are SLAs – Service Level Agreements linked to the services. Before you choose the service, SLA requirements have to be verified. SLAs are quite the same across all regions.
If you look at the below image, there are Google cloud services available in the Singapore region, but the same is not available in India (Mumbai/Delhi). Evaluating the list of services and checking the availability in the region you choose, plays a vital role.
3. Performance – Network latency and End-user presence
When we think about network performance, latency comes to our mind always. Latency is the major factor to consider for user experience. However, user latency is affected by multiple aspects, such as the location for hosting, caching, or load-balancing mechanisms and this becomes a complex problem to solve.
You have to always choose a region with close proximity to your service consumers or end users. The ideal logic is to increase the network quality by reducing the latency.
Look at the below image. We have done the latency test for end users located in APAC-India to choose one of the AWS regions. The average latency was reported as low for Mumbai and high for Stockholm or London.
This brings the next set of questions in a row:
a. What if the user base is from a specific country or on-premise location?
b. What if the user base is spread across the globe or multi-region?
In case users are from specific countries or regions, plan to deploy your workloads closest to the end users or service consumers. If you need low-latency access to your on-premises, deploy in the region closest to the on-premise location.
In case users are spread across the globe, deploy your workloads in a common region where you get average latency, especially in the US.
Sometimes, you might also need to split the workload across multiple Regions for high availability. When you do that, the workload might have some components that are sensitive to network latency and some that are not. Depending on your app workloads, optimize for a specific median latency. In another way, make sure that most of the users are served with a specific target latency.
Just remember this, when you plan for multiple regions, you need to do trade-offs to get benefits from both lower network latency and reduced cost.
To do the network speed test, use the below links:
For AWS: https://www.awsspeedtest.com/latency
For Azure: https://www.azurespeed.com/Azure/Latency
For Google Cloud: https://gcping.com/
4. Pricing
One of the most common misconceptions is the cost of services is the same across all regions. Services are priced differently and vary from region to region. This is true with all three cloud providers – AWS, Azure, and Google Cloud.
For example, let’s look at the below example. I am using the pricing calculator to compare the price for the AWS EC2 instance with 16 vCPUs and 64 GB RAM. For the East US region, the cost is 563 USD per month whereas the same instance in the APAC-Mumbai region is 30 USD higher.
The same is applicable irrespective of any cloud provider. We did a pricing estimate for Europe-based hosting on Azure cloud by randomly choosing a few services. While all the below regions can be chosen for hosting, North Europe is the cheapest when compared to others. Note: Below is just a sample.
Criteria | North Europe | UK South | UK West | West Europe | Germany West | Germany North |
Cost | Baseline | 14% more | 15% more | 3% more | 16% more | 18% more |
Location | Ireland | London | Cardiff | Netherlands | Frankfurt | Berlin |
5. Carbon Footprint
While cost and performance are the wider criteria to choose the region, carbon footprint plays a silent spectator role.
The cloud provider uses electricity to power each cloud region from the grid. This electricity generates more or fewer carbon emissions, depending on the type of power plants generating electricity for that grid. Cloud providers have set the goal to make it carbon-free power by 2030 and that is more required considering global warming.
We have come across the “Cloud Region picker tool” from Google Cloud. This is not an official tool from Google but provides a good comparison of regions across cost, latency, and carbon footprint. From the below image, we have chosen India as a traffic-originating region. We want to optimize by considering all three factors considered. It recommends regions from Europe or USA and not India. The major reason is the tool recommendation is balanced based on the carbon footprint.
There are several units to measure the carbon footprint. Google publishes CFE% and Grid Carbon intensity. AWS and Azure provide a carbon emission summary in MTCO2e in the cost management summary.
- CFE% carbon-free energy percentage: This means, choosing a region with a higher CFE %, on average, your application will be powered with carbon-free energy for a higher percentage of the hours that it runs, reducing the gross carbon emissions of that application.
- Grid carbon intensity (gCO2eq/kWh) metric indicates the average operational gross emissions per unit of energy from the grid.
- The unit of measurement for carbon emissions is metric tons of carbon dioxide-equivalent (MTCO2e), an industry-standard measure.
- MTCO2e measurement considers multiple greenhouse gases, including carbon dioxide, methane, and nitrous oxide.
Summary
It’s time to conclude with a summary of all the criteria which we discussed so far. Follow this simple trick for deciding the optimal region for hosting.
- Shortlist the regions that are compliant and meet the regulatory standards for your workloads
- Check the services and features available and the SLA which meets your requirements
- Test and measure the network latency based on the end users’ presence and the regions you choose
- Calculate pricing and the approximate cost for each region you choose and do the comparison
- Provide importance to Carbon footprint as well to make the globe carbon-free
Look at the below sample table shown to choose the right region for you. You can prioritize based on your needs, for example, preference for network performance is the highest priority over cost. We can choose “South India” when compared to “US East” even though it is the cheapest among the three. Similarly, apply a weighted mechanism if you need to conclude among the list of regions you have.
Thanks for reading !!!. In the next post of this series, we will see more on other areas of Global infra – Edge locations.