Master the fundamentals

SRE From Scratch

Complete learning journey and hands-on labs. 100% free resources with practical exercises.

10Phases
about 45 hoursEstimated study time
5Labs
5Quiz questions

Roadmap: 10 phases

Follow the phases in order. Each one builds on the previous. Time estimates are suggestions for someone studying part-time, not measurements.


1

Linux Foundation

Beginner about 5h 30m Prerequisites: None

Master core Linux concepts: file systems, permissions, processes, and shell scripting. This foundation underpins every SRE skill you'll build.

Free video course:
Linux coursefreeCodeCamp.org, 6h 08m
2

Networking & TCP/IP

Beginner about 3h 20m Prerequisites: Phase 1

Understand networking layers, protocols, and debugging tools. Learn DNS, HTTP/HTTPS, firewalls, and load balancing principles.

Free video course:
Networking courseAbhishek.Veeramalla, 3h 11m
3

Docker & Containers

Intermediate about 4h 15m

Build and deploy containerized applications. Learn Docker images, registries, networking, and best practices for production use.

Free video course:
Docker courseTechWorld with Nana, 2h 46m
4

Kubernetes Essentials

Intermediate about 6h 45m

Deploy and manage containerized workloads at scale. Learn pods, services, deployments, and the fundamentals of cluster operations.

Free video course:
Kubernetes coursefreeCodeCamp.org, 5h 53m
Helm courseRahul Wagh, 2h 08m
5

Infrastructure as Code (Terraform)

Intermediate about 4h

Automate infrastructure provisioning with Terraform. Learn state management, modules, and managing cloud resources as code.

Free video course:
Terraform courseDevOps Directive, 2h 38m
6

Monitoring & Observability

Intermediate about 5h 30m

Build visibility into system behavior. Master metrics, logs, traces, and alerting using Prometheus, Grafana, and ELK stack concepts.

Free video course:
7

Incident Management

Intermediate about 3h 15m

Respond to and manage incidents effectively. Learn incident response, post-mortems, blameless culture, and communication during outages.

8

CI/CD Pipelines

Intermediate about 4h 45m

Automate testing and deployment. Learn GitLab CI, GitHub Actions, Jenkins, and building reliable continuous integration pipelines.

Free video course:
GitHub Actions courseDevOps Directive, 3h 43m
Jenkins courseTelusko, 1h 17m
9

Security Hardening

Advanced about 4h 30m

Secure infrastructure and applications. Learn container security, network policies, secrets management, and vulnerability scanning.

10

On-Call Readiness

Advanced about 3h

Prepare for on-call responsibilities. Learn alerting strategies, runbooks, escalation procedures, and building systems that fail gracefully.

Your commitment

The phase estimates add up to about 45 hours of structured study. The suggested video courses alone run about 48 hours, so plan more time if you watch them in full. Master the fundamentals. Build practical skills. Own the platform.

Progress is saved in this browser only.

Free video courses

A curated order of free YouTube courses, about 48 hours in total. They are made by independent creators and are not affiliated with this site. Durations and titles were checked on 20 September 2026 and can change.

All courses are in English as far as could be checked: on 20 September 2026 the automatic caption language shown by YouTube was English for each video. This indicates the spoken language, it is not a guarantee. Do not just watch: build, break and fix things as you go.

#TopicVideoChannelLength
1LinuxIntroduction to Linux: Full Course for BeginnersfreeCodeCamp.org6h 08m
2NetworkingLearn Networking in 3 Hours | Networking Fundamentals + AWS VPC NetworkingAbhishek.Veeramalla3h 11m
3Git and GitHubGit & GitHub Crash Course for Beginners [2026]freeCodeCamp.org1h 21m
4DockerDocker Tutorial for Beginners [FULL COURSE in 3 Hours]TechWorld with Nana2h 46m
5AWSAWS Tutorial for Everyone in One ShotTelusko10h 17m
6JenkinsJenkins for BeginnersTelusko1h 17m
7GitHub ActionsComplete GitHub Actions Course: From BEGINNER to PRODevOps Directive3h 43m
8KubernetesLearn Kubernetes in 6 Hours: Full Course with Real-World ProjectfreeCodeCamp.org5h 53m
9HelmComplete Helm Chart Tutorial: From Beginner to Expert GuideRahul Wagh2h 08m
10TerraformComplete Terraform Course: From BEGINNER to PRO! (Learn Infrastructure as Code)DevOps Directive2h 38m
11Prometheus and GrafanaPrometheus FULL Course: Docker/K8s, PromQL, Grafana & MORE!Rayan Slim3h 59m
12Python for DevOpsGive Me 4 Hours, I will Make You PRO in Python for DevOpsTrainWithShubham4h 17m

Hands-on labs

Five labs, one per major tool. Use local environments or a free tier.

