Skip to main content
Version: 1.0.0

Ansible

Ansible is an open source automation tool that allows you to automate and manage IT infrastructure operations like configuration management, application deployment, and orchestration. It uses a simple declarative language called YAML to describe automation jobs, called playbooks.

Ansible works by connecting to your nodes (servers, devices etc) over SSH and pushing out small programs called Ansible modules to them. These modules can do things like install a package, change a config file, or start a service. You write playbooks that specify which nodes to target and what tasks to run on them. Ansible handles connecting to the nodes and running the tasks in order. Some key advantages are that it's very simple and agentless - you don't need to install any extra software on your nodes for Ansible to work.

For example, you could write a playbook that deploys a web server. The playbook would specify that Ansible should SSH into a group of nodes, install the Apache web server package, copy over config files from your version control system, and start the Apache service. Ansible makes it easy to orchestrate complex multi-tier deployments like this across your entire infrastructure.