ANSIBLE - A Configuration Management Tool

ANSIBLE - A Configuration Management Tool

Ansible basic, advantages and disadvantages, terms

Ansible is an open-source automation tool designed to simplify the management and configuration of computer systems, applications, and network devices. It is part of the DevOps movement, enabling system administrators and developers to automate repetitive tasks, deploy applications, and manage infrastructure in a scalable and efficient manner.

Ansible is a push-based configuration system while Chef has pull based mechanism.

ADVANTAGES:-

  • Ansible is free to use by everyone.

  • Ansible is very consistent and lightweight and no constraints regarding the OS or Underlying hardware are present.

  • It is very secure due to its agentless capabilities and open ssh security feature.

  • Ansible does not need any special system administrator skills to install and use it.

  • Push Mechanism

DISADVANTAGES:-

  • Insufficient user Interface, though ansible tower is GUI, it is still in the development stages.

  • Cannot achieve full automation by Ansible.

  • New to the market, therefore limited support and documents are available.

Terms used in Ansible -

  • Ansible Server - The machine where Ansible is installed and from which all tasks and playbooks will be run.

  • Module - Basically, a module is a command or set of similar commands meant to be executed on the client side.

  • Task - A task is a section that consists of a single procedure to be completed.

  • Role - A way of organizing tasks and related files to be later called in a playbook.

  • Fact - Information fetched from the client system from the global variables with the gather-facts operation.

  • Inventory - File containing data about the Ansible client servers.

  • Play - Execution of a playbook.

  • Handlers - Task which is called only if a notifier is present.

  • Notifier - Section attributed to a task that calls handlers if the output is changed.

  • Playbooks - It consists of code in YAML format, which describes tasks to be executed.

  • Host - Nodes, which are automated by Ansible.

Difference between Ansible and Chef in terms of Structure