Ansible Tool Introduction

What is Ansible?

Ansible is an Open Source tool, used as a “Configuration Management System” designed to control a large number of servers. It is used to deploy applications and provision software. Easy to use for systems administrators and DevOps teams. It allows DevOps teams to control many different nodes or systems from a central ansible server.

Also Read: Ansible Installation & Configuration Guide


What is a Configuration Management(CM) system?

Configuration Management (CM) is a systems engineering process for establishing and maintaining the following activities:

  • Package Installation
  • Configuration of Servers
  • Continuous testing of already installed applications
  • Provisioning
  • Orchestration
  • Automation of tasks
Why Ansible?
  • It is an open-source application
  • Agentless —  No need for agent installation and management.
  • Python/YAML based scripting for automating the tasks.
  • Highly flexible and configuration management of the systems.
  • A larger number of ready to use modules(Predefined).
  • Custom Modules.


Ansible Architecture

Ansible Terminology:

There are 5 core sections in Ansible:

  • Controller Machine
  • Inventory
  • Module
  • Tasks
  • Playbooks
Controller machine:

The controller machine is known as the Ansible Master, where Ansible is installed and configured is referred to as an Ansible Master or Controller Machine. The controller server will do the orchestration work.


Inventory is nothing more than a list of the server IP addresses that contain all node IP’s. By adding a node IP in the inventory file we can deploy the applications to the nodes through an SSH Connection.


A module is a Fundamental unit in Ansible. It is also referred to as “Task Plugins” or ” Library Plugins”.  Modules can be used in two ways:

  • Ad-hoc Commands
  • Playbooks

A task is a single procedure or works to be executed, installed, or configured in the process.


Playbooks are a set of tasks written in python/YAML scripting languages. There are different sections in the ansible-playbook:

  • Hosts and users
  • Tasks
  • Handlers
  • Ansible Variables
  • Ansible loops
Liked it? Take a second to support Venkata Narayana Yarava on Patreon!

Venkata Narayana Yarava

Venkata Narayana Yarava is an experienced Cloud DevOps Engineer with exposure to various technologies. He has a huge passion for automation technologies, specifically DevOps Tools, OpenStack, AWS, Linux, and open-source software. If you enjoy our articles please support us and make a small contribution: Buy Us A Coffee