DevOps Tutorial with Examples.
DevOps tutorial with practical examples: CI/CD, infrastructure automation, release workflows and production operations you can run yourself.
Beginner
Start here — no prior experience needed
Intermediate
For developers with core concepts down
Choosing a CI/CD Toolchain: The Same Weighted Framework as Choosing a Cloud
GitHub Actions, GitLab CI, and Jenkins score differently depending entirely on what a team weights — a weighted scoring framework, run against three real scenarios to three different recommendations.
CI/CD Pipeline Patterns: Sequential, Parallel, and Staged
Measure the real time cost of a sequential CI pipeline versus a parallel one, then reproduce the dependency bug naive parallelism introduces and fix it with a build gate.
Deployment Strategies Compared: Rolling, Blue-Green, and Canary
Measure the real request failure rate of a rolling deployment, prove blue-green's zero-downtime claim, and show canary's blast-radius containment against a real bug.
GitOps in Practice: Git as the Source of Truth
Build a real sync loop that reads desired state from a git repo, applies it to a separate cluster-state file, and self-heals manual drift back to what git says.
Computing DORA Metrics From Your Own Git History
Compute all four DORA metrics — deployment frequency, lead time for changes, change failure rate, and MTTR — from real git log and tag data instead of a dashboard.
Terraform vs. Ansible: A Weighted Decision Framework
Score Terraform, Ansible, and using both against the same four factors — provisioning, host configuration, state tracking, and operational simplicity — across three real scenarios.
Observability Synthesis: Logs, Metrics, Traces, and Alerts as One Signal
Generate structured logs, aggregate them into metrics, fire an alert off a real threshold breach, and use a trace ID to walk straight back from the alert to the log lines that explain it.
Also part of DevOps
Taught in other topics. Each link opens the lesson in its home topic.
PR Workflow: Rebasing, Squash Merge, and Merge Commits
Sync a feature branch with rebase instead of merge, then compare squash-merge and --no-ff merge-commit history side by side with real git log output.
GitHub Actions: Workflows, Jobs, and a Real Failing Step
Run a real GitHub Actions workflow locally with act — no push, no account needed — and see exactly what a failing step's exit code does to the rest of the job.
Jenkins CI: Pipeline Basics
Learn what Jenkins is and how to use declarative pipelines: stages, agents, steps, and basic CI patterns.
Bash DevOps Scripts
Production Bash scripts for deploys with rollback, backups, log rotation, health checks and CI helpers, plus the real bugs these scripts often hide.
Introduction to Docker
Run your first Docker containers and see what they are: ordinary Linux processes sharing the host kernel, started from an image in well under a second.
Deployments and Rollouts
Learn how Deployments manage replica sets, rolling updates, rollbacks, and rollout strategies in Kubernetes.
Terraform Fundamentals (IaC)
Write a first Terraform config, apply it, change it and destroy it, seeing the real plan each time and why Terraform compares config, state and reality.
Terraform CI/CD with GitHub Actions (plan/apply)
A GitHub Actions workflow for Terraform, with the real output of each step it runs: fmt -check, init, validate, plan -detailed-exitcode and a saved plan.
Ansible Idempotency, Verified: Run It Twice and Watch changed=0
Ansible's whole pitch is idempotency — running a playbook twice should only change things the first time. Verify that claim by actually running one twice, then break it on purpose with a shell task.
Prometheus Scrapes You — It's Pull, Not Push
Prometheus doesn't wait for your app to send it metrics. It calls your app's /metrics endpoint on a timer — and a wrong port doesn't error on your side, it just shows up as a real 'down' target in Prometheus's own API.
A Firing Alert Doesn't Mean Anyone Was Notified
Prometheus evaluates alert rules and Alertmanager delivers notifications — two separate systems. A misconfigured link between them lets an alert fire silently forever, with real Prometheus and Alertmanager API output proving it.
A CI Security Gate: Gitleaks, Bandit and pip-audit in One Workflow
Combine secrets, code and dependency scans into one script and one GitHub Actions job that fails on a planted bug, passes after the fix, and sees history.