Why Learn This Way?
Reading documentation and watching tutorials only gets you so far. The real learning happens when you're debugging why your EC2 instance can't reach the internet at 2 AM, or figuring out why your Lambda function is timing out.
This series documents my journey of building small, practical projects on AWS — each one designed to teach me something new about cloud infrastructure, while also being useful enough to deploy in a real environment.
The Project Structure
Each project in this series will follow a consistent format:
- The Problem — What are we trying to solve?
- The Architecture — How do the pieces fit together?
- The Implementation — Step-by-step walkthrough with code
- The Learnings — What did I learn? What would I do differently?
- The Cost — How much does it cost to run?
First Project Preview
The first project will be setting up a basic VPC with public and private subnets, NAT gateway, and an EC2 instance that can be accessed via SSH. Sounds simple? There's more to it than you might think.
# main.tf - VPC Configuration
resource "aws_vpc" "main" {
cidr_block = "10.0.0.0/16"
enable_dns_hostnames = true
enable_dns_support = true
tags = {
Name = "learning-vpc"
Environment = "development"
}
}
What's Coming Next
Here's a sneak peek at the projects I'm planning for this series:
- VPC Fundamentals — Networking basics with public/private subnets
- Auto-Scaling Web App — EC2 + ALB + Auto Scaling Groups
- Serverless API — Lambda + API Gateway + DynamoDB
- CI/CD Pipeline — CodePipeline + CodeBuild + ECR
- Monitoring Setup — CloudWatch + SNS Alerts
"The best way to learn is by doing. The second best way is by breaking things and fixing them."
Stay tuned for the first full project write-up. If you want to follow along or have suggestions for projects, feel free to reach out!