What is Ansible?

By  GAJANAND SINGH    82 - 26 August, 20

Share article on social media

Ansible is a radically simple IT automation system. Ansible is very simple and easy to deploy because it does not use any agents or custom security infrastructure. Automation is crucial lately, with IT environments that are too complex and sometimes got to scale too quickly for system administrators and developers to stay up if they had to do everything manually. Automation simplifies complex tasks, not just making developers’ jobs more manageable but allowing them to focus attention on other 

tasks that add value to a corporation. In other words, it frees up time and increases efficiency. And Ansible, as noted above, is rapidly rising to the top in the world of automation tools.

Advantages of Ansible :

  • Free:  Ansible is a free open-source automation tool.
  • Simple and easy to use: No coding experience required to write the playbook.
  • Efficient: No need to install any extra software to use ansible.
  • Agentless: No need to install any agent software on the client systems you want to automate.

Ansible’s Features and Capabilities

Configuration Management :

Ansible is meant to be very simple, reliable, and consistent for configuration management. If you’re already in IT, you can get up and running with it very quickly. All you would like to start out managing systems may be a password or an SSH (Secure Socket Shell, a network protocol) key. An example of how easy Ansible makes configuration management: If you would like to put in an updated version of a selected sort of software on all the machines in your enterprise, you have to write out all the IP addresses of the nodes / managed nodes (also called remote hosts) and write an Ansible playbook to install it on all the nodes, then run the playbook from your control machine.

Application Deployment :

Ansible gives you access to easily deploy multitier apps. You won’t need to write custom code to automate your systems; you list the tasks required to be done by writing a playbook, and Ansible will figure out how to get your systems to the state you want them to be in. In simple words, you need not have to configure the applications on every machine manually. When you run a playbook from your control machine, Ansible uses SSH to communicate with the remote hosts and run all the commands (tasks).

Security and Compliance :

As with application deployment, sitewide security policies (such as firewall rules or locking down users) can be implemented along with other automated processes. If you configure the security details on the control machine and run the associated playbook, all the remote hosts will automatically be updated with those details. And for extra security, an admin’s user ID and password aren’t retrievable in plain text on Ansible.

Ansible Architecture :

Modules :

Modules are small written programs that Ansible pushes out from a control machine to all the nodes or remote hosts. The modules are executed using playbooks (see below), and they control things such as services, packages, and files. Ansible executes all the modules for installing updates or whatever the required task is, and then removes them when finished. Ansible provides more than four-fifty modules for everyday tasks.

Plugins :

As you probably already know from many other tools and platforms, plugins are extra pieces of code that augment functionality. Ansible comes with a number of its plugins, but you can write your own as well. Action, cache, and callback plugins are three examples.

Playbooks :

Ansible playbooks are like instruction manuals for tasks. Ansible files are written in YAML, which stands for YAML Ain’t Markup Language, a human-readable data serialization language. Playbooks feature what makes Ansible so popular is because they describe the tasks to be done quickly and without the need for the user to know or remember any particular syntax. Not only can they declare configurations, but they can orchestrate the steps of any manually ordered task, and can execute tasks at the same time or at different times.

Each playbook is composed of one or multiple plays, and the goal of a play is to map a group of hosts to well-defined roles, represented by tasks.

Advantages of Using Ansible With Docker :

  1. Portability/Flexibility
  2. Auditability
  3. Management of Entire Environments
  4. Similar Syntax

How to Install Ansible?

Step 1: Update Your Control Node

Step 2: Install EPEL Repository: yum install epel-release

Step 3: Install Ansible: yum install ansible

Step 4: Create a User for Ansible

-Add a user and set a password onto your Controller node.

useradd  noobtoDev

passwd [email protected]

- Add the admin user, and set a password onto your Managed node.

useradd noobtoDev

passwd [email protected]

Step 5: Configure Our Admin User for SSH Access

Step 6: Create an Inventory: vim /home/admin/inventory

Step 7: Create an Ansible Playbook: vim /home/admin/playbook.yml

Step 8: Run the Playbook: ansible-playbook playbook.yml

Successfully Installed !!

For any query always refer official documentation: https://docs.ansible.com/ansible/latest/index.html