Cloud computing · Course by Ravindra Bagale
DevOps Course
DevOps: Hands-On Study Guide: Git, Docker, CI/CD, Ansible, Terraform, Monitoring and Kubernetes — Beginner to Job-Ready
A free online DevOps course for beginners: Git, Docker, CI/CD, Ansible, Terraform, monitoring and Kubernetes, beside the AWS Cloud course. The lessons are in simple English with Marathi phrases, and Ravindra Bagale's online and offline DevOps classes are taught in Marathi and Hindi.
Git, Linux ops refresh, Bash, Docker, CI/CD with GitHub Actions and Jenkins, Ansible, Terraform, monitoring, logging and Kubernetes intro, with Instagram-style and Netflix-style shipping stories — step by step for beginners beside the AWS Cloud course.
17 chapters199 concepts30 guides
Course outline
Click a chapter to see its concepts. Each concept has its own page.
Chapters 1–9
Chapter 1: What is DevOps? 11 concepts
- 1.1 Why do we need DevOps?
- 1.2 What does “operations” mean? (say it simply)
- 1.3 What is the problem? Suppose we are…
- 1.4 How DevOps answers that same fight
- 1.5 CALMS — five ideas in plain English
- 1.6 CI vs CD vs deploy vs release
- 1.7 Tools beginners learn first
- 1.8 Roles students see in job posts
- 1.9 Common misconceptions
- 1.10 A day in the life — junior DevOps (story)
- 1.11 Where this course fits beside AWS
Chapter 2: Git Fundamentals 10 concepts
- 2.1 Why Git — zip folders vs history
- 2.2 Install check and first vocabulary
- 2.3 init, status, add, commit — first repo
- 2.4 clone — copy an existing repo
- 2.5 The staging area — mental model
- 2.6 .gitignore — keep junk and secrets out
- 2.7 git log — read the story
- 2.8 Undo safely — restore and amend rules
- 2.9 Commit message hygiene
- 2.10 Lab — three meaningful commits
Chapter 3: Branching, Merge and GitHub PRs 9 concepts
- 3.1 Why branches — two developers, one shared app
- 3.2 branch, switch, list — commands
- 3.3 Feature-branch workflow (the daily loop)
- 3.4 Merge types in plain English
- 3.5 GitHub pull requests — review before merge
- 3.6 Resolve a simple conflict
- 3.7 Tags and releases (light)
- 3.8 Common PR mistakes (fix these early)
- 3.9 Remote refresh — fetch, pull, push
Chapter 4: Linux Ops Refresh for DevOps 9 concepts
- 4.1 When the app is "down" — three checks
- 4.2 Paths and permissions — enough to stay safe
- 4.3 Logs — journalctl and tail -f
- 4.4 systemd — start, enable, status
- 4.5 Disk, process, ports — the triage trio
- 4.6 SSH keys, scp, rsync — one-liners
- 4.7 Worked triage story — peak traffic
- 4.8 Quick extras — uptime, memory, who am I
- 4.9 What this chapter deliberately skips
Chapter 5: Bash Scripting for Automation 11 concepts
- 5.1 Why script — the morning ten commands
- 5.2 Shebang, permissions, first script
- 5.3 Variables, quotes and exit codes
- 5.4 if and loops for health checks
- 5.5 Idempotent-ish habits — check before install
- 5.6 Cron basics — schedule the script
- 5.7 Secrets — never hardcode
- 5.8 Reading arguments and a full sample script
- 5.9 Functions — keep scripts readable
- 5.10 Debugging scripts without guessing
- 5.11 Lab — health check script with dry-run
Chapter 6: Docker Images and Containers 10 concepts
- 6.1 Why containers — box the app runtime
- 6.2 Image vs container vs layers
- 6.3 Dockerfile — FROM, COPY, RUN, CMD, EXPOSE
- 6.4 build, run, ps, logs, exec, stop
- 6.5 Port publish -p — host port to container port
- 6.6 Layer caching and .dockerignore (speed + safety)
- 6.7 Environment variables at run time
- 6.8 Troubleshooting table (first week)
- 6.9 Useful inspect habits (still beginner)
- 6.10 Lab — Dockerfile for badge API hello
Chapter 7: Docker Volumes, Networks and Compose 10 concepts
- 7.1 Why volumes and networks — two services, one private network
- 7.2 Volumes vs bind mounts
- 7.3 User-defined bridge networks
- 7.4 Compose file — API + database together
- 7.5 Env files — never commit real secrets
- 7.6 Compose up, down, logs, ps
- 7.7 Small Compose habits that save hours
- 7.8b Compose project layout for badge API
- 7.8 Troubleshooting table
- 7.9 Day-in-the-life: peak traffic mental model
- 7.10 Lab — Compose stack with persistent data
Chapter 8: CI/CD Concepts 11 concepts
- 8.1 Why a pipeline — stop the ship on a failed check
- 8.2 Pipeline stages — lint → test → build → push → deploy
- 8.3 Artifacts and versioning
- 8.4 Environments — dev, staging, production
- 8.5 Fail fast and quality gates
- 8.6 Manual approval for production — when and why
- 8.7 CI vs CD vs deploy vs release (refresh)
- 8.8 What a junior watches on a red pipeline
- 8.8b Metrics of a healthy pipeline (plain English)
- 8.8c Who owns a red build?
- 8.9 Anti-patterns (spot them early)
- 8.10 Versioning and release notes (lightweight)
- 8.11 Lab — design badge API pipeline on paper
Chapter 9: GitHub Actions Hands-On 11 concepts
- 9.1 Why Actions — checks on every push
- 9.2 Minimal workflow — test on pull request
- 9.3 Jobs, steps, needs and permissions
- 9.4 Caching and artifacts
- 9.5 Build and push an image (GHCR sketch)
- 9.5b Local act / dry thinking before push
- 9.6 Secrets and OIDC (awareness)
- 9.7 Deploy sketch — SSH to one lab VM
- 9.7b Matrix and reuse (awareness only)
- 9.7c Reading a failed Actions log like a pro
- 9.8 Branch protection and required checks
- 9.9b Pinning action versions
- 9.9 Troubleshooting table
- 9.10 Environment-specific configs in CI
- 9.11 Lab — PR tests and main image push
Chapters 10–17
Chapter 10: Jenkins Introduction 12 concepts
- 10.1 Why Jenkins still appears in interviews
- 10.2 Controller, agents and jobs
- 10.3 Run Jenkins in Docker (lab shape)
- 10.4 Declarative Jenkinsfile basics
- 10.5 Credentials store (high level)
- 10.6 Pipeline job from SCM
- 10.7 Actions vs Jenkins — same badge API stages
- 10.8 Agents and Docker-in-Docker awareness
- 10.8b Multibranch Pipeline (awareness)
- 10.8c Shared libraries (awareness)
- 10.8d Folders and credentials scope
- 10.9 Troubleshooting table
- 10.10 Safety for lab Jenkins
- 10.11 Cleanup and cost/safety habits
- 10.12 Lab — Jenkins in Docker + Pipeline job
Chapter 11: Ansible Introduction 13 concepts
- 11.1 Why Ansible — one playbook for many servers
- 11.2 Inventory — who are we configuring?
- 11.3 Modules and ad-hoc commands
- 11.4 Idempotence — run twice, safe result
- 11.5 Playbook — Nginx welcome for badge API
- 11.5b ansible.cfg for friendlier labs
- 11.6 Handlers — restart only when needed
- 11.7 Simple role folder layout
- 11.8 Variables, vault awareness and secrets
- 11.9 Ansible vs shell scripts — choose deliberately
- 11.9b Check mode and diff
- 11.9c Tags — run part of a playbook
- 11.9d Dynamic inventory (awareness)
- 11.10 Troubleshooting table
- 11.10b Limit and serial (awareness)
- 11.11 Git layout for Ansible labs
- 11.12 Lab — playbook installs Nginx welcome
- 11.13 What good looks like after this chapter
Chapter 12: Terraform Introduction 12 concepts
- 12.1 Why Terraform — blueprint before cloud clicks
- 12.2 Providers, resources and state
- 12.3 State — local for learning, respect remote later
- 12.4 Minimal resource — security group lab (preferred small)
- 12.5 Workflow — init, plan, apply, destroy
- 12.6 Variables, tfvars and outputs
- 12.7 Plan reading habits
- 12.8 Terraform vs Ansible (clear boundary)
- 12.8b terraform fmt and validate
- 12.8c Workspaces (awareness)
- 12.8d Import (awareness only)
- 12.9 Troubleshooting table
- 12.10 Lab safety checklist (non-negotiable)
- 12.11 What "minimal" means in this course
- 12.12 Lab — apply a tiny resource, then destroy
Chapter 13: Monitoring Basics 13 concepts
- 13.1 Why monitor — dashboard before the outage call
- 13.2 Golden signals — four questions in plain English
- 13.3 Host metrics — CPU, RAM, disk
- 13.4 Primary path — Prometheus + Node Exporter + Grafana
- 13.5 Node Exporter — expose host metrics
- 13.6 Prometheus — scrape and store
- 13.7 Grafana — one calm dashboard
- 13.8 Alerting — one disk threshold that matters
- 13.9 What about application metrics?
- 13.10 CloudWatch in one paragraph (secondary path)
- 13.11 Anti-patterns
- 13.12 Troubleshooting table
- 13.13 Lab — disk metric path and a triggered alert
Chapter 14: Logging and Light Observability 12 concepts
- 14.1 Why logs — flight recorder for the server
- 14.2 stdout/stderr and docker logs
- 14.3 Local OS logs — journald and files
- 14.4 Primary path — CloudWatch Logs
- 14.5 Log groups, streams and agents (conceptual)
- 14.6 Searching — find the last error
- 14.7 Correlation IDs — one paragraph that saves hours
- 14.8 Light observability vocabulary
- 14.9 Security and hygiene
- 14.10 Anti-patterns
- 14.11 Troubleshooting table
- 14.11b Retention, cost awareness and lab hygiene
- 14.11c From red metric to log line (glue with Chapter 13)
- 14.11d Structured logging mini-example
- 14.12 Lab — generate, query, write the note
Chapter 15: Kubernetes Introduction 13 concepts
- 15.1 Why Kubernetes after Compose
- 15.2 Primary local tool — kind
- 15.3 Core objects — Pod, Deployment, Service, Namespace
- 15.4 kubectl everyday verbs
- 15.5 Manifest sketch — Deployment + Service for badge API
- 15.6 Reaching the app — port-forward (kind-friendly)
- 15.7 Rolling update and rollback (light)
- 15.8 Probes — readiness vs liveness (awareness)
- 15.9 Config and secrets — concepts only
- 15.10 Troubleshooting table
- 15.11 Security basics (pointer)
- 15.12 Anti-patterns
- 15.12b Declarative apply vs imperative run
- 15.12c Resource requests (awareness)
- 15.12d Loading a local image into kind (common lab snag)
- 15.12e Namespaces and who can break what
- 15.13 Lab — kind cluster, deploy, curl
Chapter 16: Capstone — Ship It End-to-End 12 concepts
- 16.1 Why a capstone — one story you can tell
- 16.2 Scope — what "done" means
- 16.3 Suggested repo layout
- 16.4 Application minimum bar
- 16.5 CI/CD minimum bar
- 16.6 Deploy path A — VM + image (SSH or Ansible)
- 16.7 Deploy path B — kind
- 16.8 Runbook — the three commands humans need
- 16.9 End-to-end checklist (print or tick in CHECKLIST.md)
- 16.10 Demo script (optional homework)
- 16.11 Common capstone failure modes
- 16.12 Linking other courses
- 16.12b Definition of done — acceptance demo
- 16.12c Timebox plan (suggested)
- 16.12d Evidence pack (what trainers like)
- 16.12e Honesty over theatre
Chapter 17: Interview Questions and Job Readiness 14 concepts
- 17.1 DevOps culture and process
- 17.2 Git and GitHub
- 17.3 Linux ops refresh
- 17.4 Bash and automation
- 17.5 Docker
- 17.6 CI/CD, Actions, Jenkins
- 17.7 Ansible and Terraform
- 17.8 Monitoring, logging, Kubernetes
- 17.9 Scenario questions
- 17.10 How to practise answers (not memorise)
- 17.11 Portfolio checklist (job readiness)
- 17.12 Phrases that help (and hurt)
- 17.13 Pointing to deeper courses
- 17.14 Lab / Practice — mock interview
Frequently asked questions
Is this DevOps course free?
Yes. All 17 chapters and 199 concept pages are free to read online, and you do not need an account.
Is the DevOps course in Marathi?
The lessons on this website are written in simple English with some Marathi phrases in the trainer's voice. In his online and offline classes, Ravindra Bagale teaches in Marathi, with some Hindi.
What does the DevOps course cover?
Git, Linux ops refresh, Bash, Docker, CI/CD with GitHub Actions and Jenkins, Ansible, Terraform, monitoring, logging and Kubernetes intro, with Instagram-style and Netflix-style shipping stories — step by step for beginners beside the AWS Cloud course.
Is this DevOps course for beginners?
Yes. It starts with Chapter 1: What is DevOps? and Chapter 2: Git Fundamentals, then Docker, CI/CD, Ansible, Terraform, monitoring and a Kubernetes intro.
Which tools will I practise?
Git, Bash, Docker and Compose, GitHub Actions, Jenkins intro, Ansible, Terraform, Prometheus/Grafana basics, CloudWatch Logs awareness, and kind for Kubernetes.
Are there interview questions?
Yes: Chapter 17: Interview Questions and Job Readiness, plus a Ship-It capstone in Chapter 16: Capstone — Ship It End-to-End.
How does this relate to the AWS Cloud course?
AWS teaches cloud building blocks (EC2, Linux, VPC). DevOps sits beside it and focuses on shipping and running changes safely. Deep VPC stays in AWS.
How do I join online or offline DevOps classes?
Send an enquiry on the enquiry page, or chat on WhatsApp. Ravindra Bagale runs online and offline batches for AWS Cloud and DevOps.
Join an online / offline batch — Enquire now
Ravindra Bagale runs online and offline batches for AWS Cloud, DevOps, Power BI, Excel, Data Analytics, Data Science and Cyber Security.