☁️ Week 5: AWS Cloud

Day 1: Cloud Computing Basics

⏱ Duration: 5 Hours

📚 Learning Objectives

  • Understand what cloud computing is and its benefits
  • Differentiate between IaaS, PaaS, and SaaS
  • Get introduced to AWS and its global infrastructure
  • Create and configure an AWS account
  • Navigate the AWS Management Console

📖 Core Concepts (2 Hours)

What is Cloud Computing?

Cloud computing delivers computing services—servers, storage, databases, networking, software—over the internet ("the cloud") with pay-as-you-go pricing.

  • On-Demand: Resources available when you need them
  • Scalable: Scale up or down based on demand
  • Cost-Effective: Pay only for what you use
  • Global: Deploy worldwide in minutes
  • Reliable: Built-in redundancy and backup

Cloud Service Models

┌─────────────────────────────────────────────────────────┐ │ YOU MANAGE │ ├─────────────────────────────────────────────────────────┤ │ On-Premises │ IaaS │ PaaS │ SaaS │ ├──────────────┼─────────────┼─────────────┼─────────────┤ │ Applications │ Applications│ Applications│ │ │ Data │ Data │ Data │ │ │ Runtime │ Runtime │ │ │ │ Middleware │ Middleware │ │ │ │ O/S │ O/S │ │ │ ├──────────────┼─────────────┼─────────────┼─────────────┤ │ │ PROVIDER │ PROVIDER │ PROVIDER │ │ Virtualization│Virtualization│ Runtime │ Everything │ │ Servers │ Servers │ Middleware │ │ │ Storage │ Storage │ O/S │ │ │ Networking │ Networking │ + below │ │ └──────────────┴─────────────┴─────────────┴─────────────┘ Examples: • IaaS: AWS EC2, Azure VMs, Google Compute Engine • PaaS: AWS Elastic Beanstalk, Heroku, Google App Engine • SaaS: Gmail, Salesforce, Microsoft 365

AWS Global Infrastructure

AWS Infrastructure Hierarchy: Regions (30+): ├── Geographic areas (us-east-1, eu-west-1, ap-south-1) ├── Multiple Availability Zones per region └── Data sovereignty and compliance Availability Zones (AZs): ├── Isolated data centers within a region ├── Connected via low-latency links └── Design for high availability Edge Locations (400+): ├── Content delivery (CloudFront CDN) ├── Reduced latency for end users └── Global reach

Core AWS Services Overview

Compute: EC2, Lambda, ECS, EKS Storage: S3, EBS, EFS, Glacier Database: RDS, DynamoDB, Aurora, ElastiCache Networking: VPC, Route 53, CloudFront, ELB Security: IAM, KMS, WAF, Shield Management: CloudWatch, CloudTrail, Config Developer Tools: CodePipeline, CodeBuild, CodeDeploy

🔬 Hands-on Lab (2.5 Hours)

Lab 1: Create AWS Account

  • Go to aws.amazon.com and click "Create an AWS Account"
  • Provide email, password, and account name
  • Enter contact and billing information
  • Verify phone number
  • Select Support Plan (Free tier available)
# AWS Account Best Practices: 1. Use a unique email for root account 2. Enable MFA on root account immediately 3. Don't use root for daily tasks 4. Create IAM users for regular work 5. Set up billing alerts

Lab 2: Set Up AWS CLI

  • Install AWS CLI v2
  • Configure credentials
  • Test connection
# Install AWS CLI (Linux) curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" unzip awscliv2.zip sudo ./aws/install # Verify installation aws --version # Configure AWS CLI aws configure # Enter: # AWS Access Key ID: your-access-key # AWS Secret Access Key: your-secret-key # Default region name: us-east-1 # Default output format: json # Test connection aws sts get-caller-identity

Lab 3: Explore AWS Console

  • Navigate to different services
  • Understand the region selector
  • Set up billing alerts
# Console Navigation Tips: 1. Use search bar (Alt+S) to find services 2. Pin frequently used services to toolbar 3. Check region in top-right corner 4. Use CloudShell for CLI without local setup # Set up billing alert via CLI aws cloudwatch put-metric-alarm \ --alarm-name "BillingAlert10USD" \ --metric-name EstimatedCharges \ --namespace AWS/Billing \ --statistic Maximum \ --period 21600 \ --threshold 10 \ --comparison-operator GreaterThanThreshold \ --dimensions Name=Currency,Value=USD \ --evaluation-periods 1 \ --alarm-actions arn:aws:sns:us-east-1:account-id:billing-alerts # List available regions aws ec2 describe-regions --output table

Lab 4: Free Tier Awareness

  • Review AWS Free Tier offerings
  • Understand free tier limits
  • Set up cost monitoring
# AWS Free Tier Highlights (12 months): - EC2: 750 hours/month t2.micro or t3.micro - S3: 5 GB storage, 20,000 GET, 2,000 PUT - RDS: 750 hours/month db.t2.micro - Lambda: 1 million requests/month (always free) - CloudWatch: 10 custom metrics, 10 alarms # Check your current usage aws ce get-cost-and-usage \ --time-period Start=2024-01-01,End=2024-01-31 \ --granularity MONTHLY \ --metrics "BlendedCost" "UnblendedCost"

✅ Day 1 Checklist

  • Understand cloud computing and its benefits
  • Know the difference between IaaS, PaaS, SaaS
  • AWS account created and secured
  • AWS CLI installed and configured
  • Can navigate AWS Console
  • Billing alerts configured