Ansible is an open-source automation tool. Ansible can help you on platform, configuration management, application deployment, intra-service orchestration and provisioning. It is very simple to setup and more powerful tool. In other words, it frees up time and increases efficiency.
Ansible doesn’t require a master client model, which means no agent need to installed on client.
Ansible uses a simple syntax written in YAML, called playbooks.
No special coding skills are required.
You can customize it based on your needs.
Ansible provides a GUI platform called the Ansible tower.
If you are not a developer or it’s your first time with a tool in this field, Ansible is a great way to start.
It can manage the infrastructure, networks, operating systems and services that you are already using.
No extra software on your servers means more resources for your applications.
Ansible provides Orchestration in the sense of aligning the business request with the applications, data, and infrastructure.
Ansible has powerful features that can enable you to model even the most complex IT workflows.
Controller Machine: Ansible is responsible for running the provisioning on the servers you are managing.
Inventories: All the machines you’re using with Ansible are listed in a single simple file.
Facts: Facts are automatically discovered by Ansible when runnings plays by executing the internal setup module on the remote nodes. Global variables containing information about the system, like network interfaces or operating system.
Handlers: Handlers are just like regular tasks of Ansible playbook, but it’s only trigger when it has been notify.
Play: A Execution of a playbook is called a play.
Playbook: Where the automation is defined in way of tasks using YAML format is called playbook.
Task: Playbook exist to run tasks. In other words A block that defines a single procedure to be executed.
Module: Modules are the units of work that Ansible execute to remote machine. Ansible has already a built-in modules, but you can also create your own custom modules.
Role: A pre-defined way for organizing playbooks and other files in order to facilitate sharing and reusing portions of a provisioning.
When: It’s an optional condition statement attached to task that is used to verify if the task should run or not.
Ad hoc: With the help Ad hoc you can execute some quick command rather than preparing any yaml script.