Module 4 - Going Global
Module 4 - Going Global
This module covers the AWS global infrastructure in greater detail, including how to choose a region, the role of edge locations, and how to achieve high availability across multiple regions.
Introduction to Going Global
- Select a region based on where your customers are located, any regulatory requirements, expected latency, and cost.
- Edge locations cache content closer to end users, reducing latency and improving access speed.
- AWS CloudFormation enables you to define and manage your infrastructure as code (IaC), making deployments repeatable and consistent.
Choosing an AWS Region
When selecting a region, consider the following:
- Proximity — Where are your customers located? Placing resources close to them reduces latency.
- Compliance — Are there local regulations or data residency requirements that restrict where you can store data?
- Latency — How quickly do your users need to access your application?
- Cost — Pricing varies between regions; factor this into your decision.
- Feature availability — Not every AWS service is available in every region. Confirm that the services you need are offered in your chosen region.
Diving Deeper into AWS Global Infrastructure
- Regions are physical locations around the world where AWS operates data centres.
- Availability Zones (AZs) are isolated locations within a region, each with independent power, networking, and cooling.
- Using multiple regions increases high availability. If one region experiences an outage, you can fail over to another.
- Edge locations are separate from regions and are situated in major cities worldwide. They cache content closer to users using AWS CloudFront, which reduces latency for content delivery.
- AWS Route 53 is a highly available and scalable DNS service. It can route users to the nearest edge location using techniques such as geolocation-based routing.
Infrastructure and Automation
Deploying across multiple regions manually is error-prone and time-consuming. Infrastructure as Code solves this by letting you define your entire environment in templates.
- Use AWS CloudFormation to define and provision your infrastructure as code. CloudFormation reads your template and creates or updates resources accordingly.
- Create reusable templates that you can deploy consistently across multiple environments and regions.
- This approach ensures that your staging and production environments remain identical, reducing the risk of configuration drift.