DEV Community

Cover image for Introducing: AWS CDK 100 Drill Exercises - Learn by Building

Introducing: AWS CDK 100 Drill Exercises - Learn by Building

Introducing: AWS CDK 100 Drill Exercises

What is AWS CDK 100 Drill Exercises?

AWS CDK 100 Drill Exercises is a comprehensive, hands-on learning series where I'll create and share 100 practical AWS infrastructure implementations using the AWS Cloud Development Kit (CDK). Each exercise focuses on real-world scenarios, from basic networking setups to advanced multi-region architectures.

Goal: Master AWS CDK through deliberate practice while building a valuable reference library for the community.

🏷️ Tags for This Series

I'm using #100drillexercises as a dedicated tag for this learning series. Follow this tag to track all exercises as they're published!

Additional tags to stay updated:
#aws #cdk #devtools #100drillexercises

💡 The Inspiration Behind This Project

The idea came from an article (or book—my memory is a bit fuzzy!) about design practice. The author recommended a "100 design challenge" where you recreate existing designs, then analyze and reflect on each one. Through this repetitive, deliberate practice, designers expand their creative vocabulary and develop a deeper understanding of design principles.

When I read that, a question struck me:

Could this approach work for AWS CDK?

Why AWS CDK Needs This

The Problem: Limited Real-World Experience

In our day-to-day work, we typically encounter a limited set of infrastructure patterns.

  • Project constraints: Most engineers work on 1-3 projects per year
  • Pattern repetition: Similar architectures across projects
  • Limited exposure: Rarely get hands-on with cutting-edge patterns
  • Passive learning: Attending AWS Summit sessions and reading case studies is valuable, but without actually building, the knowledge doesn't stick

The Reality Check

I've experienced this countless times:

  • Watching AWS Summit technical sessions and thinking "I totally get this"
  • Reading company tech blogs about innovative architectures
  • Seeing lightning talks showcasing clever solutions
  • Admiring architecture diagrams in presentations

But here's the truth: Seeing ≠ Understanding

When you see an architecture diagram at a conference, you might think "That's clever!"

But when you actually sit down to implement it? Different story:

  • "Wait, how do they handle cross-account permissions?"
  • "What's the actual security group configuration?"
  • "How do they manage the deployment order?"
  • "Why is my Lambda timing out when theirs works perfectly?"

These questions only surface when you're hands-on-keyboard, building it yourself.

Learning by Doing

This project is built on a simple principle.

You don't truly understand something until you've built it yourself.

By implementing 100 different infrastructure patterns with AWS CDK, I'll..

  1. Deepen my understanding of AWS services and CDK patterns
  2. Discover edge cases that documentation doesn't cover
  3. Build practical experience with architectures I'd never encounter in my day job
  4. Create reusable patterns for future projects
  5. Document learnings to help others avoid common pitfalls

Will I make mistakes along the way? Absolutely. That's kind of the point.

Community Contribution

But this isn't just about my personal growth. I'm sharing this journey because..

For Learners

  • Progressive difficulty: From Level 100 (Foundational) to Level 400 (Expert)
  • Complete code examples: Every exercise includes working, tested code
  • Real-world focus: Patterns you'll actually use in production
  • Best practices: Following AWS Well-Architected Framework principles

For the Community

  • Reference library: Searchable collection of CDK patterns
  • Open source: All code available on GitHub
  • Collaborative learning: Feedback and improvements welcome
  • Bridge the gap: From concept to implementation

What to Expect

Exercise Structure

Every exercise provides these components.

  • Clear objectives: What you'll build and why
  • Architecture diagram: Visual overview of the infrastructure
  • Level indicator: 100/200/300/400 complexity rating
  • Step-by-step implementation: Annotated CDK code
  • Best practices: Security, cost optimization, operations tips
  • Verification steps: How to test your deployment
  • Common pitfalls: Issues I encountered and how to solve them

Coverage Areas

