- Automation is the procedure to execute the tasks without manual interaction. Automation can be used in wide range of areas. We can even say this is just the beginning, in the future more things will be automated. Lets’ talk about automation used in provisioning , Configuration Management, application deployment etc.
-Scaling is the process of availing the infrastructure whenever required. This helps is maintaining the cost as well, as the unused instances are shutoff. Many tools are available for this ,Ansible Tower being one. Ansible Tower is basically a product used by organizations to scale.
-Ansible is the tool for Configuration Management and the orchestration engine. Ansible, unlike others does not use master-minion configuration, but it uses SSH fundamentals. Ansible relies on libraries from Python. It uses agentless architecture.
-Ansible Tower is an open web-based GUI with key Ansible resources.
Let us look at the features of Ansible tower which makes it more feasible than ansible. Here we will enlist the features of tower which are not in ansible for comparison purpose.
◼Ansible tower features:
▪Portal jobs: Ansible Tower is much easier to use as compared to ansible CLI as it is a GUI, so even less experienced person in ansible will be able to operate Ansible Tower. It provides a simplified view of automation jobs which is a positive function because it truly removes the entry obstacles to using Ansible.
In Ansible tower , we can execute multiple playbooks back to back without any hassle. It also provides approval facility in between playbooks which will only be executed after approval. The approval procedure can be done using any modern chat service like slack.
It also provides the option to allow others to approve the notification instead of the user who created the playbook.
▪Job scheduling: A job is an instance of Tower launching an Ansible playbook against an inventory of hosts. We can schedule our jobs and even add repetition option to it . In Tower GUI , you can go to Create template>Schedules to schedule your jobs.
▪Credentials Database: Tower provides a database specifically for credentials where the keys will be automatically encrypted, so it spares us with creating vault and other things in ansible for password security. The credentials can be even created if are not present by default.
▪Access management based on roles: As mostly for projects team work is required where different roles are allotted to each member. As members need to access the same directory such as LDAP or AD , the ansible tower can be integrated with them.
▪Fully documented REST API: Tower helps you to incorporate Ansible into your current toolset and environment.
▪Tower Dashboard: This can be used to view an outline of the whole environment easily. It makes the summarizing of the whole environment very easy.
▪Cloud integration: Ansible Tower is compatible with the major cloud environments: Amazon EC2, Rackspace, Azure, Oracle Cloud etc.
◾All these facilities can be achieved just by some clicks using Ansible Tower GUI whereas to achieve all these in ansible is more complicated even though we use YAML which is based on key-value concept , the actual scenario for writing playbook for these facilities can be cumbersome.
So , as a newbie one can consider using Tower as soon as possible after clearing the fundamentals of ansible.