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..
- Deepen my understanding of AWS services and CDK patterns
- Discover edge cases that documentation doesn't cover
- Build practical experience with architectures I'd never encounter in my day job
- Create reusable patterns for future projects
- 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)
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)
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)
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)
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)