This hands-on course on AWS focuses on advanced architecture and design patterns used in AWS infrastructure. AWS provides cloud computing services that enable businesses to build sophisticated and scalable applications. Therefore, knowledge of these services and learning how to work with them in the cloud is crucial for businesses and professionals who are or will be working in the cloud.
Upon completion of the course, learners will be able to:
- Explain the fundamentals of Amazon Web Services
- Define storage components in cloud
- Deliver compute components in cloud
- Design database components in cloud
- Evaluate network components in cloud
- Secure cloud infrastructure
- Troubleshoot and monitor in cloud
Course Outline
Lesson 1: Fundamentals of Amazon Web Services
- Regions
- Availability Zones and Data Centers
- AWS Credentials
- Review of All AWS Services
Lesson 2: Amazon Simple Storage Service (S3)
- Fundamental APIs: PUT, GET, LIST, DELETE
- Consistency Model
o Types of Consistency Models for Distributed Storage
o S3’s Consistency Model
o Understanding Eventual Consistency - S3 Namespace
- Access Control List
- Bucket Policy
- Pre-signed URL
- Multipart Upload
- Understanding Pricing for S3
Hands-on: S3 Lab (Creating Buckets, Objects, and Managing Access Control) - Data encryption with S3
- Multipart upload
- Understanding Pricing for S3
- AWS Import/Export Service
- Server-Side logging
- Versioning of data in S3
- Architecture Case Study of Common Use Cases for S3
Lesson 3: Amazon Elastic Compute Cloud
- EC2 Architecture
- EC2 Instance Types
- Hardware Differences
- On-Demand Instances
- Reserved Instances
- Spot Instances
- Data Persistence Models
- Amazon Elastic Block Store (EBS)
- Amazon Machine Image (AMI)
- S3 AMI
- EBS AMI
- EC2 Security Model
- Security Credentials
- Sign-On Credentials
- Key Pairs
- X.509 Certificates
- Access Keys
- EC2 Security Groups
- Security Credentials
- Instance Addressing
- Generating Custom AMIs
- Working with EC2 Console
- Monitoring Instances with Amazon CloudWatch
- Amazon Elastic IP
Hands-on: Hosting an Application on EC2
Lesson 4: CloudWatch
- Architecture of CloudWatch
- APIs and Use Cases
- Canned Metrics
- Custom Metrics
Lesson 5: Amazon Relational Database Services (RDS)
- Core advantages of EBS
- Starting an EBS database instance
- Starting a read replica of the database
- High fault tolerance with Multi-AZ deployment
Hands-on: Deploying and scaling an application using RDS
Lesson 6: Elastic Load Balancing (ELB)
- Fundamentals of a Load Balancer
- Starting a Load Balancer Instance
- Sticky Sessions
- SSL Termination on ELB
Hands-on: Scaling the Application Using Amazon ELB
Lesson 7: Auto Scaling
- Understanding Auto-Scaling
- Auto-Scaling Fundamentals
- Setting Up Auto-Scaling Rules
Hands-on: Deploying an Auto-Scaling Application on the Cloud Using Auto-Scaling, EC2, RDS, and ELB
Lesson 8: Virtual Private Cloud (VPC)
- Deep Dive into AWS Networking Infrastructure
- VPC Networking Fundamentals
- Private and Public Subnets
- Allocation of IP Addresses
o CIDR Notation - Elastic Network Interface (ENI)
- Routing Inside VPC
- Network Address Translation (NAT)
o Internet Gateways
o Configuring Routes - VPN Tunnels to VPC
Hands-on: Deploying an Auto-Scaling Application on the Cloud Using Auto-Scaling, EC2, RDS, and ELB
Lesson 9: Identity and Access Management (IAM)
- Understanding IAM
- Groups and Users
- Application Roles in IAM
- Access Policies
- Federated Authentication in IAM
Hands-on: Generating Groups, Users, Access Policies, and Controls
Lesson 10: Route 53
- Deep Dive into DNS Architecture
- Using Route 53 for Your Domain Name
- Creating Name Server Entries
- Setting Up Health Checks
- Configuring for Multi-Location Applications
- Master-Slave Configuration
o Master-Master Configuration
o Weighted Round Robin
o Geo-Location Aware Routing
Hands-on: Moving an Existing Domain Name to Route 53 and Configuring Multi-Location Routing
Lesson 11: AWS CloudFormation and Tools
- Infrastructure as Code
- Understanding CloudFormation Template Subsections
- Generating Templates for Our Infrastructure
- Deploying Using CloudFormation
Hands-on: Generating and Deploying CloudFormation Templates
Lesson 12: Amazon CloudFront
- CDN Fundamentals
- Using CloudFront for Public Data
- Using CloudFront for Access-Controlled Data
Hands-on: Setting Up CloudFront CDN for an Application
Lesson 13: Amazon DynamoDB
- What is DynamoDB?
- DynamoDB Supported Platforms
- DynamoDB Concepts
- Types of Indexing