A structured, beginner-friendly roadmap for aspiring DevOps Engineers β covering everything from Linux basics to incident management.
Join 1,000+ learners mastering DevOps with our comprehensive curriculum!
β¨ What you get:
- π 30+ detailed topics from Linux to Reliability Engineering
- π§ͺ 7 hands-on labs with real-world scenarios
- π Complete assessment framework with quizzes & certificate
- π οΈ Cheat sheets and interview prep materials
- π 100% free - No signup required
π― Goal: Help 10,000 developers transition into DevOps roles!
π‘ Star this repo to support the project and help other beginners find it!
Every β brings us closer to our goal and unlocks new community features!
graph TD
Start([π― Start Here]) --> Phase1
subgraph Phase1[π§ Phase 1: Linux & Shell]
L1[Linux Basics] --> L2[Shell Scripting]
L2 --> L3[Systemd]
L3 --> L4[Filesystems]
end
Phase1 --> Phase2
subgraph Phase2[π Phase 2: Networking]
N1[TCP/IP & OSI] --> N2[HTTP/HTTPS]
N2 --> N3[DNS]
N3 --> N4[TLS/SSL]
end
Phase2 --> Phase3
subgraph Phase3[π³ Phase 3: Containers & K8s]
C1[Docker Basics] --> C2[Docker Internals]
C2 --> C3[Kubernetes]
C3 --> C4[K8s Networking]
C4 --> C5[Service Mesh]
C5 --> C6[Scheduling]
end
Phase3 --> Phase4
subgraph Phase4[π Phase 4: Observability]
O1[Linux Perf Tools] --> O2[Monitoring Basics]
O2 --> O3[Prometheus]
O3 --> O4[Logging]
O4 --> O5[Distributed Tracing]
end
Phase4 --> Phase5
subgraph Phase5[βοΈ Phase 5: Traffic & Resilience]
R1[Load Balancing] --> R2[Queues]
R2 --> R3[Circuit Breakers]
end
Phase5 --> Phase6
subgraph Phase6[π§ Phase 6: CI/CD & IaC]
I1[Config Management] --> I2[CI/CD Concepts]
I2 --> I3[GitHub Actions]
I3 --> I4[Terraform]
end
Phase6 --> Phase7
subgraph Phase7[π Phase 7: Reliability]
S1[SLO/SLI] --> S2[Error Budgets]
S2 --> S3[Incident Mgmt]
S3 --> S4[Capacity Planning]
end
Phase7 --> Cert([π Get Certified])
style Start fill:#90EE90
style Cert fill:#FFD700
style Phase1 fill:#e3f2fd
style Phase2 fill:#e3f2fd
style Phase3 fill:#e3f2fd
style Phase4 fill:#e3f2fd
style Phase5 fill:#e3f2fd
style Phase6 fill:#e3f2fd
style Phase7 fill:#e3f2fd
| Phase | Focus | Topics | Labs | Time Estimate | Difficulty |
|---|---|---|---|---|---|
| 1 | π§ Linux & Shell | 4 | β Lab 1 | 2-3 weeks | π’ Beginner |
| 2 | π Networking | 4 | β Lab 2 | 2-3 weeks | π’ Beginner |
| 3 | π³ Containers & K8s | 6 | β Lab 3,5 | 3-4 weeks | π‘ Intermediate |
| 4 | π Observability | 5 | β Lab 2,4 | 3-4 weeks | π‘ Intermediate |
| 5 | βοΈ Resilience | 3 | β Lab 7 | 2 weeks | π‘ Intermediate |
| 6 | π§ CI/CD & IaC | 4 | β Lab 1,3,6 | 3-4 weeks | π΄ Advanced |
| 7 | π Reliability | 4 | β Capstone | 2-3 weeks | π΄ Advanced |
Total Journey: ~18-23 weeks (4-6 months) to complete all phases + certifications
This repository is a curated learning path for beginners who want to become DevOps Engineers. It covers 30 essential topics organized into logical learning phases β from foundational Linux skills to advanced reliability engineering.
Whether you're a developer looking to move into DevOps, a student exploring career paths, or a sysadmin modernizing your skills β this guide is for you.
Phase 1: Linux & Shell β Phase 2: Networking β Phase 3: Containers & K8s
β β β
Phase 4: Observability β Phase 5: CI/CD & IaC β Phase 6: Reliability
| # | Topic | Description |
|---|---|---|
| 1 | Linux Basics | File system, commands, permissions, users |
| 2 | Shell Scripting | Bash scripting, automation, cron jobs |
| 3 | Systemd Deep Dive | Services, units, journald, boot process |
| 4 | Filesystems & I/O | Disk management, inodes, I/O scheduling |
| # | Topic | Description |
|---|---|---|
| 5 | Networking Basics | TCP/IP, OSI model, subnets, routing |
| 6 | HTTP Internals | Request/response lifecycle, headers, HTTP/2 |
| 7 | TLS & Certs | SSL/TLS handshake, certificates, PKI |
| 8 | DNS in Practice | Name resolution, records, debugging DNS |
| # | Topic | Description |
|---|---|---|
| 9 | Containers 101 | What are containers, namespaces, cgroups |
| 10 | Docker Internals | Images, layers, volumes, networking |
| 11 | Kubernetes Basics | Pods, deployments, services, kubectl |
| 12 | K8s Networking | CNI plugins, ClusterIP, NodePort, DNS |
| 13 | Ingress & Service Mesh | Ingress controllers, Istio, traffic management |
| 14 | Pod Scheduling | Taints, tolerations, affinity, resource limits |
| # | Topic | Description |
|---|---|---|
| 15 | Linux Perf Tools | top, htop, perf, strace, lsof |
| 16 | Observability 101 | Metrics, logs, traces β the three pillars |
| 17 | Prometheus Basics | Metrics collection, exporters, PromQL |
| 18 | Logging Practices | Structured logging, log aggregation, 12-factor |
| 19 | Tracing Intro | Distributed tracing, OpenTelemetry, Jaeger |
| # | Topic | Description |
|---|---|---|
| 20 | Load Balancers | L4 vs L7, HAProxy, NGINX, algorithms |
| 21 | Queues & Backpressure | Message queues, Kafka basics, flow control |
| 22 | Circuit Breakers & Retries | Fault tolerance patterns, exponential backoff |
| # | Topic | Description |
|---|---|---|
| 23 | Config Management | Ansible, Chef, Puppet β declarative config |
| 24 | CI/CD Basics | Pipelines, build, test, deploy concepts |
| 25 | GitHub Actions | Workflows, actions, secrets, CI automation |
| 26 | Infra as Code | Terraform, state management, modules |
| # | Topic | Description |
|---|---|---|
| 27 | SLOs & SLIs | Service Level Objectives, error budgets |
| 28 | Incident Management | On-call, escalation, runbooks |
| 29 | Postmortems | Blameless culture, RCA, action items |
| 30 | Capacity Planning | Forecasting, load testing, scaling strategies |
| Lab | Title | Tools Used | Difficulty | Time |
|---|---|---|---|---|
| Lab 1 | Deploy Node.js App with Docker + GitHub Actions | Docker, GitHub Actions | π’ Beginner | 45 min |
| Lab 2 | Prometheus + Grafana Monitoring Stack | Prometheus, Grafana, Docker Compose | π’ Beginner | 60 min |
| Lab 3 | Infrastructure as Code with Terraform | Terraform, AWS EC2 | π‘ Intermediate | 45 min |
| Lab 4 | ELK Stack for Centralized Logging | Elasticsearch, Logstash, Kibana, Filebeat | π‘ Intermediate | 90 min |
| Lab 5 | Kubernetes Deployment with Helm | Kubernetes, Helm, Docker | π‘ Intermediate | 75 min |
| Lab 6 | CI/CD Pipeline with GitHub Actions + ArgoCD | GitHub Actions, ArgoCD, Helm | π΄ Advanced | 90 min |
| Lab 7 | Chaos Engineering with Chaos Mesh | Chaos Mesh, Kubernetes | π΄ Advanced | 60 min |
# Run pre-flight check to verify your environment
./scripts/preflight.sh
# If all checks pass, start with Lab 1
cat hands-on-labs/lab-01-nodejs-docker-cicd.md- π Troubleshooting Guide: See TROUBLESHOOTING.md for common issues and solutions
- π Pre-flight Check: Run
./scripts/preflight.shto verify your setup - π¬ Community: Join our discussions for help and support
| Cheatsheet | Description |
|---|---|
| Linux Commands | File, process, network, SSH commands |
| Docker & kubectl | Docker and Kubernetes quick reference |
| Git Commands | Complete Git workflow reference |
| Vim & Nano | Editor shortcuts and modes |
Side-by-side comparisons to help you choose the right tool:
- Jenkins vs GitHub Actions vs GitLab CI
- Ansible vs Terraform vs Puppet
- Prometheus vs Datadog vs New Relic
- AWS vs GCP vs Azure
33 Q&A covering all major DevOps topics including scenario-based questions.
Curated free courses, docs, YouTube channels, and practice platforms for every topic.
π View Free Resources
Fork this repo and track your own learning journey with our checklist.
devops-fundamentals/
βββ README.md
βββ CONTRIBUTING.md
βββ CHANGELOG.md
βββ cheatsheets/
β βββ linux-commands.md
β βββ docker-kubectl.md
β βββ git-commands.md
β βββ vim-nano.md
βββ interview-prep/
β βββ top-50-questions.md
βββ hands-on-labs/
β βββ lab-01-nodejs-docker-cicd.md
β βββ lab-02-prometheus-grafana.md
β βββ lab-03-terraform-aws-ec2.md
βββ tools-comparison/
β βββ README.md
βββ resources/
β βββ FREE-RESOURCES.md
βββ progress-tracker/
β βββ PROGRESS.md
βββ phase-1-linux/
βββ phase-2-networking/
βββ phase-3-containers/
βββ phase-4-observability/
βββ phase-5-resilience/
βββ phase-6-cicd/
βββ phase-7-reliability/
- Start from Phase 1 and work your way through each phase in order
- Use the cheatsheets as quick references while learning
- Complete the hands-on labs to apply what you learn
- Use free resources for deeper study on each topic
- Track your progress with the progress tracker
- Prepare for jobs with the interview Q&A
- Don't rush β spend at least 2β3 days per topic
Test your knowledge and earn a certificate!
- 7 Phase Quizzes - Multiple-choice questions for each phase
- 7 Practical Challenges - Hands-on exercises testing real-world skills
- Capstone Project - Comprehensive project combining all skills
- Certificate - Earn upon completing all requirements
π View All Assessments
| Phase | Quiz | Challenge | Status |
|---|---|---|---|
| 1. Linux | Quiz | Challenge | β¬ |
| 2. Networking | Quiz | Challenge | β¬ |
| 3. Containers | Quiz | Challenge | β¬ |
| 4. Observability | Quiz | Challenge | β¬ |
| 5. Resilience | Quiz | Challenge | β¬ |
| 6. CI/CD & IaC | Quiz | Challenge | β¬ |
| 7. Reliability | Quiz | Challenge | β¬ |
Design and implement a complete DevOps pipeline with CI/CD, monitoring, and resilience features.
Earn a DevOps Fundamentals Certificate upon completing:
- β All 7 quizzes (80%+ score)
- β All 7 practical challenges
- β Capstone project
π Certificate Template
Level up your skills with these hands-on practice platforms!
| Platform | Best For | Focus Area | Why Use It? |
|---|---|---|---|
| π» KodeKloud | Beginners β Intermediate | Real labs for Docker, K8s, Terraform, Ansible | Famous "100 Days of DevOps" challenge |
| π§© SadServers | SRE & Debugging | Pure SRE-style debugging scenarios | Broken servers β you fix them (interview-level!) |
| π³ Fixtheops.dev | Docker Challenges | Container misconfigs & debugging | LeetCode for DevOps - small problems, big clarity |
| βοΈ HackerRank | Foundation Building | Linux, Shell scripting, Infrastructure logic | Not just DSA - strengthen your core skills |
| βοΈ Play with Docker/K8s | Risk-free Practice | Free browser-based labs | No setup needed - experiment without fear |
| π Exercism | Guided Learning | IaC + Scripting fundamentals | Learn β Feedback β Improve with mentors |
π DevOps β Tools
π DevOps β Just YAML
DevOps IS about:
- π Debugging β Finding root causes quickly
- β‘ Thinking under pressure β Handling incidents calmly
- π§ Understanding systems β Knowing how pieces fit together
- Start with KodeKloud β Build basics
- Experiment with Play with Docker/K8s β Practice freely
- Solve mini-problems on Fixtheops β Get comfortable
- Face real-world chaos on SadServers β Test your skills π₯
π Explore Full Practice Arena for detailed guides, tracking sheets, and pro tips!
Contributions are welcome! Help us grow this resource for the community.
- Fix typos or improve explanations
- Add new labs or practical exercises
- Translate content to other languages
- Share your success stories
- Suggest new topics or improvements
π Read our CONTRIBUTING.md for detailed guidelines.
We recognize all contributors who help make this project better!
If this helped you, please star the repo! β
Your support helps:
- π― Other beginners find this free resource
- π Motivate us to create more content
- π Reach our goal of 10,000 learners
- π‘ Unlock community features and updates
- β 100 stars - New advanced Kubernetes lab
- β 500 stars - Video tutorials for each phase
- β 1,000 stars - Interactive quizzes platform
- β 5,000 stars - Live cohort-based course
- π¬ GitHub Discussions - Ask questions, share progress
- π¦ Twitter/X - Follow for daily DevOps tips
- πΌ LinkedIn - Connect with fellow learners
- π§ Newsletter - Get monthly updates (coming soon)
MIT License β free to use, share, and modify.
Made with β€οΈ for the DevOps community by @hacrex