Ansible automation engine is the main component of Ansible, which interacts directly with the configuration management database, cloud services, and various users who write playbooks to execute it.
The below figure depicts the Ansible architecture:
The following are the components of the Ansible Automation engine:
- Modules: Ansible works effectively by connecting nodes and pushing out scripts called "Ansible modules". It helps to manage packages, system resources, files, libraries, etc.
- Inventories: These are the lists of nodes or hosts containing their databases, servers, IP addresses, etc.
- APIs: These are used for commuting public or private cloud services.
- Plugins: Plugins augment Ansible's core functionality. Also offers extensions and options for the core features of Ansible - transforming data, connecting to inventory, logging output, and more.
- Playbooks: Describes the tasks that need to be executed. They are simple code files written in YAML format and can be used to declare configurations, automating tasks, etc.
- Hosts: Hosts are node systems that are automated by Ansible on any machine like Linux, RedHat, Windows, etc.
- Networking: Ansible can be used to automate multiple networks and services. It uses a secure and simple automation framework for IT operations and development.
- Cloud: A system of remote servers that allows you to store, manage, and process data, rather than a local server.
- CMDB: It is a type of repository which acts as a data warehouse for IT installations.