Wednesday, March 11, 2015

Configuration Management Tool - Ansible

There are several Configuration Management Tools available today. Ansible is one of those. The beauty of Anisble is that we don't require any agent to be installed on the nodes that are  managed by Anisble. So it makes our setup process easy. It depends on SSH so SSH keys would be required.

For a Linux admin there can be another reason to choos or prefer Anisble  - Ansible is based on Bash... We don't have to learn a new language (like Ruby or Python) altogether to use this configuration management tool (unlike Puppet or Chef where we need to have a good knowledge of Ruby.)

Ansible is a model driven configuration management tool which is written in Python, and can work on most of the popular platforms like – Linux, Unix, Windows, etc... It  basically depends  on SSH for security and ease of management.  We may use bash scripts as well for node management and so does not require a Linux system admin to learn any new language to handle this tool.

The beauty of using  Ansible is that it does not require any agent to be installed on the nodes to be managed so this makes it easy for an administrator to use this CMS tool and also makes it different from some other configuration management tools like Chef or Puppet which required an agent to be installed on the nodes for managing them.

Ansible is not only useful for configuration management alone, but can be used for multi-node deployment, ad-hoc task execution, cloud provisioning and workflow orchestration as well.  Anisble requires python (ver - 2.4 or later) to be installed on the nodes for making it work (which most Linux servers would have..). Modules work over JSON and standard output and can be written in any language.

Some of the advantages of using Ansible are as follows:
  • Ease of use – Does not require writing any scripts or use of any custom code
  • Low learning curve – for both admins and developers they don’t have to learn anything new other than what they already know (phyton, bash etc…)
  • Security – It is more secure as it does not require any agent to be installed or additional ports  to be opened  or even root access. Also Ansible has encryption enabled.
  • Comprehensive automation – It allows automation of almost anything and everything in the IT environment.
  • Efficiency – Ad it runs on OpenSSH it does not rely on memory or CPU of servers thereby increasing server efficiency.

Ansible runs on GPL license. 

The first Release was on 8th March 2012, and the latest stable version released is Ver – 1.8.0 (on 25th Nov 2014). Ansible works on AIX, BSD, HP-UX, Linux, Mac OS X, Solaris, Windows, and many other platforms…

Ansible also comes with a Web UI like other CMS tools, but only for the paid version – called Ansible Tower.


Official website  -  http://www.ansible.com/home