Skip to content

Beginner · DevOps culture and the SDLC · topic 4 of 53 · 25 min

The DevOps toolchain and your learning roadmap

Explanation

A toolchain is the set of tools a team uses at each stage of the DevOps loop: Jira to plan, Git to store code, GitHub Actions or Jenkins to build and test, Docker and Kubernetes to package and run, Terraform and Ansible to manage infrastructure, and Prometheus and Grafana to monitor. Learn one good tool per stage first, understand what problem it solves, and avoid collecting tools for their own sake.

What is a toolchain?

A toolchain is a set of tools linked together so that work flows from one stage to the next with as little manual effort as possible. A developer pushes code to Git; that triggers a CI pipeline; the pipeline builds a container image, tests it, stores it in a registry and deploys it; monitoring watches it run. Each tool hands over to the next.

Think of it like this: A toolchain is like an assembly line in a car factory. Each station has a special machine, but the value comes from the line as a whole: the car moves smoothly from one station to the next. A shiny machine that does not connect to the line just collects dust.

The map, stage by stage

StageWhat happensCommon tools
PlanTrack work, stories and bugsJira, Azure Boards, GitHub Issues, Trello
CodeStore and review source codeGit with GitHub, GitLab, Bitbucket or Azure Repos
BuildCompile and package the appMaven and Gradle (Java), npm (JavaScript), pip (Python), go build
TestCheck that it worksUnit test frameworks (JUnit, pytest, Jest); Selenium and Playwright for browser tests
ArtefactsStore built packages and imagesNexus, JFrog Artifactory; container registries such as Docker Hub, GitHub Container Registry, Amazon ECR
CI/CDRun the pipeline automaticallyGitHub Actions, GitLab CI/CD, Jenkins, Azure Pipelines
Infrastructure as codeCreate servers, networks, databases from filesTerraform (and OpenTofu), AWS CloudFormation
ConfigurationInstall and configure software on serversAnsible (also Chef, Puppet)
ContainersPackage the app with everything it needsDocker, Podman
OrchestrationRun many containers across many machinesKubernetes (also managed: EKS, AKS, GKE)
MonitoringCollect metrics and alertPrometheus, Grafana
LoggingCollect and search logsELK (Elasticsearch, Logstash, Kibana), Grafana Loki
CloudRent computing, storage and networksAWS, Microsoft Azure, Google Cloud

An artefact is any file produced by a build that you keep and deploy: a .jar file, an npm package, a container image. Storing artefacts in a repository means you deploy exactly the same thing that was tested, instead of rebuilding it on the server.

One flow through the chain

output
Jira story DEL-142  ->  git push to GitHub  ->  GitHub Actions: build + unit tests
   ->  docker build, push image to registry  ->  Terraform-made Kubernetes cluster
   ->  deploy to staging, Playwright tests  ->  approve  ->  deploy to production
   ->  Prometheus + Grafana watch error rate  ->  findings go back into Jira
One change moving through a typical toolchain from plan to monitor.

Avoiding tool overload

The DevOps tool landscape is huge, and new tools appear every month. Beginners often try to learn twenty tools at once and end up knowing none well. Teams make the same mistake: three CI systems, two monitoring stacks and nobody who understands all of them.

  • Start from the problem. "Our releases take a weekend" points to CI/CD; "our servers all look different" points to configuration management.
  • Pick one tool per stage and learn it properly. The ideas transfer: if you know GitHub Actions well, GitLab CI takes days, not months.
  • Prefer tools your team and the job market already use. In India, job posts very often ask for Git, Jenkins or GitHub Actions, Docker, Kubernetes, Terraform, Ansible and one cloud (usually AWS or Azure).
  • Automate the most painful manual step first, then the next one.
Careful: Common mistakes: (1) Choosing tools before understanding the process, so the tool automates a bad process. (2) Adding Kubernetes to a small app that runs fine on one server. (3) Learning tool commands by heart without the concept underneath; interviews test concepts like "what happens when a pod crashes?" more than flags. (4) Keeping secrets such as passwords inside pipeline files in Git.

The roadmap of this course

At about one hour a day, this course takes roughly 15 to 17 weeks. Use Linux and Git every day from week 2, because every later module depends on them.

