100% Free Forever
AI-Powered Learning
Industry Expert Content
Certificates & Badges
Learn At Your Own Pace
DevOps

What Is Ansible?

Ansible is an open-source, agentless automation tool for configuration management, application deployment, and orchestration, driven by human-readable YAML playbooks.

FoundationsBeginner8 min readJul 10, 2026
Analogies

What Is Ansible?

Ansible is an open-source automation engine, originally released by Michael DeHaan in 2012 and now maintained by Red Hat, that lets you describe the desired state of servers, network devices, and cloud resources in plain YAML files called playbooks. Instead of manually SSH-ing into machines to run commands one by one, you write a playbook once and Ansible applies it consistently across one server or ten thousand.

🏏

Cricket analogy: Just as a captain like Rohit Sharma writes a fielding plan before the match rather than shouting instructions ball by ball, a playbook lays out the entire strategy in advance so every player (server) knows its role without live micromanagement.

Why Ansible Exists

Before tools like Ansible, system administrators relied on hand-written shell scripts or manual runbooks to configure servers, which quickly became inconsistent as infrastructure grew and drifted from documented standards. Ansible solves this configuration drift problem through idempotency: running the same playbook twice produces the same end state, because each task checks current state before making a change, only acting when something doesn't already match the declared configuration.

🏏

Cricket analogy: Idempotency is like a groundskeeper checking the pitch before every Test match at the MCG and only rolling it if it isn't already at the correct firmness, rather than rolling it repeatedly regardless of condition.

Core Design Principles

Ansible is built around three principles that distinguish it from earlier tools: it is agentless, meaning no persistent software runs on managed nodes; it is push-based, meaning the control node initiates every change rather than waiting for nodes to check in; and it uses simple, human-readable YAML rather than a proprietary domain-specific language, which lowers the barrier for teams to read and audit automation logic.

🏏

Cricket analogy: Being agentless is like a commentator like Harsha Bhogle calling a match from the studio using live feeds, without needing a permanently installed device on every player, keeping the setup lightweight.

yaml
---
- name: Configure web servers
  hosts: webservers
  become: true
  tasks:
    - name: Ensure nginx is installed
      ansible.builtin.apt:
        name: nginx
        state: present
        update_cache: true

    - name: Ensure nginx is running and enabled
      ansible.builtin.service:
        name: nginx
        state: started
        enabled: true

    - name: Deploy custom index page
      ansible.builtin.copy:
        src: files/index.html
        dest: /var/www/html/index.html
        owner: www-data
        group: www-data
        mode: '0644'

How Ansible Compares

Compared to Puppet and Chef, which require installing a persistent agent on every managed node and typically use Ruby-based DSLs, Ansible needs only SSH access and Python on the target, making it faster to adopt in mixed or legacy environments. Compared to Terraform, which specializes in provisioning cloud infrastructure via declarative state files, Ansible is more general-purpose: it handles provisioning, configuration management, application deployment, and orchestration, though teams often combine Terraform for infrastructure with Ansible for configuration.

🏏

Cricket analogy: Choosing Ansible over an agent-based tool is like a franchise picking a freelance physio who travels to any ground versus one who requires a permanent clinic built at every stadium before they can work.

Ansible, Terraform, and Kubernetes are complementary, not competing: a common production pattern is Terraform to provision cloud VMs and networking, Ansible to configure the OS and deploy applications onto those VMs, and Kubernetes to orchestrate containerized workloads on top.

  • Ansible is an open-source automation engine using YAML playbooks to declare desired system state.
  • It is agentless, requiring only SSH and Python on managed nodes, unlike Puppet or Chef.
  • It is push-based: the control node initiates changes rather than nodes polling for instructions.
  • Idempotency means re-running a playbook only changes what has actually drifted from the declared state.
  • Ansible covers provisioning, configuration management, deployment, and orchestration in one general-purpose tool.
  • It is commonly paired with Terraform (provisioning) and Kubernetes (container orchestration) in production stacks.
  • Red Hat has maintained Ansible since acquiring it in 2015, alongside the AWX/Ansible Automation Platform ecosystem.

Practice what you learned

Was this page helpful?

Topics covered

#DevOps#AnsibleStudyNotes#WhatIsAnsible#Ansible#Exists#Core#Design#StudyNotes#SkillVeris#ExamPrep