Automating install, deploy, configuration and running software on Linux servers using Ansible.
If you automate actions to 'single button push' state you got following advantages:
- You don't forget prepare important settings.
- Configuring spent low amount of time.
- Get possibility prepare same settings on unlimited count of hosts.
- Therefore - you will free yourself from routines.
How to achieve it?
- Preparing of inventory file with list of hosts and it's connection methods by SSH.
- Writing a Playbook - list of Tasks which will be run on the host (account creation, package installation, generate config files etc. ).
- Writing a Template (if it necessary) - config file prototype contains variable settings. For example, if you need to specify server IP address in config file on several hosts.
If it need prepare graceful - will write a Roles. With roles you get ability to construct host configuration like bricks. For example: you may appoint to host roles like 'docker-host', 'docker-swarm-mgr', 'docker-mysql' and finally get working MySQL node in docker container from scratch!
It is perfect way to control rapidly changing infrastructure of VDS or dedicated servers.