The 100 exercises cover these key areas.

  • Foundation & Networking: VPC, security groups, routing
  • Storage & Data: S3, RDS, DynamoDB, EFS
  • Compute & Serverless: Lambda, ECS, EC2, Auto Scaling
  • Distribution & CDN: CloudFront, Global Accelerator
  • Security & Compliance: IAM, Secrets Manager, KMS, Config
  • Monitoring & Observability: CloudWatch, X-Ray
  • DevOps & Automation: CI/CD pipelines, multi-region deployments

Release Schedule

  • Initial release: Building a Basic VPC
  • Regular updates: 1-2 new exercises per week
  • Community-driven: Taking requests and feedback

Exercise Levels & Focus Areas

The 100 exercises are organized by AWS's technical content complexity levels. Each level builds on previous knowledge while introducing new concepts and patterns.

Foundational (Level 100)

Level 100

Overview: Introduction to AWS CDK basics and fundamental AWS service configurations.

Target Audience:

  • AWS CDK beginners
  • Those learning Infrastructure as Code for the first time
  • Developers familiar with AWS Console wanting to learn CDK

Example Patterns:

  • Basic VPC with public/private subnets
  • S3 bucket with versioning and encryption
  • Single Lambda function with CloudWatch Logs
  • Security groups with simple ingress/egress rules

Intermediate (Level 200)

Level 200

Overview: Implementing best practices and service features with proper configurations.

Target Audience:

  • Developers comfortable with Level 100 concepts
  • Those implementing production-ready infrastructure
  • Engineers seeking to apply AWS best practices

Example Patterns:

  • VPC with NAT Gateways and proper routing
  • Static website hosting with S3 + CloudFront
  • Lambda with API Gateway integration
  • RDS with Multi-AZ configuration
  • Application Load Balancer setups

Advanced (Level 300)

Level 300

Overview: Detailed implementations of complex architectures and service integrations.

Target Audience:

  • Experienced CDK users
  • Solution architects designing scalable systems
  • Engineers handling complex production workloads

Example Patterns:

  • Multi-tier web applications with ECS/EKS
  • Event-driven architectures with EventBridge
  • Aurora Global Database configurations
  • Step Functions orchestration patterns
  • Custom CDK Constructs (L3) development

Expert (Level 400)

Level 400

Overview: Enterprise-level implementations involving multiple services, accounts, and advanced architectural patterns.

Target Audience:

  • Senior engineers and architects
  • Those managing large-scale AWS environments
  • Engineers implementing enterprise governance

Example Patterns:

  • Multi-account deployment strategies with CDK Pipelines
  • Cross-region disaster recovery architectures
  • Advanced security implementations (WAF, Shield, GuardDuty integration)
  • Cost optimization automation patterns
  • Hybrid cloud integration with Direct Connect

Who Is This For?

Is this guide right for you?

  • You're learning AWS CDK and want hands-on practice
  • You have basic AWS knowledge (or are working through it!)
  • You understand TypeScript/JavaScript fundamentals
  • You understand CloudFormation but want to level up to CDK
  • You're preparing for AWS certifications
  • You want to learn by building, not just reading
  • You appreciate well-documented, real-world examples

Getting Started

Prerequisites

  • AWS Account (Free Tier works for most exercises)
  • AWS CLI v2
  • Node.js 20+
  • AWS CDK CLI
  • Basic TypeScript knowledge

Follow Along

  • GitHub: All code available at aws-cdk-reference-architectures
  • Dev.to: Follow for new exercise announcements
  • Discussion: GitHub Discussions for questions and feedback

Join the Journey

This is a learning journey, not a finished course. I'm actively documenting my discoveries, incorporating community feedback, exploring new patterns, and developing my AWS skills in real-time.

  • Documenting my discoveries and mistakes
  • Incorporating community feedback
  • Exploring new patterns and architectures
  • Developing my AWS skills in real-time

How to Contribute

  • ⭐ Star the repository
  • 💬 Share your own implementations
  • 🐛 Report bugs or suggest improvements
  • 📢 Tell others if you find this useful
  • 🤔 Request patterns you need

💭 What patterns or architectures would you like to see covered in this series? Drop a comment below!

🔔 Follow me to get notified when new exercises are published!


This project is part of my journey as an AWS Community Builder in the Dev Tools category, focusing on helping developers build better with AWS CDK.

Top comments (0)