AWS for DevOps — Practice Projects

3 minute read

What You Will Learn

This chapter contains five hands-on projects that combine multiple AWS services into real-world scenarios. Each project mirrors what you would build in a production environment.

Real-World Analogy: Reading about swimming doesn’t make you a swimmer — you have to get in the pool. These projects are your pool.


Chapter Overview

# Project Services Used Difficulty
1 Production VPC VPC, Subnets, NAT, NACLs, Security Groups ⭐⭐
2 ECS Fargate with CI/CD ECS, Fargate, ECR, CodePipeline, ALB ⭐⭐⭐
3 Serverless REST API API Gateway, Lambda, DynamoDB, Cognito ⭐⭐⭐
4 CloudFormation 3-Tier App CloudFormation, EC2, RDS, ALB, ASG ⭐⭐⭐⭐
5 Monitoring & Alerting System CloudWatch, SNS, Lambda, EventBridge ⭐⭐⭐

Architecture Diagram — All Projects Combined

┌─────────────────────────────────────────────────────────────────┐
│                        AWS CLOUD                                │
│                                                                 │
│  ┌──────────────────── Project 1 ─────────────────────┐        │
│  │  Production VPC                                     │        │
│  │  ┌────────────┐  ┌────────────┐  ┌──────────────┐ │        │
│  │  │ Public Sub │  │ Private Sub│  │ Database Sub │ │        │
│  │  │  (NAT GW)  │  │ (App Tier) │  │  (RDS)       │ │        │
│  │  └────────────┘  └────────────┘  └──────────────┘ │        │
│  └────────────────────────────────────────────────────┘        │
│                                                                 │
│  ┌──────────────────── Project 2 ─────────────────────┐        │
│  │  ECS Fargate + CI/CD                                │        │
│  │  CodeCommit → CodeBuild → ECR → CodeDeploy → ECS  │        │
│  │                                    ↓                │        │
│  │                                   ALB               │        │
│  └────────────────────────────────────────────────────┘        │
│                                                                 │
│  ┌──────────────────── Project 3 ─────────────────────┐        │
│  │  Serverless REST API                                │        │
│  │  Cognito → API GW → Lambda → DynamoDB             │        │
│  └────────────────────────────────────────────────────┘        │
│                                                                 │
│  ┌──────────────────── Project 4 ─────────────────────┐        │
│  │  CloudFormation 3-Tier                              │        │
│  │  CFN Stack → VPC + ALB + ASG + EC2 + RDS           │        │
│  └────────────────────────────────────────────────────┘        │
│                                                                 │
│  ┌──────────────────── Project 5 ─────────────────────┐        │
│  │  Monitoring & Alerting                              │        │
│  │  CloudWatch → Alarms → SNS → Lambda (auto-heal)   │        │
│  │  EventBridge Rules → Automated Response            │        │
│  └────────────────────────────────────────────────────┘        │
└─────────────────────────────────────────────────────────────────┘

How to Use These Projects

Work through the projects in order — each builds on concepts from the previous one:

Step Project Why This Order
1 Production VPC Everything else runs inside a VPC
2 ECS Fargate CI/CD Containers need networking from Project 1
3 Serverless API Serverless still uses VPC for private resources
4 CloudFormation 3-Tier Automate what you built manually in 1-3
5 Monitoring & Alerting Monitor everything from Projects 1-4

Tips for Success

Tip Details
Use Free Tier Most services have a free tier — use it
Tag everything Add Project: practice-N tags to all resources
Clean up after Delete resources when done to avoid charges
Take notes Document what you learn — it helps retention
Break things Intentionally cause failures to practice debugging

Cost Warning

⚠️ Important: Some projects create resources that incur charges (NAT Gateways, ALBs, RDS). Always clean up resources after completing each project. Set up a Billing Alarm (Chapter 14) before you start.


Prerequisites

Before starting the projects, make sure you have:

Prerequisite How to Verify
AWS Account Log in to console.aws.amazon.com
AWS CLI installed aws --version
AWS CLI configured aws sts get-caller-identity
Billing alarm set Check CloudWatch Alarms
Basic AWS knowledge Completed Chapters 1-14
# Quick verification
$ aws --version
aws-cli/2.15.0 Python/3.11.6 Darwin/23.0.0

$ aws sts get-caller-identity
{
    "UserId": "AIDACKCEVSQ6C2EXAMPLE",
    "Account": "123456789012",
    "Arn": "arn:aws:iam::123456789012:user/devops-student"
}

Project Complexity Guide

Difficulty Scale:

⭐        = Beginner (30-60 minutes)
⭐⭐      = Intermediate (1-2 hours)
⭐⭐⭐    = Advanced (2-4 hours)
⭐⭐⭐⭐  = Expert (4-8 hours)

Common Mistakes

Mistake Impact Prevention
Not setting billing alarm Unexpected charges Set up before any project
Forgetting to clean up Ongoing costs Use aws cloudformation delete-stack
Skipping the VPC project Networking confusion later Always start with Project 1
Not reading error messages Wasted debugging time Read the full error before searching
Using root account Security risk Create an IAM user first

Quick Reference

Resource Free Tier Paid
VPC Free Free
Subnets Free Free
NAT Gateway ❌ ~$0.045/hr
ALB 750 hrs/month (12 months) ~$0.0225/hr
EC2 t2.micro 750 hrs/month (12 months) ~$0.0116/hr
RDS db.t3.micro 750 hrs/month (12 months) ~$0.017/hr
Lambda 1M requests/month free $0.20/1M requests
DynamoDB 25 GB free $0.25/GB-month
ECS Fargate ❌ ~$0.04/vCPU/hr

Next → Project 1: Production VPC

Updated: