Amazon Web Services (AWS) Presentation
What is AWS?
Amazon Web Services (AWS) is the most comprehensive and widely used cloud platform in the world. Launched in 2006 by Amazon, it offers more than 200 services covering computing, storage, databases, analytics, machine learning, and much more.
┌─────────────────────────────────────────────────────────────┐
│ AWS │
│ │
│ "Cloud computing, simplified and at scale" │
│ │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ Compute │ │ Storage │ │Database │ │ Network │ │
│ │ EC2 │ │ S3 │ │ RDS │ │ VPC │ │
│ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │
│ │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │Serverless│ │Security │ │ AI/ML │ │ DevOps │ │
│ │ Lambda │ │ IAM │ │SageMaker│ │CodePipe │ │
│ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │
│ │
│ + 200 other services... │
└─────────────────────────────────────────────────────────────┘
AWS History
Timeline AWS
────────────────────────────────────────────────────────────────
2002 │ Amazon starts selling its excess capacity
│
2004 │ Launch of SQS (Simple Queue Service)
│
2006 │ 🚀 Official launch of AWS with S3 and EC2
│
2007 │ SimpleDB, improved SQS
│
2009 │ VPC, RDS, CloudFront
│
2012 │ DynamoDB, Redshift
│
2014 │ Lambda (revolutionary serverless)
│
2016 │ AI/ML services
│
2020+ │ 200+ services, global leader
────────────────────────────────────────────────────────────────
AWS Global Infrastructure
Regions and Availability Zones
AWS organizes its infrastructure into Regions and Availability Zones (AZ):
┌─────────────────────────────────────────────────────────────────┐
│ AWS REGION (e.g., us-east-1) │
│ │
│ ┌───────────────┐ ┌───────────────┐ ┌───────────────┐ │
│ │ AZ-1a │ │ AZ-1b │ │ AZ-1c │ │
│ │ │ │ │ │ │ │
│ │ ┌───┐ ┌───┐ │ │ ┌───┐ ┌───┐ │ │ ┌───┐ ┌───┐ │ │
│ │ │DC1│ │DC2│ │ │ │DC3│ │DC4│ │ │ │DC5│ │DC6│ │ │
│ │ └───┘ └───┘ │ │ └───┘ └───┘ │ │ └───┘ └───┘ │ │
│ │ │ │ │ │ │ │
│ └───────┬───────┘ └───────┬───────┘ └───────┬───────┘ │
│ │ │ │ │
│ └──────────────────┼──────────────────┘ │
│ │ │
│ High-speed, low-latency network │
│ │
│ • Each AZ = 1 or more datacenters │
│ • AZs physically isolated (earthquake, flood) │
│ • Connected to each other at very high speed │
└─────────────────────────────────────────────────────────────────┘
Main AWS Regions (2024)
| Region Code | Name | Location |
|---|---|---|
| us-east-1 | N. Virginia | US East |
| us-west-2 | Oregon | US West |
| eu-west-1 | Ireland | Europe |
| eu-central-1 | Frankfurt | Central Europe |
| ca-central-1 | Canada | Montreal 🇨🇦 |
| ap-northeast-1 | Tokyo | Japan |
| ap-southeast-1 | Singapore | Southeast Asia |
For this course, we will often use ca-central-1 (Montreal) because it is geographically close and meets Canadian data sovereignty requirements.
Why Multiple AZs?
Scenario: AZ Outage
BEFORE (1 AZ only) AFTER (Multi-AZ)
┌─────────────────┐ ┌─────────────────┐
│ AZ-1a │ │ AZ-1a │
│ [Server] │ ──────► │ [Server] ✓ │
│ ❌ │ └────────┬────────┘
│ OUTAGE! │ │
└─────────────────┘ ┌────────┴────────┐
│ AZ-1b │
Application DOWN │ [Server] ✓ │
└─────────────────┘
Application UP!
Main AWS Services
Service Categories
┌─────────────────────────────────────────────────────────────┐
│ AWS SERVICES │
├─────────────────────────────────────────────────────────────┤
│ │
│ COMPUTE STORAGE │
│ ├── EC2 ├── S3 │
│ ├── Lambda ├── EBS │
│ ├── ECS/EKS ├── EFS │
│ └── Lightsail └── Glacier │
│ │
│ DATABASE NETWORK │
│ ├── RDS ├── VPC │
│ ├── DynamoDB ├── Route 53 │
│ ├── Aurora ├── CloudFront │
│ └── ElastiCache └── ELB │
│ │
│ SECURITY MANAGEMENT │
│ ├── IAM ├── CloudWatch │
│ ├── KMS ├── CloudFormation │
│ ├── WAF ├── CloudTrail │
│ └── Shield └── Systems Manager │
│ │
└─────────────────────────────────────────────────────────────┘
Services Covered in this Course
| Service | Description | Week |
|---|---|---|
| EC2 | Virtual machines | 2-4 |
| EBS | Block storage | 4 |
| VPC | Virtual network | 5-7 |
| ELB | Load balancer | 8 |
| Auto Scaling | Automatic scaling | 9 |
| Route 53 | DNS | 10 |
| Lambda | Serverless | 11-12 |
| CloudWatch | Monitoring | 13 |
| CloudFormation | IaC | 15 |
Shared Responsibility Model
AWS uses a shared responsibility model for security:
┌─────────────────────────────────────────────────────────────┐
│ CUSTOMER RESPONSIBILITY │
│ "Security IN the cloud" │
├─────────────────────────────────────────────────────────────┤
│ • Customer data │
│ • Platform, applications, identity management │
│ • OS, network, firewall configuration │
│ • Client-side encryption │
│ • Network traffic protection │
├─────────────────────────────────────────────────────────────┤
│ │
├─────────────────────────────────────────────────────────────┤
│ AWS RESPONSIBILITY │
│ "Security OF the cloud" │
├─────────────────────────────────────────────────────────────┤
│ • Global infrastructure (Regions, AZ, Edge) │
│ • Hardware / physical infrastructure │
│ • Physical network │
│ • Hypervisor │
│ • Physical storage │
└─────────────────────────────────────────────────────────────┘
YOU are responsible for configuring your Security Groups, your passwords, and your data. AWS does not do it for you!
Access to AWS
3 Access Methods
┌─────────────────────────────────────────────────────────────┐
│ ACCESS TO AWS │
├─────────────────────────────────────────────────────────────┤
│ │
│ 1. WEB CONSOLE │
│ ┌─────────────────────────────────────┐ │
│ │ 🌐 https://console.aws.amazon.com │ │
│ │ Graphical interface │ │
│ │ Ideal for discovery │ │
│ └─────────────────────────────────────┘ │
│ │
│ 2. AWS CLI (Command Line Interface) │
│ ┌─────────────────────────────────────┐ │
│ │ $ aws ec2 describe-instances │ │
│ │ Automation, scripts │ │
│ │ ✅ What we will use! │ │
│ └─────────────────────────────────────┘ │
│ │
│ 3. SDK (Software Development Kit) │
│ ┌─────────────────────────────────────┐ │
│ │ import boto3 # Python │ │
│ │ Integration into applications │ │
│ └─────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
Why AWS CLI?
In this course, we will primarily use AWS CLI because:
- Reproducible - Commands can be documented and replayed
- Automatable - Scripts and Infrastructure as Code
- Universal - Works with LocalStack (our emulator)
- Professional - Sought-after skill in the industry
AWS Pricing
"Pay-as-you-go" Model
┌─────────────────────────────────────────────────────────────┐
│ AWS PRICING │
├─────────────────────────────────────────────────────────────┤
│ │
│ You pay for: │
│ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ COMPUTE │ │ STORAGE │ │ TRANSFER │ │
│ │ Per hour │ │ Per GB │ │ Per GB │ │
│ │ or second │ │ per month │ │ outgoing │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
│ │
│ Example EC2 t3.micro: │
│ • $0.0104/hour (us-east-1) │
│ • ~$7.50/month if on 24/7 │
│ │
│ 💡 Tip: Turn off your unused instances! │
└─────────────────────────────────────────────────────────────┘
AWS Free Tier
AWS offers a free tier for new accounts:
| Service | Free for 12 months |
|---|---|
| EC2 | 750 hours/month (t2.micro) |
| S3 | 5 GB of storage |
| RDS | 750 hours/month (db.t2.micro) |
| Lambda | 1 million requests/month |
We will NOT use real AWS accounts. LocalStack allows us to practice for free and without billing risk.
AWS Compute Services
Here are the main compute services we will study:
EC2 (Elastic Compute Cloud)
┌─────────────────────────────────────────────────────────────┐
│ EC2 │
├─────────────────────────────────────────────────────────────┤
│ │
│ Virtual machine in the cloud │
│ │
│ ┌─────────────────────────────────────────────────┐ │
│ │ EC2 Instance │ │
│ │ ┌─────────────────────────────────────────┐ │ │
│ │ │ OS: Linux / Windows │ │ │
│ │ │ CPU: 1 to 448 vCPU │ │ │
│ │ │ RAM: 0.5 to 24 TB │ │ │
│ │ │ Storage: EBS or Instance Store │ │ │
│ │ └─────────────────────────────────────────┘ │ │
│ └─────────────────────────────────────────────────┘ │
│ │
│ Use cases: │
│ • Web servers │
│ • Business applications │
│ • Databases │
│ • Development environments │
└─────────────────────────────────────────────────────────────┘
Lambda (Serverless)
┌─────────────────────────────────────────────────────────────┐
│ LAMBDA │
├─────────────────────────────────────────────────────────────┤
│ │
│ Run code without managing servers │
│ │
│ Event ──► ┌────────────┐ ──► Result │
│ │ Function │ │
│ │ Lambda │ │
│ └────────────┘ │
│ │
│ Features: │
│ • No server to manage │
│ • Automatic scaling │
│ • Pay per execution (milliseconds) │
│ • Languages: Python, Node.js, Java, Go, etc. │
│ │
│ Use cases: │
│ • APIs │
│ • Event processing │
│ • Automation │
└─────────────────────────────────────────────────────────────┘
Summary
| Concept | Description |
|---|---|
| AWS | World's #1 cloud platform, 200+ services |
| Region | Geographical area with multiple AZs |
| AZ | Isolated datacenter(s) in a region |
| EC2 | Cloud virtual machines |
| Lambda | Serverless functions |
| Console | Web interface to manage AWS |
| CLI | Command line to automate |
| Shared responsibility | AWS manages the cloud, you manage in the cloud |
Validation Quiz
- In what year was AWS officially launched?
- What is an Availability Zone?
- What is the AWS region in Canada?
- Name 3 methods to access AWS.
- What is the shared responsibility model?
- What is the difference between EC2 and Lambda?
Next section: AWS CLI Installation