This section provides a high-level overview of Ansible.
Ansible is an automation engine that automates cloud provisioning, configuration management, application deployment, and intraservice orchestration. Ansible models an IT infrastructure by describing how the systems relate to each other. Using YAML, in the form of Ansible Playbooks, you can describe your automation jobs. Ansible consists of:
- Modules
- Module utilities
- Plug-ins
- Inventory
- Playbooks
- The Ansible search path
Modules
Ansible connects to your nodes and creates scripts that are called Ansible modules to the nodes. Modules accept parameters that describe the required state of the system. Ansible runs the modules and then removes them when they are finished.
Module utilities
If multiple modules use the same code, Ansible stores those functions as module utilities to reduce duplication and maintenance.
Plug-ins
Plug-ins offer options and extensions for the core features of Ansible.
Inventory
Ansible can connect to external sources to draw inventory, group, and variable information.
Playbooks
Playbooks define multiple areas of an infrastructure topology in high-detail, and can define how many machines can be used at a given time.
The Ansible search path
As modules, module utilities, plug-ins, playbooks, and roles can reside in multiple locations, you can use the Ansible search path to determine which of the files that Ansible discovers and uses in a playbook.