Skip to content

hacrex/devops-fundamentals

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

13 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ DevOps Fundamentals

A structured, beginner-friendly roadmap for aspiring DevOps Engineers β€” covering everything from Linux basics to incident management.

DevOps Roadmap PRs Welcome License Topics Labs Stars


⭐ Why Star This Repo?

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!


πŸ—ΊοΈ Visual Learning Roadmap

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
Loading

🎯 Learning Path Overview

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


πŸ“– About This Repository

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.


πŸ—ΊοΈ Learning Roadmap

Phase 1: Linux & Shell  β†’  Phase 2: Networking  β†’  Phase 3: Containers & K8s
        ↓                           ↓                          ↓
Phase 4: Observability  β†’  Phase 5: CI/CD & IaC  β†’  Phase 6: Reliability

πŸ“š Topics

🐧 Phase 1 β€” Linux & System Fundamentals

# 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

🌐 Phase 2 β€” Networking

# 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

🐳 Phase 3 β€” Containers & Kubernetes

# 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

πŸ“Š Phase 4 β€” Observability

# 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

βš–οΈ Phase 5 β€” Traffic & Resilience

# 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

πŸ”§ Phase 6 β€” CI/CD & Infrastructure as Code

# 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

πŸ“ˆ Phase 7 β€” Reliability Engineering

# 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

πŸ§ͺ Hands-on Labs

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

πŸ› οΈ Quick Start

# 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

Need Help?

  • πŸ“– Troubleshooting Guide: See TROUBLESHOOTING.md for common issues and solutions
  • πŸƒ Pre-flight Check: Run ./scripts/preflight.sh to verify your setup
  • πŸ’¬ Community: Join our discussions for help and support

πŸ“‹ Cheatsheets

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

βš”οΈ Tools Comparison

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

πŸ‘‰ View Tools Comparison


πŸ’Ό Interview Prep

33 Q&A covering all major DevOps topics including scenario-based questions.

πŸ‘‰ View Interview Questions


πŸ“š Free Resources

Curated free courses, docs, YouTube channels, and practice platforms for every topic.

πŸ‘‰ View Free Resources


βœ… Progress Tracker

Fork this repo and track your own learning journey with our checklist.

πŸ‘‰ View Progress Tracker


πŸ—‚οΈ Repo Structure

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/

🚦 How to Use This Repo

  1. Start from Phase 1 and work your way through each phase in order
  2. Use the cheatsheets as quick references while learning
  3. Complete the hands-on labs to apply what you learn
  4. Use free resources for deeper study on each topic
  5. Track your progress with the progress tracker
  6. Prepare for jobs with the interview Q&A
  7. Don't rush β€” spend at least 2–3 days per topic

πŸ“ Assessments & Certification

Test your knowledge and earn a certificate!

Assessment Structure

  • 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

Progress Tracking

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 ⬜

πŸ† Capstone Project

Design and implement a complete DevOps pipeline with CI/CD, monitoring, and resilience features.

πŸ“ View Capstone Details

πŸŽ“ Certificate

Earn a DevOps Fundamentals Certificate upon completing:

  • βœ… All 7 quizzes (80%+ score)
  • βœ… All 7 practical challenges
  • βœ… Capstone project

πŸ“ Certificate Template


πŸ’» Platforms You SHOULD Be Using (DevOps Version of LeetCode)

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

🎯 Reality Check

πŸ‘‰ 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

πŸ›£οΈ Beginner Practice Roadmap

  1. Start with KodeKloud β†’ Build basics
  2. Experiment with Play with Docker/K8s β†’ Practice freely
  3. Solve mini-problems on Fixtheops β†’ Get comfortable
  4. Face real-world chaos on SadServers β†’ Test your skills πŸ”₯

πŸ‘‰ Explore Full Practice Arena for detailed guides, tracking sheets, and pro tips!


🀝 Contributing

Contributions are welcome! Help us grow this resource for the community.

🌟 How to Contribute

  • 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.

πŸ† Community Contributors

We recognize all contributors who help make this project better!

Contributors


⭐ Support This Project

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

Star Count

🎁 Star Milestones

  • ⭐ 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

πŸ“’ Join Our Community

  • πŸ’¬ GitHub Discussions - Ask questions, share progress
  • 🐦 Twitter/X - Follow for daily DevOps tips
  • πŸ’Ό LinkedIn - Connect with fellow learners
  • πŸ“§ Newsletter - Get monthly updates (coming soon)

πŸ“„ License

MIT License β€” free to use, share, and modify.


Made with ❀️ for the DevOps community by @hacrex

Releases

No releases published

Packages

 
 
 

Contributors