Ansible Architecture
  • Dark
    Light
  • PDF

Ansible Architecture

  • Dark
    Light
  • PDF

Ansible Primer

While certainly full featured, the architecture, terms, and concepts associated with Ansible are relatively common in the Python network automation space.

Architecture

In the diagram below, the Ansible automation engine has a direct interaction with the users who write playbooks to execute the Ansible Automation engine. It also interacts with cloud services and a Configuration Management Database (CMDB).

02-Ansible-Architecture(1)

Component Description
Inventory Inventory files are simple text files which describe servers, IP Addresses or DNS Names grouped by names. The inventory file can list individual hosts or user-defined groups of hosts.
API APIs in Ansible are used as transport for Cloud services, public or private.
Modules Modules are executed directly on remote hosts through playbooks. The modules can control system resources (i.e., services, packages, or files), or execute system commands, by acting on system files, installing packages or making API calls to the service network.
Plugins Plugins augment Ansible’s core functionality and allows users to execute Ansible tasks. Ansible comes with built-in plugins; however, users are able to develop their own.
Networking Ansible can be used to automate different networks. Ansible uses a simple, agentless automation framework. It uses a data model (a playbook or role) that is separate from the Ansible automation engine that easily spans different network hardware.
Hosts The hosts in the Ansible architecture are just node systems which are getting automated by Ansible. It can be any kind of machine – Windows, Linux, Red Hat etc.
Playbooks Playbooks are simple files written in YAML format which describes the tasks to be executed by Ansible. Playbooks can declare configurations and orchestrate the steps of any manual ordered process, even if it contains jump statements. They can launch tasks synchronously or asynchronously.
CMDB The Configuration Management Database (CMDB) is a repository that acts as a data warehouse for IT installations. It holds data relating to a collection of IT assets (commonly referred to as configuration items (CI).
Cloud A network of remote servers hosted on the Internet to store, manage, and process data, rather than a local server. You can launch your resources and instances on cloud and connect to your servers.

What's Next