Lab 1: Linux Shell Mastery

BeginnerEstimated time: 2 hours

Set up a local Linux environment and practice essential commands.

Objectives

  • Navigate filesystem with ls, cd, pwd
  • Manage permissions with chmod, chown
  • Write and execute shell scripts
  • Use grep, sed, awk for text processing

Practice commands

find / -name "*.log" | grep -v "/proc" | head -20
tar -czf archive.tar.gz /path/to/data
for i in {1..10}; do echo "Iteration $i"; done
chmod 755 script.sh && ./script.sh
Lab 2: Docker Container Build & Run

IntermediateEstimated time: 3 hours

Create a Dockerfile, build an image, and run a containerized application.

Objectives

  • Write a multi-stage Dockerfile
  • Push image to a registry (Docker Hub or local)
  • Run containers with port binding and volumes
  • Debug with docker logs and docker exec

Practice commands

docker build -t myapp:1.0 .
docker run -d -p 8080:3000 -v /data:/app/data myapp:1.0
docker inspect container_id
docker exec -it container_id /bin/bash
Lab 3: Kubernetes Pod Deployment

IntermediateEstimated time: 4 hours

Deploy and manage pods in a local Kubernetes cluster.

Objectives

  • Create a local K8s cluster (minikube or kind)
  • Write YAML manifests for Deployments and Services
  • Use kubectl to apply and manage resources
  • Monitor pod logs and resource usage

Practice commands

minikube start
kubectl apply -f deployment.yaml
kubectl get pods -o wide
kubectl logs pod_name -f
kubectl port-forward svc/myservice 8080:80
Lab 4: Terraform Infrastructure as Code

IntermediateEstimated time: 3 hours

Provision cloud infrastructure using Terraform.

Objectives

  • Set up Terraform working directory
  • Write resource definitions (compute, networking, storage)
  • Plan and apply changes safely
  • Destroy resources cleanly

Practice commands

terraform init
terraform fmt -recursive
terraform plan -out=tfplan
terraform apply tfplan
terraform destroy
Lab 5: Prometheus Monitoring Setup

IntermediateEstimated time: 2.5 hours

Deploy Prometheus and create custom metrics dashboards.

Objectives

  • Install and configure Prometheus
  • Set up exporters (Node Exporter, etc.)
  • Query metrics using PromQL
  • Create Grafana dashboards

Sample PromQL queries

rate(http_requests_total[5m])
node_memory_MemFree_bytes / node_memory_MemTotal_bytes
up{job="prometheus"}
histogram_quantile(0.95, sum by (le) (rate(http_request_duration_seconds_bucket[5m])))

Practical exercises

Open-ended tasks. There is no answer key: compare your result with a colleague or write up your reasoning.

Exercise 1: Build a Custom Alpine-Based Container Image

  1. Create a Dockerfile based on Alpine Linux
  2. Install essential tools: curl, wget, git, vim
  3. Add a non-root user with sudo privileges
  4. Set working directory and expose a port
  5. Build the image and test it with docker run
  6. Challenge: Create a docker-compose.yml to run 3 containers together

Exercise 2: Deploy a Multi-Tier App on Kubernetes

  1. Create separate deployments for frontend, backend, and database
  2. Use ConfigMaps for application config
  3. Create Services to expose backend and frontend
  4. Set up port-forwarding to test the full stack
  5. Scale the frontend deployment to 3 replicas
  6. Challenge: Implement health checks (liveness and readiness probes)

Exercise 3: Terraform Multi-Environment Setup

  1. Create separate Terraform modules for dev and prod environments
  2. Use tfvars files to manage environment-specific variables
  3. Provision compute instances, networking, and storage
  4. Output instance IPs and connection details
  5. Validate the plan before applying
  6. Challenge: Implement remote state with S3 backend

Exercise 4: Monitoring and Alerting Pipeline

  1. Deploy Prometheus with custom scrape configs
  2. Set up alerting rules for CPU, memory, and disk usage
  3. Configure Alertmanager to route alerts
  4. Create Grafana dashboards for key metrics
  5. Test alerting by triggering a threshold breach
  6. Challenge: Integrate alerts with a notification service (email, Slack)

Exercise 5: CI/CD Pipeline with GitLab CI

  1. Create a .gitlab-ci.yml in your repository
  2. Define stages: test, build, deploy
  3. Run unit tests on every push
  4. Build and push Docker image to registry
  5. Deploy to a staging environment
  6. Challenge: Add approval gates for production deployment

Training QCM: test your knowledge

Five questions, shuffled on every load. Click an answer to see the explanation.

Want more? The Quiz Hub has 100 questions in 10 topics, including Linux, Kubernetes, observability and SRE practices.

benmabrouk.fr: free DevOps and SRE learning resources, written from production experience.

Scroll to Top