A look at core Amazon Web Services (AWS) services with an emphasis on implementation and skill development. You will start with a simple web application on a single Elastic Cloud Compute (EC2) instance and improve the stack step by step by adding high availability, fault-tolerance, scalability, security and ease of deployment. The course has 8 modules and a capstone project, code, and commands required for the project are included.
You will learn about these AWS services - Elastic Cloud Compute (EC2), Elastic Block Store (EBS), Relational Database Service (RDS), Simple Storage Service (S3), DynamoDB, Identity and Access Management (IAM), ElastiCache, CloudFront, Elastic Beanstalk and Virtual Private Cloud (VPC).
You will use these important aspects of AWS:
- Infrastructure: AWS Regions and Availability Zones.
- EC2: Amazon Machine Images, EBS Snapshots, Application Load Balancers, Sticky Sessions, Auto-Scaling Groups.
- Databases: RDS Read Replicas, RDS Multi-AZ Deployment, Memcached clusters.
- Network: Public and Private Subnets, VPC Service Endpoints, Security Groups, NAT Gateways.
- Security: IAM Roles, IAM policies, S3 bucket policies, S3 Access Control Lists, CloudFront signed URLs.
- App development: AWS SDK.
You will implement these AWS best practices:
- Configure separate root and data EBS volumes.
- Create snapshots of EBS data volumes.
- Create Amazon Machine Images of your app servers.
- Use multiple instances and multiple zones.
- Centralize sessions, content and the database.
- Use auto-scaling groups for your app servers.
- Off-load database requests to read replicas or to in-memory databases.
- Use a Content Distribution Network to deliver content to users around the world.
- Use signed URLs when delivering private content.
- Configure security using the principle of least privileges.
- Use an automation platform for frequent deployments.
You will understand AWS best practices for typical web app functions:
- Session management.
- Content delivery.
- Content security.
- Databases.