Tools Used in DevOps Environments

Tools Used in DevOps Environments
~/cloud-plus/modules/devops-tools.md
bash — toolchain

# Tools Used in DevOps Environments

Ansible configures it, Docker packages it, Kubernetes orchestrates it, Jenkins ships it, Terraform provisions it, and ELK plus Grafana tell you whether any of that actually worked. Seven tools, one toolchain.

AnsibleDockerKubernetes ELK StackGrafanaJenkinsTerraform Exam Objective 5.4

DevOps administrators lean on a common toolset to manage their environments.

Some tools deploy services. Others give observability — the information administrators need to manage those services well.

Together with IaC, automation, and orchestration, these tools keep servers, devices, and services configured for the people who depend on them.

EXAM OBJ 5.4

Explain the importance of tools used in DevOps environments. Expect the exam to hand you a scenario and ask which tool fits — configuration management, container orchestration, log aggregation, visualization, CI/CD, or IaC — and to test whether you know what each one does and doesn't do.

What you'll cover

Click one off as you go.

  • Match each DevOps tool to the job it does — deployment, orchestration, or observability.
  • Explain how Ansible, Docker, and Kubernetes configure and manage systems and containers.
  • Explain how the ELK stack, Grafana, Jenkins, and Terraform support monitoring, CI/CD, and IaC.
0 / 3 reviewed

DevOps tools, at a glance

One tool configures systems, two manage containers, and a cluster of others give you observability into CI/CD and orchestration events. Click through the bench below — each card stays open as you read the rest of the lesson.

Ansible orchestration & playbooks

Ansible is a declarative, agentless configuration tool. It defines the desired state in YAML files called playbooks; the target system processes the file and configures itself to match, using task-focused modules — a Linux yum module for software installs, for instance. Ansible connects over SSH, and it supports Windows, Linux, macOS, and other common operating systems.

SSH key-based authentication is essential to fully automate Ansible. Without it, administrators get challenged for a password on every connection — which defeats the point of automating in the first place.

Ad hoc command vs. playbook

1# ad hoc: one command, one server, right now
2$ ansible server42 -a "/sbin/reboot"
3
4# playbook: defined state, applied at scale
5- name: configure web servers
6 hosts: web
7 tasks:
8 - name: install httpd
9 yum: name=httpd state=latest
A task is one job. A play is a related group of tasks. A playbook is one or more plays — and it's far more robust than typing ad hoc commands one server at a time.

Ansible's cloud reach

Ansible ships with cloud modules for VM instances, operating systems, applications, network devices like routers and load balancers, and auto-scaling — for example, an ec2_instance module for managing AWS VMs, usable across public, private, or hybrid clouds.

System provisioning
Stand up new systems from a defined baseline.
Application deployment
Push apps out consistently across a fleet.
Configuration management
Keep every managed node matching the desired state.
Orchestration integration
Slots into broader orchestration tools and practices.

When a policy doesn't apply

Misconfigured or misapplied Ansible policies usually trace back to one of three causes. Click to expand.

Wrong group
The configuration is applied to the wrong group and never reaches the intended server or instance.
Instance isn't a member
The server or instance simply isn't a member of the group the configuration targets.
Mistake in the file
A typo or other error in the configuration file prevents it from applying at all. (The exact file format depends on which configuration tool is in use.)

Docker container management

Containers are portable platforms for a single application or service, and — like physical servers and cloud instances — they can be automated and orchestrated. Automation makes container deployments and updates quicker, more consistent, easily scalable, and more cost-effective.

Docker is the primary container engine. Containers can be managed by Docker's own Swarm, or by a third-party option like Kubernetes. Docker also hosts DockerHub, an online repository for container images that your staff can pull from — kept current through automated builds whenever updated code reaches the repository.

