The DevOps toolchain: what each tool is for
Why this matters
This is the one objective where CompTIA names specific products — Kubernetes, Ansible and Jenkins — in their published scope. That is worth noticing, because the exam is otherwise vendor-neutral, and it tells you the expectation: recognise the major tools and know what category each belongs to, not how to operate them.
The skill being tested is category recognition. Tools change; the jobs do not. A candidate who knows that a scenario is describing configuration management can answer it whether the tool named is Ansible, Puppet, Chef or something that did not exist when the question was written.
The lesson
Kubernetes for orchestration, and the problem it is the answer to
Kubernetes is a container orchestrator, and objective 1.5 covered what it does: maintain desired state, schedule containers onto nodes, restart what fails, reschedule when a node dies, roll out changes gradually, and provide stable networking in front of workloads that are constantly being replaced.
The problem it answers is the one that appears the moment you run containers seriously: containers are easy to run and hard to operate at scale. Twenty containers across five machines means somebody deciding what runs where, what happens when a machine fails, how a new version is rolled out, and how traffic reaches a thing whose address changes. Kubernetes automates all of it.
What to know for the exam:
- It is the de facto standard, with managed offerings from every major provider — and using a managed control plane is the normal choice, because operating one yourself is a substantial undertaking.
- Its model is declarative desired state, the same idea as infrastructure as code.
- The alternatives are worth recognising: simpler container services that run containers without a full orchestrator, and serverless container platforms where there are no nodes to manage at all. Kubernetes is not always the right answer — for a handful of services, a managed container service is less to operate and a legitimate choice.
The related tool category is package management for Kubernetes — templated, versioned bundles of manifests — which exists for the same reason as modules in objective 2.2: reuse and parameterisation.
Ansible and configuration management, agentless operation and playbooks
Ansible is a configuration-management tool. The category's job is to bring the inside of a system to a desired state: packages, services, files, users, settings.
Ansible's distinguishing characteristics, which are what a question would key on:
- Agentless. It connects over SSH or WinRM and needs nothing installed on the target. That lowers the barrier considerably and is the property most often named.
- Playbooks in YAML, describing desired state in a readable form.
- Idempotent modules — the constructs describe a state ("this package is present") rather than a command, so re-running is safe. Objective 5.1's property, provided by the tool.
- Push model. A control node pushes to targets, rather than agents pulling.
The category's alternatives are worth recognising by their contrast: Puppet and Chef are traditionally agent-based with a pull model, where agents periodically fetch and enforce their configuration — which suits large, long-lived estates and continuous drift correction. SaltStack sits between.
The boundary against provisioning (objective 5.1) is the examinable part: provisioning tools create infrastructure; configuration management configures what is inside it. And under immutable infrastructure (objective 3.1) the configuration-management step moves into image building, which is where image-build tooling belongs as a category of its own.
Jenkins and pipeline orchestration, and where hosted runners changed the calculus
Jenkins is a build and pipeline automation server — the CI/CD category from objective 5.3.
Its characteristics:
- Self-hosted, which means you run, patch, secure and scale it.
- Extremely extensible, with a very large plugin ecosystem — which is both its strength and its main operational and security burden, since plugins are third-party code running with the pipeline's credentials.
- Pipeline as code, with the definition stored in the repository alongside what it builds.
- Long-established, so it is what a great deal of existing infrastructure runs on.
What changed is hosted CI/CD: services integrated into the source-control platform, with runners the provider operates. No server to maintain, native integration with pull requests, and — the genuinely important part for this course — federated identity so the pipeline exchanges a short-lived token for cloud credentials rather than storing a deployment key (objective 5.3).
So the calculus is: hosted services for most new work, self-hosted where you need control, network isolation, or specialised build environments. Many organisations run both, with self-hosted runners registered to a hosted service — which gets the integration and identity benefits while keeping builds inside a private network.
GitOps is worth knowing as the adjacent idea: a controller in the cluster continuously reconciles the cluster against a git repository, so deployment happens by merging a commit rather than by a pipeline pushing. It is desired state applied to deployment, and it inherits the audit trail of the repository.
Matching tool to job, and the estate that uses four tools for one job
The categories, which is the actual examinable content:
| Category | What it does | Named examples |
|---|---|---|
| Container orchestration | schedules and manages containers | Kubernetes |
| Configuration management | configures inside a system | Ansible, Puppet, Chef |
| CI/CD | builds, tests, deploys | Jenkins, hosted CI services |
| Infrastructure as code | creates infrastructure | provider-native and neutral tools |
| Source control | versions everything | git-based platforms |
| Artefact and image registry | stores build outputs | container registries |
| Monitoring and observability | metrics, logs, traces | platform and third-party |
| Secrets management | stores and rotates credentials | provider and third-party vaults |
The failure in the heading is tool sprawl: three CI systems because three teams each chose one, two configuration-management tools because of an acquisition, four monitoring products each covering part of the estate. The costs are real — fragmented knowledge, duplicated licences, inconsistent practice, and incidents where the information needed is in a system the responder does not use.
The opposite failure exists too: forcing one tool to do a job it is bad at, usually because it is already there. Using a configuration-management tool to provision infrastructure, or a CI system as a workflow engine, produces something that works badly and is hard to replace.
Sensible criteria when a scenario asks you to choose: does it fit the job category; does the team already know it; how much operational burden does it add; does it integrate with what exists; and how hard is it to leave. That last question is lock-in (objective 1.1) applied to tooling, and it matters most for the tools that end up holding your state.
Naming the CATEGORY first, because the exam is vendor-neutral and tools change
The exam-technique section, and it is genuinely useful.
CV0-004 names three products in its scope and otherwise describes behaviour. So when a scenario mentions a tool:
- Identify the category. What job is this doing?
- Answer from the category's properties, not from product trivia.
- Treat an unfamiliar product name as context, not as the question. If a scenario names something you have never heard of, the surrounding description will tell you what it does — and that is what you are being asked about.
Worked examples of the reasoning:
- "The team uses a tool that connects over SSH with no agent to enforce package versions across servers." — Configuration management. Agentless and push-based, which is Ansible's shape, and the answer follows from the category regardless.
- "Developers commit, and a system automatically builds, tests and publishes a container image." — CI/CD. The product does not matter.
- "A controller watches a git repository and makes the cluster match it." — GitOps, which is declarative desired state applied to deployment.
- "Workloads are automatically rescheduled when a node fails." — Container orchestration.
Two cautions. First, do not assume the newest tool is the right answer — scenarios frequently describe estates where the correct choice is the one the team can already operate. Second, do not over-prepare here. This whole domain is 10% of the exam across six bullets. The categories above, understood properly, are worth more marks than deep knowledge of any one product, and the time is better spent on Cloud Architecture at 23%.
What to take into the exam
- Kubernetes = container orchestration, declarative desired state, usually consumed as a managed service — and not always the right answer for a small number of services.
- Ansible = configuration management, distinguished by being agentless, push-based, YAML playbooks, idempotent modules. Puppet and Chef are traditionally agent-based and pull-based.
- Jenkins = CI/CD, self-hosted and plugin-heavy. Hosted CI added federated short-lived credentials, removing the stored deployment key.
- GitOps = a controller reconciling a cluster against a repository.
- Provisioning creates infrastructure; configuration management configures inside it; under immutability the latter moves into image build.
- Identify the category first. The exam is vendor-neutral; an unfamiliar product name is context, and the scenario describes what it does.
Practise what you just read
1. A tool connects over SSH with no agent installed and enforces package versions from YAML. What category is it?
Select one
Show answer
A. Agentless, push-based and declaring desired state inside a system is the configuration management shape, and specifically Ansible's. Answering from the category works whether or not the product is named.
2. Which category does Kubernetes belong to?
Select one
Show answer
B. It maintains declared desired state, schedules containers onto nodes, replaces failures and rolls out changes. CompTIA name it explicitly, so recognising it and its category is fair game.
3. What distinguishes Puppet and Chef from Ansible in the usual description?
Select one
Show answer
C. Agents periodically fetch and enforce their configuration, which suits large long-lived estates needing continuous drift correction. Ansible is agentless and pushes from a control node.
7 more questions on this objective are part of the full course.
Hands-on labs
Part of the free CompTIA Cloud+ CV0-004 course — 50 lessons and 86 hands-on labs.
This is an independent study companion for CompTIA Cloud+ CV0-004 and is not produced by or endorsed by CompTIA.