Ansible is an open-source automation platform that automates and simplifies the deployment of IT tasks to host(s) machines. This allows IT to deploy tasks with consistency and efficiency, especially in large environments.
Example tasks include: running scripts, deploying applications, and configuring servers.
- Easy to use: No need to have coding experience as Ansible is based on YAML files
- Agentless: Doesn't need software to be installed on target machines as Ansible connects to servers using SSH/ Powershell
- Powerful: Automate IT processes in any type of environment (small to very large environments consisting of thousands of nodes)
- Idempotency: The majority of Ansible modules are idempotent. This means no matter how many times you run an Ansible playbook, the desired outcome is always the same.
- Inventory File: Information about target systems (aka hosts) are defined in an inventory file located on a local machine. The default location of the inventory file is located at /etc/ansible/hosts
- Playbooks: A single YAML file, on a local machine, that defines a set of tasks for Ansible to run on the host machine(s).
- Modules: Different actions that are ran by the tasks in a playbook.
- Roles: Commonly re-used tasks can be packaged into a role and referenced at a later time in a playbook. This saves time from having to re-write tasks, especially if they consist of many modules.
ansible-playbook <playbook file name>.yml