It is open-source and the suite includes software provisioning, configuration management, and application deployment functionality.
[2] Originally written by Michael DeHaan in 2012, and acquired by Red Hat in 2015, Ansible is designed to configure both Unix-like systems and Microsoft Windows.
The term "ansible" was coined by Ursula K. Le Guin in her 1966 novel Rocannon's World,[4] and refers to fictional instantaneous communication systems.
[5][6] The Ansible tool was developed by Michael DeHaan, the author of the provisioning server application Cobbler and co-author of the Fedora Unified Network Controller (Func) framework for remote administration.
For the duration of an orchestration task, a process running the module communicates with the controlling machine with a JSON-based protocol via its standard input and output.
[20] Ansible does not require a single controlling machine for orchestration,[22] ensuring that disaster recovery is simple.
The design goals of Ansible include:[18] Modules[24] are mostly standalone and can be written in a standard scripting language (such as Python, Perl, Ruby, Bash, etc.
One of the guiding goals of modules is idempotency, which means that even if an operation is repeated multiple times (e.g., upon recovery from an outage), it will always place the system into the same state.
[27] Playbooks are YAML files that store lists of tasks for repeated[28][20] executions on managed nodes.
AAP is a commercial product supported by Red Hat, Inc. but derived 17+ upstream open source projects including the AWX upstream project (formerly Ansible Tower derived from), which has been open source since September 2017.