A self-paced, hands-on, incremental curriculum to learn DevOps from the ground up — Linux fundamentals through CI/CD, Docker, Kubernetes, Terraform, and beyond — then extend into MLOps with model serving, ML pipelines, and production ML monitoring.
This repo is structured as a series of modules. Each module builds on the previous one, so work through them in order unless you already have solid background in a topic.
- Start at
00-prerequisites/and move sequentially through the numbered folders. - Each module contains:
README.md— concepts, theory, diagramslab.md— hands-on, copy-pasteable exercisesscripts/— supporting scripts used in the labexercises.md— practice tasks to do on your ownquiz.md— a short checkpoint quiz before moving on
- Don't skip the labs. DevOps is a practice-based discipline — reading without doing won't stick.
- Use the
resources/folder for cheatsheets, a glossary, and troubleshooting tips as you go. - Finish with the
14-capstone-projects/module, which ties everything together into real, portfolio-worthy projects. - Going further? Continue to the MLOps Extension to learn how to apply your DevOps skills to machine learning systems.
- A computer (Linux, macOS, or WSL2 on Windows)
- A free GitHub account
- A free-tier account on one cloud provider (AWS, Azure, or GCP — pick one; AWS is used as the default reference throughout this repo)
- Basic comfort with using a terminal (we cover this in Module 1 if not)
- Curiosity and patience — some labs take a few hours
Before diving into individual modules, check out these high-level architectural guides and resources:
- DevOps Big Picture — a single-page overview showing how all the tools in this roadmap (Dockerfiles, images, Compose, registries, Kubernetes, Terraform, GitHub Actions, cloud VMs) connect end-to-end, with a clear CI vs CD boundary diagram.
- The Request Journey — a step-by-step walkthrough of how a single HTTP request travels from a user's browser to a container running in a Kubernetes Pod, connecting DNS, firewalls, load balancers, Ingress, Services, and Pods.
- DevOps Visual Mind Map — a spatial overview of every major concept in DevOps, organized by domain. Use this as a quick reference to locate terms and understand how they relate to each other.
- DevOps Cheatsheets — a collection of quick-reference cheatsheets for Docker, Kubernetes, Git, and other core tools.
| Phase | Module | Topics | Status |
|---|---|---|---|
| 0 | 00-prerequisites | Tooling setup, accounts, repo structure orientation | ⬜ |
| 1 | 01-linux-and-shell | Filesystem, permissions, processes, bash scripting | ⬜ |
| 1 | 02-networking-basics | DNS, HTTP/HTTPS, ports, SSH, firewalls | ⬜ |
| 1 | 03-git-and-github | Branching, merging, rebasing, PR workflow | ⬜ |
| 2 | 04-cicd-fundamentals | CI/CD concepts, pipeline stages, YAML basics | ⬜ |
| 3 | 05-github-actions | Workflows, jobs, runners, secrets, matrix builds, reusable workflows | ⬜ |
| 4 | 06-docker | Dockerfiles, layers, multi-stage builds, Compose, Compose vs K8s | ⬜ |
| 4 | 07-container-registries | Docker Hub, GHCR, ECR, image publishing in CI | ⬜ |
| 5 | 08-kubernetes | Architecture, Pods, Deployments, Services, Ingress, storage | ⬜ |
| 5 | 09-helm | Charts, templating, releases | ⬜ |
| 6 | 10-terraform | Providers, resources, state, modules, CI integration | ⬜ |
| 7 | 11-cloud-basics | Compute, storage, networking, IAM fundamentals | ⬜ |
| 8 | 12-monitoring-logging | Prometheus, Grafana, centralized logging | ⬜ |
| 8 | 13-security-devsecops | Secret scanning, dependency scanning, image scanning, SAST/DAST | ⬜ |
| 9 | 14-capstone-projects | 3 end-to-end projects combining everything above | ⬜ |
🧠 Transitioning to MLOps? Read the DevOps to MLOps Transition Guide first — it explains what changes, what stays the same, and the fastest path to get there.
| Phase | Module | Topics | Status |
|---|---|---|---|
| 10 | 15-ml-fundamentals | ML types, training vs inference, the ML lifecycle, vocabulary for DevOps engineers | 🚧 |
| 10 | 16-data-engineering | Data pipelines (ETL/ELT), data lakes, feature stores, data quality | 🚧 |
| 11 | 17-data-and-model-versioning | DVC, experiment tracking (MLflow, W&B), model registries | 🚧 |
| 11 | 18-model-serving | Batch vs real-time inference, TF Serving, Triton, KServe, shadow deploys | 🚧 |
| 12 | 19-ml-pipelines | Continuous Training (CT), Kubeflow, Airflow, SageMaker/Vertex AI Pipelines | 🚧 |
| 13 | 20-ml-monitoring | Data drift, concept drift, Evidently AI, WhyLabs, automated retraining triggers | 🚧 |
| 13 | 21-ml-security-governance | Adversarial attacks, data privacy, GDPR, model cards, responsible AI | 🚧 |
| 14 | 22-mlops-capstone | 3 end-to-end MLOps projects combining everything above | 🚧 |
⬜ = Not started · 🚧 = Coming soon · ✅ = Complete
See the full MLOps Roadmap for details on the tool landscape, maturity model, and learning order.
- Linux/Git first — every tool downstream assumes comfort with the shell and version control.
- CI/CD concepts before GitHub Actions — understand what a pipeline does before learning a specific tool's syntax.
- Docker before Kubernetes — Kubernetes orchestrates containers; you need something to orchestrate.
- Kubernetes before Terraform — Terraform labs are more meaningful once you have real infrastructure (a cluster, an app) worth provisioning.
- Cloud basics woven in after Terraform — by then you have a concrete reason to learn cloud provider services instead of an abstract tour.
- Observability and security last — these are easiest to appreciate once you have a running system to monitor and secure.
- Capstones at the end — integrate everything into projects you can show in interviews or a portfolio.
- MLOps after DevOps — ML infrastructure builds directly on Docker, Kubernetes, CI/CD, and monitoring. You need the DevOps foundation first.
By the end of the DevOps modules, you'll have built:
- A full CI/CD pipeline (GitHub Actions) that builds, tests, and containerizes an application.
- Automated deployment of that application to a Kubernetes cluster provisioned with Terraform.
- A monitored, secured pipeline with alerting and vulnerability scanning built in.
See 14-capstone-projects/README.md for full requirements and grading checklists.
This repo is meant to be forked and personalized. Feel free to:
- Add your own notes inside each module's
README.md - Commit your lab work as you go (this becomes a great portfolio artifact)
- Open issues for yourself to track topics you want to revisit
MIT — use, fork, and adapt freely.