This post contains an overview of AWS global infrastructure. I cover the definitions of region, availability zone (AZ), edge locations and service resiliency.
Please visit this page for an awesome, interactive visualization of global AWS infrastructure. Here's a sneak peek of what you can find there.
AWS Regions are separate geographic areas (picked by AWS) that are designed to be totally independent and isolated from each other. Due to such design, they provide greatest possible fault tolerance and stability. AWS operates within North America, South America, Europe and Asia Pacific. When you're logged into AWS console, you should see current region in the top-right corner of the window. It's essential to remember that some services are regional (for example EC2) so when browsing through your EC2 instances, you'll only see the ones that were created within selected region.
Not all services are regional though - when switching to IAM service you'll notice that region drop-down selector says 'Global'. Global services contains resources that may be used across multiple regions and are not tied to any specific region (e.g. IAM users, roles, policies).
Each region has its unique code, for example region US East (N. Virginia) uses us-east-1, US East (Ohio) uses us-east-2 and Asia Pacific - Mumbai uses ap-south-1.
Each region consists of multiple availability zones (AZ).
When choosing a region, you should consider geographic location, legal considerations (is your business allowed to process data in region's country?) and AWS services availability (it differs from region to region; new services rollout is also not consistent among all regions).
Availability Zones are fully isolated partitions of AWS global infrastructure. Multiple availability zones constitutes single region (minimum of 2 AZs per region). Each availability zone consists of one or more discrete data centers, each with redundant power, networking and connectivity, housed in separate facilities. Distance between AZs within particular AWS region is picked in such a way that local failure of one AZ should not impact remaining one(s). Amount of AZ is constantly growing.
You can leverage AZ concept when designing applications/workloads that require high availability.
They are much smaller than regions but there's much more of them. They are mostly used for a content delivery networks (CloudFront service) and DNS routing (Route 53 service). Edge locations basically allow for more efficient data transfer to end user (when user requests particular resource, it will be served from the nearest edge location resulting in smaller network latency).
Levels of resilience/resiliency
Citing the AWS Well-Architected Framework: resiliency is the ability of a workload to recover from infrastructure of service disruptions, dynamically acquire computing resources to meed demand, and mitigate disruptions, such as misconfigurations or transient network issues.
AWS Service can be resilient on one of three levels: - globally resilient - service operates globally; its data is replicated among multiple regions. If region fails, service should be still available. - region resilient: service operates within one region. It can replicate its data among multiple AZs. If one of them fails and you've spread your services over mutiple AZs, it should continue to work. If whole region fails though, service becomes unavailable. - AZ resilient - if AZ fails, your service stops working.
To conclude, let's compress everything above into essential things to remember for the exam.
- Regions - geographic locations picked by AWS; highest level of isolation; consist of multiple AZs.
- AWS will never replicate your date between different regions (unless you explicitly ask it to).
- Availability Zones (AZ) - fully isolated partitions of AWS infrastructure; multiple AZs per region; minimal distance between AZs in one region is preserved to mitigate impact of local failures (e.g. power outage).
- Single AZ can be one or more data centers (AWS does not give full insight into details).
- Edge location - special kind of AWS infrastructure location that allows for efficient data transfer (user is served by nearest edge location). CloudFront (content delivery network) and Route 53 utilize edge locations.
- AWS global infrastructure points are connected with high-throughput, low-latency network.
- Services can operate on global level (IAM, Route 53) or regional level (e.g. EC2).
- Service availability is not consistent among regions - new services deployment schedule will vary from region to region.
- Globally resilient service - can handle failure on a region level.
- Regionally resilient service - can handle failure on availability zone level (if designed to use multiple AZs for higher availability). Becomes not available when whole region goes down.
- AZ resilient service - can't withstand a failure on availability zone level (operates only within single AZ).
And let's stop right here. Hope you found this post valuable.
Best Regards, Kuba