DevOps Projects is a curated collection of hands-on projects designed to help engineers learn and grow through real-world DevOps challenges. Inspired by platforms like CloudAcademy, Darey.io, and more, this open-source repository provides practical, end-to-end labs across various tools and technologies in the DevOps ecosystem.
Awesome Learn DevOps by Building ๐
A curated collection of hands-on DevOps projects to accelerate your learning journey
Learn by building real-world infrastructure, CI/CD pipelines, and cloud-native applications
Getting Started โข Beginner โข Intermediate โข Advanced โข Contributing
๐ About
This repository contains 30+ hands-on DevOps projects organized by difficulty level. Each project includes:
- ๐ Step-by-step documentation
- ๐ป Production-ready code examples
- ๐๏ธ Real-world architecture patterns
- โ Best practices and lessons learned
โจ Features
- ๐ฏ Learning Path: Projects organized from beginner to advanced
- ๐ ๏ธ Hands-on: Each project is meant to be built, not just read
- ๐ Multi-Cloud: Covers AWS, Azure, and GCP patterns
- ๐ฆ Full Stack: From infrastructure to application deployment
- ๐ GitOps Ready: Modern DevOps practices with Git-based workflows
- ๐ Security Focused: Includes security best practices and CI/CD security
๐ Table of Contents
- About
- Features
- Getting Started
- Beginner Projects
- Intermediate Projects
- Advanced Projects
- Project Roadmap
- Contributing
- Community
- License
๐ Getting Started
Prerequisites
Before starting, ensure you have the following installed:
# Essential Tools
git --version # Git for version control
docker --version # Docker for containerization
kubectl version # Kubernetes CLI
terraform version # Infrastructure as Code
Quick Start
# Clone the repository
git clone https://github.com/Caesarsage/Learn-DevOps-by-building.git
cd Learn-DevOps-by-building
Choose your difficulty level
ls beginner/ # Start here if you're new
ls intermediate/ # Ready for more challenge
ls advanced/ # Expert-level projects
Recommended Learning Path
1. Start with Linux basics (LAMP/LEMP Stack)
- Learn containerization (Docker projects)
- Master orchestration (Kubernetes)
- Automate with IaC (Terraform/Ansible)
- Build CI/CD pipelines
- Implement GitOps workflows
๐ฐ Beginner Projects
Perfect for those new to DevOps. Learn foundational concepts and tools.
๏ฟฝ Linux & Web Stacks
| Project | Description | Technologies | |---------|-------------|--------------| | LAMP Stack | Deploy Linux, Apache, MySQL, PHP stack | Linux Apache MySQL PHP | | LEMP Stack | Deploy Linux, Nginx, MySQL, PHP stack | Linux Nginx MySQL PHP | | MERN Stack | Full-stack JavaScript application | MongoDB Express React Node.js | | MEAN Stack | Angular-based full-stack app | MongoDB Express Angular Node.js | | Client-Server MySQL | Database architecture patterns | MySQL Linux Networking | | WordPress Solution | Complete WordPress deployment | WordPress MySQL Linux | | CI/CD with GitHub Actions | Automated deployment pipeline | GitHub Actions Node.js CI/CD |
๐ณ Docker
| Project | Description | Technologies | |---------|-------------|--------------| | Flask with Docker | Containerize Python Flask app | Docker Docker Compose Python Flask | | Container Runtime | Understand container runtime internals | Docker Containers Linux | | Docker Build Patterns | 8 Docker build architecture examples | Docker Multi-stage BuildKit Caching |
๐๏ธ Infrastructure as Code
| Project | Description | Technologies | |---------|-------------|--------------| | Terraform Basics | Provision cloud infrastructure | Terraform AWS/Azure IaC |
๐ Scripting
| Project | Description | Technologies | |---------|-------------|--------------| | Multi-Cloud Uploader | Upload files to multiple clouds | Bash AWS Azure GCP |
๐ Intermediate Projects
Ready for more? These projects dive deeper into cloud-native technologies.
โ๏ธ Cloud Services
| Project | Description | Technologies | |---------|-------------|--------------| | Azure App Service Monitoring | Deploy & monitor web apps | Azure App Service Monitoring | | Serverless Python on AWS | AWS Lambda with API Gateway | AWS Lambda API Gateway Serverless |
โธ๏ธ Kubernetes
| Project | Description | Technologies | |---------|-------------|--------------| | Kind Setup | Kubernetes in Docker for local dev | Kind Kubernetes Docker | | WordPress with Helm | Deploy WordPress using Helm charts | Helm Kubernetes WordPress | | GitOps with K8s | Git-based Kubernetes deployments | GitOps Flux/ArgoCD Kubernetes | | K8s Networking Lab | Network policies & service mesh | Kubernetes Networking CNI | | Canary Deployments | Canary release with traffic splitting & monitoring | Kubernetes Canary Traffic Management | | Istio Service Mesh | Service mesh with Istio traffic routing | Kubernetes Istio Service Mesh | | ๐ Multi-Tier App | Complete 3-tier app on K8s | Kubernetes React Node.js PostgreSQL Redis |
๐ Security & CI/CD
| Project | Description | Technologies | |---------|-------------|--------------| | CI Pipeline for Tooling | Continuous integration setup | Jenkins CI/CD Testing | | Security Pipeline | CI with security scanning | Jenkins SonarQube Artifactory |
๐ Kubernetes Security
| Project | Description | Technologies | |---------|-------------|--------------| | X.509 Client Cert Auth | Generate user certs, sign with cluster CA, bind to RBAC | Kubernetes X.509 TLS Authentication | | OIDC with Dex & kubelogin | Browser-based login with Dex, JWT tokens, and group-to-RBAC mapping | Kubernetes OIDC Dex kubelogin | | Encrypt Traffic with cert-manager | Issue & rotate TLS certs with cert-manager + Pebble; internal CA for service-to-service mTLS | Kubernetes cert-manager TLS Pebble trust-manager | | Zero-Trust Workload Identity with SPIFFE, SPIRE & Cilium | Cilium as CNI with built-in SPIRE, SPIRE-issued SVIDs, and a CiliumNetworkPolicy enforcing sidecarless mutual TLS between services on kind | Kubernetes Cilium SPIFFE SPIRE mTLS Zero Trust eBPF | | RBAC Baseline with kube-bench | Cluster security baseline scanning | Kubernetes kube-bench CIS Benchmark | | CI RBAC | RBAC for CI service accounts | Kubernetes RBAC CI/CD | | RBAC Auditing | Audit RBAC with rakkess & rbac-lookup | Kubernetes RBAC Security Auditing | | Security Admission | Pod security admission policies | Kubernetes Admission Controllers Security | | Falco Runtime Security | Runtime threat detection with Falco | Kubernetes Falco Runtime Security |
๐ค Ansible Automation
| Project | Description | Technologies | |---------|-------------|--------------| | Ansible Configuration | Configuration management basics | Ansible YAML Automation | | Ansible Refactoring | Static assignments & roles | Ansible Roles Best Practices | | Ansible Dynamic | Dynamic inventory & assignments | Ansible Dynamic Inventory |
๐ Load Balancing
| Project | Description | Technologies | |---------|-------------|--------------| | Nginx Load Balancer + SSL | HA with SSL/TLS termination | Nginx SSL/TLS Load Balancing |
๐ Advanced Projects
Expert-level projects for production-ready infrastructure and complex architectures.
๐๏ธ Terraform at Scale
| Project | Description | Technologies | |---------|-------------|--------------| | Terraform IaC Part 1 | Multi-tier infrastructure | Terraform AWS VPC Modules | | Terraform IaC Part 2 | State management & workspaces | Terraform Remote State Workspaces | | Terraform IaC Part 3 | Advanced patterns & CI/CD | Terraform GitOps Automation |
โธ๏ธ Production Kubernetes
| Project | Description | Technologies | |---------|-------------|--------------| | Multi-Server K8s | Container orchestration at scale | Kubernetes High Availability | | MongoDB + Express on K8s | Stateful apps on Kubernetes | Kubernetes MongoDB StatefulSets | | App Deployment Patterns | Blue-green, canary deployments | Kubernetes Deployment Strategies | | Data Persistence | PV, PVC, and storage classes | Kubernetes Storage Persistence |
๐ณ Docker in Production
| Project | Description | Technologies | |---------|-------------|--------------| | Cloud Migration with Docker | Migrate apps to containers | Docker Docker Compose Migration |
โ๏ธ AWS at Scale
| Project | Description | Technologies | |---------|-------------|--------------| | EKS with Terraform | Production EKS cluster | AWS EKS Terraform Kubernetes |
๐ Enterprise Networking
| Project | Description | Technologies | |---------|-------------|--------------| | Reverse Proxy Setup | Multi-company cloud architecture | Nginx HAProxy Networking |
๐บ๏ธ Project Roadmap
graph TD
A[Start Here] --> B[Linux Basics]
B --> C[Docker Fundamentals]
C --> D[Kubernetes Introduction]
D --> E{Choose Path}
E --> F[Infrastructure as Code]
E --> G[CI/CD & GitOps]
E --> H[Cloud Platforms]
F --> I[Advanced K8s]
G --> I
H --> I
I --> J[Production Ready! ๐]
Upcoming Projects ๐ฎ
- [x] Service Mesh with Istio
- [ ] Observability Stack (Prometheus + Grafana + Loki)
- [ ] Multi-cluster Kubernetes Federation
- [ ] Chaos Engineering with LitmusChaos
- [ ] Platform Engineering with Backstage
๐ค Contributing
We love contributions! Please see our Contributing Guide for details.
Ways to Contribute
- ๐ Report bugs - Found an issue? Let us know!
- ๐ก Suggest projects - Have an idea for a new project?
- ๐ Improve docs - Help us make documentation clearer
- ๐ ๏ธ Submit PRs - Add new projects or fix existing ones
Contributors
๐ Community
- โญ Star this repo if you find it helpful
- ๐ Fork it to add your own projects
- ๐ข Share with your network
- ๐ฌ Discussions - Join the conversation
Show Your Support
If this project helped you learn DevOps, consider:
๐ก๏ธ Security
If you discover a security vulnerability, please review our Security Policy for reporting guidelines.
๐ Code of Conduct
Please read our Code of Conduct to understand the expectations for participation in this project.
๏ฟฝ License
This project is licensed under the MIT License - see the LICENSE file for details.
Made with โค๏ธ by Caesarsage and Contributors