25 Days of DevOps Challenges

Advent of DevOps

Level up your DevOps skills with 25 days of hands-on challenges

25 Days
Hands-on Challenges
Real-world Skills
Community Progress1 / 25 days

Advent of DevOps - 25 Day Challenge

Welcome to the Advent of DevOps! This is a hands-on, practical challenge designed to help you level up your DevOps skills through 25 days of real-world scenarios and tasks.

What is Advent of DevOps?

Inspired by the popular Advent of Code, Advent of DevOps is a series of 25 daily challenges covering essential DevOps practices, tools, and techniques. Each day presents a unique challenge that you can complete at your own pace.

What You'll Learn

  • Containerization: Docker optimization, debugging, and best practices
  • CI/CD: GitHub Actions workflows, caching, and automation
  • Infrastructure as Code: Terraform modules and cloud deployments
  • Kubernetes: Deployments, debugging, and Helm charts
  • Observability: Monitoring, logging, and metrics
  • Security: Container scanning, secrets management, and hardening
  • Cloud Platforms: Serverless, static sites, and autoscaling
  • DevOps Culture: Best practices, documentation, and collaboration

How It Works

  1. Choose a Day: Start with Day 1 or jump to any challenge that interests you
  2. Read the Challenge: Each day includes a clear task description and success criteria
  3. Complete the Task: Work through the challenge using the provided resources
  4. Share Your Solution: Tag @thedevopsdaily on social media with your progress
  5. Learn and Iterate: Review explanations and improve your solutions

Challenge Format

Each daily challenge includes:

  • Title: What you'll be working on
  • Description: Context and background
  • Task: What you need to accomplish
  • Target: Success criteria and goals
  • Sample App: Starter code or resources (when applicable)
  • Solution: Reference implementation
  • Explanation: Why it matters and key concepts
  • Result: What you should achieve
  • Links: Additional resources and documentation

Community

Join thousands of DevOps practitioners taking the challenge! Share your progress, solutions, and learnings:

Get Started

Ready to begin? Choose your first challenge:

Start with Day 1: Build a Minimal Docker Image

Or browse all challenges below!

Daily Challenges

Choose any day to start your DevOps learning journey

1
🐳
Beginner

Build a Minimal Docker Image

Learn to create the smallest possible Docker image for a Python or Node.js application. Optimize for size, security, and performance.

Docker
πŸ”’
Unlocks Dec 2
2
🐳
Beginner

Fix the Slow Docker Build

Debug and optimize a poorly written Dockerfile to reduce build time by at least 50%. Learn layer caching, build optimization, and best practices.

Docker
πŸ”’
Unlocks Dec 3
3
πŸ”„
Beginner

Add GitHub Actions CI

Set up continuous integration for a repository without automation. Create a GitHub Actions workflow that runs tests on every push.

CI/CD
πŸ”’
Unlocks Dec 4
4
πŸ”„
Intermediate

Speed Up CI with Caching

Optimize a slow GitHub Actions workflow by adding intelligent caching for dependencies. Achieve 40% faster run times.

CI/CD
πŸ”’
Unlocks Dec 5
5
🐳
Beginner

Debug a Broken Container

Troubleshoot and fix a container that fails to start. Learn essential debugging techniques for containerized applications.

Docker
πŸ”’
Unlocks Dec 6
6
πŸ—οΈ
Intermediate

Write a Small Terraform Module

Create your first reusable Terraform module to provision cloud infrastructure. Learn infrastructure as code fundamentals.

Infrastructure as Code
πŸ”’
Unlocks Dec 7
7
πŸ—οΈ
Advanced

Improve the Terraform Module

Enhance your Terraform module with advanced features like testing, documentation, and CI/CD integration.

Infrastructure as Code
πŸ”’
Unlocks Dec 8
8
☸️
Intermediate

Deploy a Small App on Kubernetes

Deploy your first application to Kubernetes using Deployments, Services, and ConfigMaps. Learn the fundamentals of K8s.

Kubernetes
πŸ”’
Unlocks Dec 9
9
☸️
Intermediate

Fix a Failing Pod

Debug and fix a Kubernetes pod that crashes on startup. Master essential troubleshooting techniques.

Kubernetes
πŸ”’
Unlocks Dec 10
10
☸️
Advanced

Wrap the App in a Helm Chart

Package your Kubernetes application as a Helm chart for easy deployment and management across environments.

Kubernetes
πŸ”’
Unlocks Dec 11
11
πŸ‘οΈ
Intermediate

Basic Observability

Set up monitoring and logging for your Kubernetes application with Prometheus and Grafana.

Observability
πŸ”’
Unlocks Dec 12
12
πŸ‘οΈ
Intermediate

Log Parsing

Parse and analyze application logs to extract meaningful insights and debug production issues.

Observability
πŸ”’
Unlocks Dec 13
13
πŸ”’
Intermediate

Security Scan

Scan container images and infrastructure code for security vulnerabilities and misconfigurations.

Security
πŸ”’
Unlocks Dec 14
14
☸️
Advanced

Networking Debugging

Debug network connectivity issues in Kubernetes including DNS, service discovery, and network policies.

Kubernetes
πŸ”’
Unlocks Dec 15
15
πŸ€–
Beginner

Bash Scripting Day

Write a practical bash script to automate common DevOps tasks like deployments, backups, and health checks.

Automation
πŸ”’
Unlocks Dec 16
16
☸️
Intermediate

Autoscaling

Configure horizontal pod autoscaling in Kubernetes to automatically scale applications based on CPU and memory usage.

Kubernetes
πŸ”’
Unlocks Dec 17
17
⚑
Intermediate

Serverless Deploy

Deploy a serverless function to AWS Lambda with API Gateway, learning modern serverless architecture patterns.

Serverless
πŸ”’
Unlocks Dec 18
18
☁️
Beginner

Deploy a Static Site

Deploy a static website to AWS S3 with CloudFront CDN for global performance and HTTPS support.

Cloud
πŸ”’
Unlocks Dec 19
19
⚑
Intermediate

Load Testing

Perform load testing on your application to identify performance bottlenecks and capacity limits.

Performance
πŸ”’
Unlocks Dec 20
20
πŸ”’
Intermediate

Secrets Management

Securely manage application secrets and credentials using AWS Secrets Manager, Kubernetes Secrets, and best practices.

Security
πŸ”’
Unlocks Dec 21
21
πŸ€–
Intermediate

Create a Reusable Template Repo

Build a GitHub template repository with DevOps best practices baked in for quick project bootstrapping.

Automation
πŸ”’
Unlocks Dec 22
22
☸️
Beginner

Run a Local Cluster

Set up a local Kubernetes cluster with Minikube or Kind for development and testing without cloud costs.

Kubernetes
πŸ”’
Unlocks Dec 23
23
🐳
Advanced

Container Networking Puzzle

Solve complex container networking challenges involving multi-container apps, custom networks, and service discovery.

Docker
πŸ”’
Unlocks Dec 24
24
πŸ”’
Advanced

Harden a Config

Apply security hardening best practices to application configurations, containers, and infrastructure.

Security
πŸ”’
Unlocks Dec 25
25
πŸ“
Beginner

Write Your DevOps Journey

Reflect on your DevOps learning journey, document what you built, and share your knowledge with the community.

Career

Ready to Start Your Journey?

Join the community and share your progress with @thedevopsdaily