WeeksLevelWhat you learn
1BeginnerDevOps culture, the SDLC, DORA metrics and the toolchain (this module)
2 to 3BeginnerLinux: files, permissions, processes, services, shell scripts, networking
4BeginnerGit in depth: branches, merge and rebase, pull requests, tags
5 to 6BeginnerDocker: images, Dockerfiles, Compose
7 to 8IntermediateKubernetes: pods, deployments, services, Helm
9 to 10IntermediateCI/CD pipelines with GitHub Actions and Jenkins
11 to 12IntermediateTerraform, Ansible and YAML
13 to 14ExpertMonitoring, logging, SRE, SLOs and incidents
15 to 17ExpertDevSecOps, a capstone pipeline project, career and certification preparation
Tip: Build one project and grow it through the whole course: a small web app that you put in Git, run on Linux, package with Docker, deploy to Kubernetes through a pipeline, create with Terraform and watch with Grafana. One complete project on GitHub says more in an interview than ten certificates.

Need help?

Stuck on a word or an idea? Search this course, or every course, and jump straight to the explanation or a worked question.

Try:

Watch the lesson

The DevOps toolchain and your learning roadmap · 1/7

The DevOps toolchain

A toolchain is the set of linked tools a team uses at each stage of the DevOps loop.

Prefer a video by a teacher? Find free videos on “devops toolchain explained roadmap for beginners” on YouTube ↗

In real life: A college placement portal gets a toolchain

A small team maintains the placement portal of an engineering college in Pune. Before: code on one laptop, files copied to the server with a USB drive, and a restart by hand. They moved step by step. Week 1: code into GitHub with pull requests. Week 3: GitHub Actions runs tests on every push. Week 5: the app is packaged as a Docker image and pushed to GitHub Container Registry. Week 8: a pipeline deploys the image to the server, and Grafana shows response times. They never added Kubernetes, because one server handles the load. That is a good toolchain: just enough for their problem.

Practice (0/3 done)

Task 1 · Question

Your team wants every push to GitHub to be built and tested automatically. Which tool fits that stage?

Task 2 · Practice

A team releases its web shop like this: a developer emails a zip file of the code to the admin; the admin logs into the server, unzips it, edits the config file by hand, restarts the app, and checks the home page in a browser. Bugs are tracked in an Excel sheet. Map each step to a DevOps stage and suggest one tool for it. Then say which step you would automate first and why.

Task 3 · Question

Which pair correctly matches a tool to its stage?

Quick quiz

Question 1

1.What is an artefact in a DevOps pipeline?

Question 2

2.Which tool is mainly used to run and manage many containers across many machines?

Question 3

3.What does ELK stand for?

Question 4

4.What is the best way to avoid tool overload?

Read more (free)

Open a question to see the answer and why. The first ones are this topic's own quiz, so try the quiz above before you peek.

What is an artefact in a DevOps pipeline?

Answer: A file produced by the build, such as a .jar or container image, that is stored and deployed

Artefacts are build outputs. Storing them means you deploy exactly what was tested.

Which tool is mainly used to run and manage many containers across many machines?

Answer: Kubernetes

Kubernetes is a container orchestrator.

What does ELK stand for?

Answer: Elasticsearch, Logstash and Kibana

ELK is a popular logging stack made of Elasticsearch, Logstash and Kibana.

What is the best way to avoid tool overload?

Answer: Start from the problem and learn one tool per stage well

Tools should solve a real problem. Deep knowledge of one tool per stage transfers to others.

Why does the capstone Dockerfile use two stages?Related

Answer: So the final image contains only what is needed to run, not the build tools

Multi-stage builds keep compilers and dev dependencies out of the final image: smaller and fewer things to attack.

From Capstone project: from commit to monitored production

Why do ops teams like Go tools?Related

Answer: One static binary per platform, quick start, low memory

Easy distribution and low resource use matter for infrastructure.

From Go in cloud and DevOps: Kubernetes, Terraform and Prometheus

What is a multibranch pipeline in Jenkins?Related

Answer: A job that finds every branch and pull request with a Jenkinsfile and creates a pipeline for each

Multibranch jobs scan the repository and keep one pipeline per branch or PR.

From Jenkins pipelines

Which stage comes right after "deploy" in the DevOps infinity loop?Related

Answer: Operate

The order is plan, code, build, test, release, deploy, operate, monitor.

From What DevOps is and the problem it solves

Pass the quiz (60% or more) or mark this topic as done when you are ready.

Your progress is saved on this device only.

Next steps

  1. This is the last topic of “DevOps culture and the SDLC”. The module exam comes next.
  2. Module 1 exam: DevOps culture and the SDLC · 13 questions · 20 min, without help. 4 topics of this module still to finish first.
  3. Then the next module, Linux for DevOps. 53 topics left in the course before the final exam.

← Previous: Core DevOps practices and the DORA metrics