Configuration management tool
Maintenance and control of the components of a large complex system in a known, determined state throughout the SDLC - {Servers, networks, storage, Application}
Changes are tracked, properly implemented and controlled.
Ansible executes over SSH by default and removes them when finished. Your library of modules can reside on any machine, and there are no servers, daemons, or databases required.
Chef, Puppet --> Ruby Framework
Ansible --> Python Framework
why Ansible?
Documentation will be available prefect in Ansible than other configuration tools.
Ansible works in PUSH MECHANISM.
MASTER -> Control Node.
SLAVE -> Manage Node.
Ansible works in an agent-less mechanism (i.e.), the ansible file will not run in the managed node which is known as the agent-less.
Control Node (push) ----> Manage Node ---> Push mechanism
Manage Node (static info pull) ----> Control Node ---> Pull mechanism
Setup:
inventory file -- /etc/ansible/hosts
configuration file -- /etc/ansible/ansible.cfg
NOTE:
The control Node cannot be a Windows machine, but the manage node can be Windows.
Some common words related to Ansible.
Service/Server − A process on the machine that provides the service.
Machine − A physical server, VM (virtual machine) or container.
Target machine − A machine we are about to configure with Ansible.
Task − An action(run this, delete that) etc managed by Ansible.
Playbook − The yml file where Ansible commands are written and yml is executed on a machine.
ANSIBLE PLAYBOOK:
Ansible uses YAML syntax for expressing Ansible playbooks. Ansible uses YAML because it is very easy, to read and write when compared to other data formats like XML and JSON.
Ansible - Ad hoc Commands
Ad hoc commands are commands which can be run individually to perform quick functions. These commands need not be performed later.
Ansible-playbook is used for configuration management and deployment.
Summary
Ansible Automation Platform can also reduce the burden on operations teams by providing self-service functionality to a number of roles. Automation teams can define, build and update their automation environments without having to contact the platform administrator for changes to the platform.