Free learning path

DevOps Training Path

A practical route from Linux basics to Kubernetes and delivery metrics. Ten phases, five labs, five exercises and a quiz.

10Phases
about 58 hoursEstimated study time
5Labs
10Quiz 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 and Shell Scripting

Beginner about 6 h

Goal: Be productive on a Linux server and write shell scripts that fail safely.

  • Filesystem layout, permissions, users and groups
  • Processes, signals, systemd units and journald
  • Bash scripting: quoting, exit codes, set -euo pipefail
  • cron and systemd timers
Free video course:
Linux coursefreeCodeCamp.org, 6h 08m
2

Git and Collaboration

Beginner about 4 h

Goal: Work in a team with reviewable, reversible changes.

  • Branching, merge requests, protected branches
  • Merge versus rebase, and why not to rewrite shared history
  • git revert for undoing published commits
  • Small commits, trunk-based development
Free video course:
Git and GitHub coursefreeCodeCamp.org, 1h 21m
3

Networking and Web Basics

Beginner about 5 h

Goal: Reason about a request from the client to the service and back.

  • DNS resolution, TCP, HTTP, TLS certificates
  • Reverse proxies and load balancers (nginx)
  • Diagnostics: curl -v, dig, ss, openssl s_client
Free video course:
Networking courseAbhishek.Veeramalla, 3h 11m
4

Docker and Images

Beginner about 6 h

Goal: Build small, reproducible, non-root container images.

  • Dockerfile, layers and build cache
  • Multi-stage builds
  • Registries and tagging strategy
  • Docker Compose for local environments
Free video course:
Docker courseTechWorld with Nana, 2h 46m
5

Continuous Integration with GitLab CI

Intermediate about 6 h

Goal: Automate build and test on every change.

  • .gitlab-ci.yml: stages, jobs, rules
  • Artifacts and cache
  • Runners and CI/CD variables
  • Pipeline as a quality gate for merge requests
Free video course:
GitHub Actions courseDevOps Directive, 3h 43m (other CI tools, the concepts carry over to GitLab CI)
Jenkins courseTelusko, 1h 17m (other CI tools, the concepts carry over to GitLab CI)
6

Infrastructure as Code with Terraform

Intermediate about 8 h

Goal: Describe infrastructure declaratively and review changes before applying.

  • Providers, resources, variables, outputs
  • State, remote backends and state locking
  • Modules and reuse
  • Reading a plan carefully before apply
Free video course:
Terraform courseDevOps Directive, 2h 38m
7

Configuration Management with Ansible

Intermediate about 5 h

Goal: Configure servers repeatably and idempotently.

  • Inventory, playbooks, roles
  • Idempotency and handlers
  • Templates with Jinja2
  • Ansible Vault for secrets
8

Kubernetes and GitOps

Advanced about 8 h

Goal: Deploy and operate workloads declaratively.

  • Pods, Deployments, Services, Ingress
  • ConfigMaps and Secrets
  • Liveness, readiness probes, resource requests and limits
  • Rollouts and rollbacks
  • GitOps with Argo CD: Git as the source of truth
Free video course:
Kubernetes coursefreeCodeCamp.org, 5h 53m
Helm courseRahul Wagh, 2h 08m
9

Observability Basics

Intermediate about 5 h

Goal: Know whether the system works before users tell you.

  • Metrics, logs and traces: what each is for
  • Prometheus and Grafana fundamentals
  • Alerting on symptoms, not on causes
Free video course:
10

DevSecOps and Delivery Metrics

Advanced about 5 h

Goal: Ship safely and measure how well delivery performs.

  • Secrets management and least-privilege access
  • Image scanning and dependency updates
  • The classic DORA delivery metrics: deployment frequency, lead time for changes, change failure rate, time to restore service

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 a free tier or local environments only.

Lab 1: Merge request workflow

Git, GitLab

Practise a review-driven workflow with a protected main branch.

Steps

  1. Create a project and protect the main branch (no direct pushes).
  2. Create a feature branch, commit a change, open a merge request.
  3. Introduce a conflict on purpose and resolve it.
  4. Undo a merged commit with git revert.

Success criteria

Main history is linear or merge-based by rule, and you can explain why the revert did not rewrite history.

Lab 2: Multi-stage Docker image

Docker

Cut image size by separating build and runtime stages.

Steps

  1. Build a small application in a single-stage image and record its size (docker images).
  2. Rewrite it as a multi-stage build with a minimal runtime image and a non-root user.
  3. Compare sizes and confirm the container still runs.

Success criteria

The final image contains no compiler or build cache and runs as a non-root user.

Lab 3: GitLab CI pipeline

GitLab CI

Build, test and publish an image from a pipeline.

Steps

  1. Write a .gitlab-ci.yml with build and test stages.
  2. Pass a build output to the test job with artifacts.
  3. Add a job that builds and pushes the image to the project registry on main only (rules).
  4. Break a test on purpose and confirm the merge request is blocked.

Success criteria

A failing test prevents the merge, and images are only pushed from main.

Lab 4: Terraform workflow

Terraform

Learn the init, plan, apply cycle without spending money.

Steps

  1. Start with the local provider and a local_file resource.
  2. Add an input variable and an output, then re-run plan and read the diff.
  3. Move the configuration into a module and call it twice with different inputs.
  4. Run terraform destroy and check the resources are gone.

Success criteria

You can predict the result of a plan before running it.

Lab 5: Idempotent Ansible role

Ansible

Configure a web server and prove the role is idempotent.

Steps

  1. Create a role that installs nginx and deploys a templated configuration.
  2. Add a handler that reloads nginx only when the configuration changes.
  3. Run the playbook twice.

Success criteria

The second run reports changed=0 and the handler does not fire.

Practical exercises

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

Exercise 1: Fix a broken pipeline

Given a pipeline that fails on the second stage, read the job log, find the cause, and fix it in one merge request with a clear commit message.

Exercise 2: Script to role

Take a shell script that configures a server and convert it to an Ansible role. List what the script did that was not idempotent.

Exercise 3: Review a Terraform plan

Modify a resource in a way that forces replacement instead of an in-place update. Explain how you recognised it in the plan output and what the impact would be in production.

Exercise 4: Deploy with probes

Deploy an application to Kubernetes with readiness and liveness probes and resource requests and limits. Perform a rollout with a bad image tag, observe the failure, then roll back.

Exercise 5: Measure delivery

From the Git and pipeline history of one project, compute deployment frequency and lead time for changes over four weeks. State the limits of the data you used.

Training QCM

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

Want more? The Quiz Hub has 100 questions in 10 topics.

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

Scroll to Top