Skip to main content

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 CodeNameLocation
us-east-1N. VirginiaUS East
us-west-2OregonUS West
eu-west-1IrelandEurope
eu-central-1FrankfurtCentral Europe
ca-central-1CanadaMontreal 🇨🇦
ap-northeast-1TokyoJapan
ap-southeast-1SingaporeSoutheast Asia
Canadian Region

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​

ServiceDescriptionWeek
EC2Virtual machines2-4
EBSBlock storage4
VPCVirtual network5-7
ELBLoad balancer8
Auto ScalingAutomatic scaling9
Route 53DNS10
LambdaServerless11-12
CloudWatchMonitoring13
CloudFormationIaC15

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 │
└─────────────────────────────────────────────────────────────┘
Important

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:

  1. Reproducible - Commands can be documented and replayed
  2. Automatable - Scripts and Infrastructure as Code
  3. Universal - Works with LocalStack (our emulator)
  4. 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:

ServiceFree for 12 months
EC2750 hours/month (t2.micro)
S35 GB of storage
RDS750 hours/month (db.t2.micro)
Lambda1 million requests/month
For this course

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​

ConceptDescription
AWSWorld's #1 cloud platform, 200+ services
RegionGeographical area with multiple AZs
AZIsolated datacenter(s) in a region
EC2Cloud virtual machines
LambdaServerless functions
ConsoleWeb interface to manage AWS
CLICommand line to automate
Shared responsibilityAWS manages the cloud, you manage in the cloud

Validation Quiz​

  1. In what year was AWS officially launched?
  2. What is an Availability Zone?
  3. What is the AWS region in Canada?
  4. Name 3 methods to access AWS.
  5. What is the shared responsibility model?
  6. What is the difference between EC2 and Lambda?

Next section: AWS CLI Installation