DEV Community

DIZZ
DIZZ

Posted on

Introduction to Ansible

Ansible is an Open-Source IT automation engine which allows provisioning, configuration management and application deployment tool enabling infrastructure as code(Iac).

Why Ansible?

At the beginning of the network computing, system administrators managed servers manually. But the reliability and the efficiency of such practices were an issue. Eventually, data centres grew, the hosted applications in them became more complex and cumbersome to handle. Therefore doing complex configurations in thousands of servers manually was not efficient practice. Therefore IT personnel needed a tool to do these server configuration tasks effectively and efficiently.
The tool that they came up with is Ansible.

Why is this Popular?

There are indeed other tools that do the same as Ansible. If that is true, why do professionals use Ansible? There are several factors for that. Let's dive in 🐋,

  • Ansible is simple and human-readable, which allows any user level to grasp it relatively quickly.
  • Since Ansible is agentless, it does not stick to a platform.
  • It's capable of handling tens of thousands of nodes at a time.
  • More secure since it runs on SSH(on Linux)
  • For provisioning, configuration management, orchestration, and deployment, there are different tools available. But Ansible can provide all these services by itself.

Ansible Terms

  • Controller Machine: There server where Ansible is installed, This is responsible for provisioning.
  • Inventory: This contains the information of the servers that are managed.
  • Module: This is a reusable, standalone script that Ansible runs on your behalf locally or remotely.
  • Task: Defines a single procedure to be executed.
  • Playbook: Is the blueprint of automation tasks. Playbooks are written in YAML format.
  • Role: A series of actions for configuring a host to perform a certain function, such as configuring a service.
  • Play: Execution of a playbook.
  • Facts: Global variables which keep data gathered about target nodes.
  • Handlers: Are special tasks which only get executed when triggered via the notify directive.
  • Ansible Tower: Web-based interface to manage Ansible.

Ansible Architecture

Ansible Architecture Diagram

Wanna know more?👇

Useful Resources


Thanks for reading.. 🙌

Top comments (0)