Ansible Tower is Ansible at a more enterprise level, and is designed to be the hub for all of your automation tasks. It is a web-based solution for managing your organization with a very easy user interface that provides a dashboard with all of the state summaries of all the hosts, allows quick deployments, and monitors all configurations. Ansible Tower offers multilevel access delegation and role-based access control to an organization. The organization is nothing but a logical collection of Users, Teams, Projects, and Inventories. It is the highest level in the Ansible Tower object hierarchy. To support multiple clients from one umbrella, you could create an organization for each client and manage multiple teams under that. The following figure gives you a pictorial representation of the organization hierarchy in the Ansible Tower.
Inventories - Ansible inventories are lists of hosts (nodes) along with their IP addresses, servers, databases etc. which needs to be managed.
- Groups - A group consists of several hosts assigned to a pool that can be conveniently targeted together, as well as given variables that they share in common.
- Hosts - A system managed by Tower, which may include a physical, virtual, cloud-based server, or other device. Typically an operating system instance. Hosts are contained in Inventory. Sometimes referred to as a “node”.
Teams - A team is a sub-division of an organization with associated users, projects, credentials, and permissions. Teams provide a means to implement role-based access control schemes and delegate responsibilities across the organizations.
- Credentials - Authentication details that may be utilized by Ansible Tower to launch jobs against machines, to synchronize with inventory sources, and to import project content from a version control system.
- Permissions - The set of privileges assigned to Users and Teams that provide the ability to read, modify, and administer Projects, Inventories, and other Tower objects.
- Users - A user is someone with access to the Tower with associated roles and credentials.
Projects - Tower projects are a logical collection of Ansible Playbooks that are set up with each other based on what they might be doing or which hosts they might interact with.
- Playbooks - Playbooks are the language by which Ansible orchestrates, configures, administers, or deploys systems.
- Job Templates - The combination of an Ansible playbook and the set of parameters required to launch it.
- Jobs - One of many background tasks launched by Tower, this is usually the instantiation of a Job Template; the launch of an Ansible playbook. Other types of jobs include inventory imports, project synchronizations from source control, or administrative cleanup actions.
With the above-mentioned distributed architecture and a friendly graphical framework for your IT orchestration needs, the Ansible Tower makes your automation life easier in applications/service delivery environments. Enterprises that make money delivering applications/services via the web find that Ansible Tower excels at zeroing downtime during rolling updates, removing IT bottlenecks, automating repetitive tasks, and accelerating the delivery of applications/services to market. The Ansible Tower also helps administrators describe how all of systems in the infrastructure should inter-communicate, organize the teams and manage the operations across the teams to ensure high efficiency in developing and delivering applications/services.
Synchronized and failure-free functioning of the Ansible Tower is therefore a key requirement for the continuous delivery of critical applications/services. To ensure that the Tower is always accessible and is performing to peak capacity, it is necessary to constantly watch over the performance of the Tower, and detect and resolve failure conditions before they cause serious impact. This can be easily achieved using the specialized Ansible Tower monitoring model offered by eG Enterprise.