AWS Region & Availability Zone
When we talk about Cloud computing since the word cloud is there we tend to think that it is somewhere up not reachable to us. I remember in my early network admin days when asked someone where does the networking cable go, he answered “it goes inside the wall and the wall takes care of the rest”. Similar is the case with cloud today, many does not have a clear picture of where these resources stay.
In this writeup we will see when a user creates an instance or stores some data in AWS how and where AWS creates this instance and stores this data.
What does AWS region mean and what does it mean by saying Availability zone?
When we say my applications running in a AWS region and Availability zone where exactly are these residing?
Since the blog is about a bottom up approach let us start with the fundamentals. We have talked about the fundamentals of virtualization in this blog. Even though the word cloud makes us look up, it is really the brick and mortar, meaning the physical building and server that is underlying which enables all these technologies. In reality if we zoom in and see what is the building block we will be able to see that all the workload is stored in the physical building and servers in that building. One of the core technologies that is being used to enable all these cloud capabilities is virtualization which is enabled on each of these servers in the building.
Lets dig deeper and understand how these are built.
When you launch a workload in AWS you will be running the instance in a Region and within a region you will be running it in an Availability Zone.
Let us understand what AWS Regions means and why as a user/customer we should care about. When we talk about AWS Region we need to talk about Availability Zone as well and how they are related.
As mentioned earlier everything starts in the building where there are servers. Every server and OS is enabled with virtualization. If we zoom in and see what is AWS Region and Availability zone it starts with a building and having multiple servers in it. Let us say you asked a person who has accessibility and working in Amazon AWS to show you where exactly your instance is residing. He is going to take you to a physical building like this.
When you get inside this building you will be able to see a lot of servers in the building as below.
Each of these servers will be connected to each other over high speed connectivity. Multiple of these server racks and/or the complete building having these servers are called datacenters(DC).
Amazon AWS will be having multiple of these Data Centers and all these data centers are also interconnected with high speed connectivity.
There will be multiples of such data centers. A group of these data centers ie 2 or more of these data center is what AWS refers to as Availability Zone.
A group of multiple Availability Zones is a AWS Region
As of this writing AWS has 31 launched regions and 99 Availability Zones. This numbers are going to grow.
This begs the answer to the question why did AWS design the data center this way to have the Availability Zone and AWS Regions. If you guys have not guessed it, the answer is pretty simple. One of the key benefits of cloud is availability to run the business all the time up and running. When you run you application and data in AWS you have the option to use multiple availability zones so that even when one of the data centers goes down your application is not completely affected. So when one datacenter goes down you have the data in another data center as you have architected the application to run in multiple Availability Zones. Remember it is your responsibility to have your architecture to use multiple availability zones for redundancy.
As we have seen, the Availability zone is in the AWS region. Customers select the region based on multiple reasons. Four most important driving factors for the customer to select a region is
- Compliance:-
Depending upon the business your company is in, there will be need of different compliance to met. For example if you are in financial sector and you are having the details of customers like Credit Card information there are regulation on where the data should reside. There will be compliance like the user data should not go out of the geography of your country. So when you deploy you application and store the customer data you should make sure you have selected the region that is compliant to business regulations.
- Service Availability
Another important item to consider is the availability of AWS service. Not all region in AWS has all the services in AWS. Especially for the new services the AWS roll out you should make sure that the region you select has that service available there.
- Geolocation:
Another important thing for you business is where does your customer residing. Your application needs to be closer to the location of your customer. This will ensure the best experience for your customer with minimum latency.
- Cost:
Last but not least is the cost. When you try the service in different region the cost may vary. And it is important for your business to select the region which is most cost effective. Your decision should be a balance of all these.