Study smarter with Fiveable
Get study guides, practice questions, and cheatsheets for all your subjects. Join 500,000+ students with a 96% pass rate.
DevOps isn't just a buzzword—it's the backbone of modern software delivery, and you're being tested on understanding how these tools work together to create automated, reliable pipelines. The tools in this guide represent the core categories you'll encounter: version control, CI/CD automation, containerization, orchestration, infrastructure as code, monitoring, and configuration management. Knowing which tool solves which problem—and why—is what separates surface-level memorization from real comprehension.
Don't just memorize tool names and features. Focus on understanding what problem each tool solves, where it fits in the DevOps pipeline, and how tools in the same category compare. When you see an exam question about automating infrastructure or ensuring deployment consistency, you should immediately know which tools apply and why one might be chosen over another.
Every DevOps pipeline starts here. Version control systems track code changes, enable parallel development, and provide the audit trail that makes CI/CD possible.
These tools transform code commits into deployed applications. Continuous Integration catches bugs early by building and testing every change; Continuous Delivery ensures code is always deployable.
Jenkinsfile allows version-controlled, reproducible build definitionsCompare: Jenkins vs. SonarQube—both integrate into CI/CD pipelines, but Jenkins orchestrates the pipeline while SonarQube analyzes code quality within it. An FRQ might ask how these tools work together: Jenkins triggers SonarQube scans as a pipeline stage.
Containers solve the "works on my machine" problem. By packaging applications with their dependencies, containers ensure identical behavior from development through production.
FROM node:18 COPY . /app RUN npm install
Compare: Docker vs. Kubernetes—Docker creates and runs containers on a single host, while Kubernetes orchestrates containers across multiple hosts. You need Docker (or an alternative runtime) to build containers; you need Kubernetes to manage them at scale.
IaC treats infrastructure like software—versioned, tested, and reproducible. Instead of manual server configuration, you define infrastructure in code files that can be reviewed and rolled back.
resource "aws_instance" "web" { ami = "ami-0c55b159cbfafe1f0" instance_type = "t2.micro" }
Compare: Ansible vs. Puppet vs. Chef—all three manage configuration, but Ansible is agentless (simpler setup), while Puppet and Chef use agents (better for continuous enforcement). Ansible uses YAML; Chef uses Ruby; Puppet uses its own DSL. Choose based on team skills and scale requirements.
Compare: Terraform vs. Ansible—Terraform excels at provisioning infrastructure (creating servers, networks), while Ansible excels at configuring what's on those servers. Many teams use both: Terraform creates the VM, Ansible installs the software.
You can't fix what you can't see. Monitoring tools collect metrics, logs, and traces to provide visibility into system health and performance.
rate(http_requests_total{status="500"}[5m])
Compare: Prometheus vs. Nagios—both monitor infrastructure, but Prometheus uses a pull model with time-series data optimized for dynamic cloud environments, while Nagios uses traditional active/passive checks better suited for static infrastructure. Prometheus pairs naturally with Kubernetes; Nagios is common in traditional data centers.
Compare: Prometheus + Grafana vs. ELK Stack—Prometheus/Grafana handles metrics (numeric measurements over time), while ELK handles logs (text-based event records). Most production systems need both: metrics tell you something is wrong; logs tell you why.
DevOps isn't just tools—it's people working together. Agile project management tools track work, facilitate communication, and provide visibility into progress.
| Concept | Best Examples |
|---|---|
| Version Control | Git (with GitHub/GitLab) |
| CI/CD Automation | Jenkins, SonarQube, Selenium |
| Containerization | Docker |
| Container Orchestration | Kubernetes |
| Infrastructure as Code (Provisioning) | Terraform |
| Configuration Management | Ansible, Puppet, Chef |
| Metrics Monitoring | Prometheus, Nagios |
| Log Management | ELK Stack |
| Visualization | Grafana, Kibana |
| Project Management | Jira |
Compare and contrast: What's the key architectural difference between Ansible and Puppet? When might you choose one over the other?
A team needs to ensure their web application works correctly across Chrome, Firefox, and Safari after every code commit. Which two tools would you combine, and what role does each play?
You're troubleshooting a production outage. Prometheus shows increased error rates, but you need to see the actual error messages. Which tool in this guide would you use next, and why?
Explain the relationship between Docker and Kubernetes. Why do organizations often need both rather than just one?
FRQ-style: A startup is moving from manual server setup to infrastructure as code. They need to provision AWS resources and install application dependencies. Recommend two tools from this guide and explain how they would work together in the deployment pipeline.