Ansible

Ansible is an open-source IT automation tool first released by Michael DeHaan in 2012. Its official source repository at github.com/ansible/ansible describes it as “a radically simple IT automation system” that “handles configuration management, application deployment, cloud provisioning, ad-hoc task execution, network automation, and multi-node orchestration.” The project’s defining promise was to make automation approachable, using a language that, in the README’s words, “approaches plain English, using SSH, with no agents to install on remote systems.”

A central design choice is that Ansible is agentless. Rather than installing and maintaining a persistent daemon on every managed host, it connects over standard transports such as SSH and pushes out small units of work. The documentation frames this as “low maintenance overhead by avoiding the installation of additional software across IT infrastructure,” which lowered the barrier to adoption compared with earlier systems that required a dedicated agent on each node.

Work in Ansible is described in playbooks, which the documentation calls “simple, human-readable scripts” written in YAML. A playbook lists tasks that invoke modules, the discrete units that actually perform actions such as installing a package, templating a file, or starting a service. Because the description is expressed as desired state rather than as a sequence of shell commands, a playbook reads as a declaration of how a system should look.

Idempotency is a core property: the documentation explains that “when the system is in the state your playbook describes, Ansible does not change anything, even if the playbook runs multiple times.” This makes runs safe to repeat and lets the same playbook serve both to set up a fresh machine and to correct drift on an existing one.

Ansible grew quickly in the early 2010s and was acquired by Red Hat in 2015, which placed it alongside other enterprise automation offerings. Within the broader configuration-management landscape, Ansible is often contrasted with agent-based systems such as Puppet and Chef, its agentless, push-based, SSH-driven model being a deliberate counterpoint to the agent/master architectures that preceded it.