AWS Availability Zones, CloudFront and OutPosts

AWS Availability Zones, CloudFront and OutPosts

In the Last Article about AWS global infrastructure and read how AWS manages the datacenters in the form of regions, But apart from regions, there are also other things like availability zones, edge locations. let's see in detail about each of them.



It is recommended to read the previous article for prior knowledge about AWS global How Does AWS Manage Its Global Infrastrcuture

AWS Availability Zones or AZ's

                    The difference between an availability zone and a region is the AZ's come under regions, which means every region will have at least 2-3 AZ's. To understand this we need to know about the reason for running a single application in multiple regions, but there is a caveat here that is what if the region is struck with a natural disaster, then, in this case, your customers don't get the required service. AZ's make the regions more distributed and redundant, and they are also isolated from each other. AWS assures that it has almost 3 AZ's in every region. The reason for making a data center like this is because if there is a disaster, due to the physical separation between the AZ's others are not affected by it. Which will indeed provide uninterrupted services to the users.




                    AWS allows you to deploy your application in more than 2 AZ's, so if one goes out the others can provide service. The capacity of the instances of one AZ can also be increased based on the needs. They are mostly presented as us-east-1a, us-east-1b, us-east-1c, etc, where east is the region and 1a,1b,1c are the AZ's. But what if the users are not from the same geographical location like if you host your service in the USA and most of the customers are from India or Tokyo, then there will be a lot of latency which is hard to reduce, Here AWS Edge locations come into the picture.

AWS Edge Locations.

                So according to the above problem there need to be some solution by which we can provide services to the geographical location which are far away from us. The basic logic behind an edge location is that it uses AWS CloudFront which caches the information in the datacenter. Let's understand this with an example, suppose a user from the USA wants a video that is available in the china datacenter then delivering this video from china to the USA will take a lot of time, but AWS CloudFront caches the video in the nearest data center to the USA and it can access the video from it, which will hence reduce the latency. We need to know that data transfers from edge locations are fast compared to the normal data transfer between data centers.

                    Instead of sending the whole data CloudFront will deliver the copy of the data and store it in the edge location. This is done by Content delivery networks. Another Service that runs in edge location is AWS Route 53, which is DNS(Domain Name Server) service, used to route users to appropriate locations by translating URLs from www.example.come to xxx.xxx.xxx.xxx, it can be also used for routing users to AWS services like Elastic load balancing, AWS APIs, etc. There is also another service called AWS Outposts by which you can run on-premise data centers with all the AWS functionalities and features.

How to Interact With AWS Services?

We learned about a few services till now about if we want to start using one of those services then how can we access it. So there are 3 different ways in which we can interact and deploy AWS services lets see in detail about each of them.

AWS Management Console:

The management console is the most used way to interact with services, it is beginner-friendly and easily understandable. It is more like GUI applications where you can search services and go to respective pages for configuring the service. This can be done by keywords and service name, we should type the services name in the Console and it redirects to the service. Another good thing about the console is the here the services are already sorted according to their uses, like cost services, security services, database services, etc.

AWS Command Line Interface (CLI):

Most of you know what is a command-line interface which is similar to writing commands in a Linux operating system. There are some users who are more convenient with the command line, you can almost edit and configure any service from it, creating EC2 instances, deploying firewalls, managing VPNs, etc. If you have custom scripts then your work is easier.

AWS Software Development Kits (SDK's):

SDK's are nothing but software that uses APIs for communicating with the services. They allow using different languages by which there is no need to write code in low-level APIs. We can make applications and software which will run upon on AWS cloud which is built on programing languages like .Net, java, python, etc., and communicate with services.

Post a Comment

Previous Post Next Post