AWS cloud practitioner notes - Infrastructure and reliability
Previously we saw the EC2 computing services that AWS offers and the difference between them. This section focus on the infrastructure and reliability, how AWS offer such service for it’s costumers and how it enables the capacity that AWS has. AWS provides of high availability for customers through multiple regions in a global landscape.
Previous: AWS cloud practitioner notes - EC2
Module 3 - global infrastructure
AWS provides a range of regions to support highly availability.
- Compliance (does the data has restrictions to any country? Usually complice states restrictions to where the software should operate.)
- Proximity (Close to the customer, usually the right call as the content will be provided faster compared to farther regions)
- Future availability
- Pricing (some locations are more expensive to operate)
Each region is made up of multiple of data centers. AWS calls a single data center or a group of data centers a availability zone or AZ. AWS data centers have redundant power, networking and connectivity.
Services that have the check “Regionally scoped service” are already high available.
Module 3 - Edge locations
AWS provides a CDN (Content Delivery Network  - Amazon cloud front) uses edge locations to accelerate communications with customers around the world.
- Regions are geographically isolated areas
- Regions contain availability zones
- Edge locations run Amazon CloudFront
Best practice tip: deploy infrastructure across at least 2 availability zones
AWS outpost installs a mini regions inside a private data center.
Module 3 - How to provision AWS resources
In AWS everything is an API call, there are pre determined ways to interact with AWS services. There are a few options to interact with those services, for example:
- AWS management console (web based, visually)
- AWS Command line interface (CLI - API calls via terminal)
- AWS Software Development Kits (SDKs - interface for different programming languages)
Elastic beanstalk (EB)
Elastic beanstalk is a AWS managed service that manages EC2 instances. You provide a configuration such as networking, storage, scaling and the application to run. The application can be shipped in a container image or on a specific programming language that EB supports.
Besides, EB provides a way of making the process repeatable and prevent the possible human error during deployment.
Cloud formation is a service that AWS provides to provision services through scripts (code tool). Through XML or JSON declarative scripts called CloudFormation templates. This kind of approach of serving infrastructure on a coded basis is known as Infrastructure as Code (IaC), CloudFormation is for AWS, but, there are other tools that supports another cloud providers such as [terraform]/certification/2021/08/07/terraform-hashicorp-certification.html.
calls to AWS apis ________________ | | CloudFormation template ---------> | Aws Formation | -----------> AWS services |________________|
The CloudFormation approach decouples the what yuo want to build from how to build it. The CloudFormation takes cares of the how, and you, the what.
Table of contents
- Module 3 - global infrastructure
- Module 3 - Edge locations
- Module 3 - How to provision AWS resources