1# Dockerfile — commands to construct and configure the container
2FROM ubuntu:22.04
3RUN apt-get install -y nginx
4COPY ./site /var/www/html
5
6$ docker build imagename
Storing container settings in a text-based Dockerfile makes builds quick, and easy to version and customize as needs change.

Kubernetes container orchestration

Kubernetes (K8s) is an open-source container orchestration utility known for its flexibility, pluggability, and easy-to-integrate structure. It plugs into existing CI/CD workflows to add automation to container management — on-premises, in the cloud, or across a hybrid environment.

Auto-scaling
Scales resources up and down to support containerized applications.
Load balancing
Distributes traffic across running containers.
Storage management
Manages container storage as pods come and go.
Config & secrets
Manages configuration files, including related secrets.

Pods: the fundamental unit

Kubernetes groups containers into pods to handle deployment and management — one or more containers sharing network and storage resources.

POD — web-frontend
nginx
log-sidecar
POD — api-backend
app

Being open-source, Kubernetes doesn't force a specific structure or application on you — it adapts to additional services, like logging, as your needs grow.

Elasticsearch, Logstash & Kibana (ELK) Stack

Three services combining log ingestion, storage, search, and visualization — giving decision-makers, developers, and administrators the observability to understand current and historical service levels, and predict future needs.

L
Logstash
Ingests logs from systems, app servers, and websites. 200+ plugins to pull the right data.
E
Elasticsearch
Stores the aggregated data for fast retrieval, built on Apache Lucene.
K
Kibana
Queries the data and builds it into dashboards — histograms, line charts, pies, trends.

Benefits

Monitoring & management
Live visibility into deployment health.
Trend prediction
Historical data informs future capacity needs.
Troubleshooting
Aggregated logs speed up root-cause work.
Security analysis
Doubles as SIEM — security information and event management.

Typically deployed on an Ubuntu Linux VM — manually, or through Ansible, Puppet, Chef, and similar tools — across AWS, Azure, GCP, and other environments. Docker and Kubernetes are both viable for containerized ELK deployments; orchestrating with Kubernetes gives flexible scaling for monitoring variable workloads.

Grafana visualization tool

Grafana connects to compatible data sources and turns what it finds into graphs and interactive dashboards for monitoring on-premises, cloud, and hybrid resources.

KubernetesGitHubJiraAzure MonitorAWS X-Ray

Grafana is open-source and runs across many hardware platforms, with a paid enterprise license unlocking additional features. It's one of the most widely adopted cloud monitoring tools in use today.

Jenkins CI/CD tool

Jenkins drives the build, test, and deploy phases of development, giving process feedback and observability along the way. A DevOps engineer defines a pipeline as a series of stages, each containing tasks, executed in order.

STAGE 1
Install & connect
Jenkins installs on a server, VM, or container, then integrates with Git or another repository.
STAGE 2
Checkout
Pipeline pulls the latest code.
STAGE 3
Build
Code compiles into a deployable form.
STAGE 4
Test
Automated tests run against the build.
STAGE 5
Deploy
Ships to test, staging, or production.

Jenkins is open-source, runs on a JVM across Linux, macOS, and Windows, and leans on a large plugin library — built by an active community — for integration and customization. It notifies, monitors, and secures the pipeline, and works well alongside Docker and Kubernetes.

Terraform IaC tool

A HashiCorp tool that orchestrates Infrastructure as Code deployments using HCL — the HashiCorp Configuration Language, which reads a lot like YAML or JSON. Terraform is declarative: define the infrastructure you want on AWS, Azure, GCP, OpenStack, and other providers, and Terraform figures out how to get there. It offers drift detection, dependency identification, and reviewable execution plans that show exactly what will change before you apply it.

Efficiency
Consistency
Agility
Auditing
Collaboration
Automation

Terraform can act as a Grafana provider for added observability, and integrates with code repositories like Git. Note for the exam: Terraform recently left its fully open-source roots and now uses a different licensing structure.


$ module --status
Tools Used in DevOps Environments · Objective 5.4