...

/

Ansible: Tools and Features

Ansible: Tools and Features

Let's take a look at what Ansible is and its various tools and features.

What is Ansible?

Ansible was written by Michael DeHaan and developed by the Ansible Community, Ansible Inc., and Red Hat Inc.

According to the Red Hat whitepaper “Ansible in Depth”, the design goals for Ansible were:

  • Minimal in nature

  • Consistent

  • Secure

  • Highly reliable

  • Requiring minimal learning

Another distinguishing feature of Ansible is that it is agentless. SSH is used to connect Ansible to network devices. Configuration on the devices is only required for standard CLI access, and possibly a service account when using RSA or other forms of AAA authentication on the network. Aside from Ansible needing to log in to the device, there are no other requirements for the network. Ansible is also cross-platform across Linux, Windows, UNIX, F5 (BIG-IP), and Cisco network device OS (IOS, NX-OS).

Ansible by Red Hat is the open-source version, and Red Hat Ansible Engine is the commercially available version.

Ansible is an automation engine that runs playbooks written in YAML format. Tasks are executed serially and offer full orchestration control within a playbook.


Framework

Think of Ansible more as an automation framework rather than a programming language.

Ansible is not C++, or Java for networks. Rather it is a framework of tools made up of the following:

  • Inventory:

    • Static hosts.ini file

    • Possibly dynamic using API calls to NMS, IPAM, or inventory system already maintained with a list of network devices

  • Variables:

    • group_vars

    • host_vars

    • YAML format

    • Data models for network ...