Skip to main content

An introduction to Ansible Tower

Not sure whether you need Red Hat Ansible or Red Hat Ansible Tower? Read on, and learn how to get started with Ansible Tower as well.

Using Red Hat Ansible (often referred to as Ansible core) is a common practice these days among sysadmins, DevOps, and automation practitioners. While there may be fewer use cases in the way of Ansible Tower integration, they are in a steady state of growth. In this article, I discuss Ansible versus its enterprise version, Red Hat Ansible Tower, and then show how sysadmin, DevOps, and automation practitioners can get started with Ansible Tower.

Ansible vs. Ansible Tower

Image
How Ansible, Ansible Tower, and automation fit together.
Source: Red Hat

Most people reading this article are probably familiar with or have used Ansible, I will provide a brief explanation of what Ansible is and its place in the automation construct. Ansible is an IT automation solution. It is, more specifically, an open-source configuration, deployment, and orchestration tool that integrates with much of your technology stack: networking, security, application deployment, storage, software development lifecycle processes, etc.

Ansible is agentless, powerful, and simple, and therefore is easy to get up and running. A new sysadmin can get started with Ansible within hours. Ansible is free, and the latest versions can be installed with the following command:

$ sudo yum install -y ansible

Ansible Tower is the enterprise version of Ansible, and it helps organizations and teams scale quickly and effectively. There is a cost associated with adopting it, installing it, and getting the software up and running in your environments. Ansible Tower offers more control than the free version and is a great platform for breaking down silos, as it can be used cross-functionally in an efficient manner.

Why Ansible Tower?

Ansible Tower takes you beyond Ansible’s command-line interface to a web user interface, offering a more familiar environment for most customers, employers, and non-technical people. Tower allows sysadmins and DevOps/automation specialists to demonstrate the value and power of automation and provides easier training and demos that lead to quicker acceptance and overall buy-in so you can add this tool into your long-term automation strategy.

As a sysadmin or DevOps/automation specialist, this may be your first time using Ansible

Tower. You will be glad you decided to take this path because it will demonstrate your ability to analyze and deduce what’s best for your team and company in the short- and long-term. Doing so will set you apart and show you to be a big-picture thinker, strategist, and savvy business professional. This is where the "soft skills" come in.

Ansible Tower is a scalable adoption strategy that, as your automation adoption grows, will be integral to quicker automation solutions. Those involved in the software life cycle process will thank you for choosing Ansible Tower. Here are a few of its features:

  • A graphical user interface dashboard.
  • Role-based access control.
  • Job scheduling.
  • Graphical inventory management.
  • A multi-playbook workflow.
  • RESTful APIs.
  • External logging integrations.
  • Real-time job status updates.
  • Red Hat technical support.
  • Red Hat Customer Portal access.

Ansible Tower is fully supported with updated release cycles, and the installation and upgrades are supported and well-documented. It also provides a 10-node free license with full enterprise features.

While yes, if you have more than 10 nodes Tower will cost you, the return on investment is that you can rely on its stability and support. Would you trust your production environment to anything else? Well, maybe, but Tower has some great use cases demonstrating why it is a major benefit to your mission-critical systems.

For example, Red Hat works with many large organizations that have decided to implement Ansible Tower as their central IT automation solution.  One use case would be configuring an Ansible Tower Cluster.  This allows for high availability and redundancy across the primary and secondary data centers. Now, two data centers are sharing the load which is ideal in case of a catastrophic event. Tower clusters allow you to add capacity to your Ansible Tower environment. 

No matter what you ultimately do, it doesn’t hurt to understand all of your options and be able to articulate their value and to analyze the risk/reward. Doing so is your responsibility as a sysadmin or DevOps/automation specialist.

Getting an Ansible Tower license

Ansible Tower requires a license to use the software. There is a trial license available for free that allows you and your teams to take Tower for a spin.

Tower currently only runs on the following distributions:

Ansible Tower is a commercial product that comes in two versions: Standard and Premium. You can compare the pricing of these two versions to see which option is best for your needs.

The quoted information—including the cost details—will vary depending on the subscription you choose, discounts, promotions, etc. This article will not address the prerequisites and requirements to install Tower, only how to get up and running Please check out prerequisites for those details. It’s more important to note that there are required Red Hat Enterprise Linux repositories such as extras and Red Hat Software Collections (RHSCL) that are part of the proper Ansible Tower installation.

Setting up Ansible Tower

Now that you obtained your trial license, you are well on your way to automation adoption. It is fairly easy to install Ansible Tower. The following instructions use Red Hat Enterprise Linux 8 as the base operating system.

You have to use Ansible 2.8 or greater on RHEL 8 to install Tower. To get started, download the tower-setup package. The Ansible Tower installation has to run from an internet-connected machine in order to pull down the applicable software repositories. You can install a bundled Tower installation as well.

Download and then extract Ansible Tower to your control machine:

[tazbrown@tower00 Documents]$ tar xvzf ansible-tower-setup-latest.tar.gz

[tazbrown@tower00 Documents]$ cd ansible-tower-setup-3.5.1-1/

Once you cd to ansible-tower-setup-3.5.1.1, you will see a variety of files:

[tazbrown@tower00 ansible-tower-setup-3.5.1-1]$ ls

@ backup.yml group_vars install.yml inventory licenses README.md restore.yml roles setup.sh

You need to open the inventory file shown below in an editor (for example, vi inventory) in order to modify the admin_password, pg_password, rabbitmq_password, etc.:

Image
An Ansible Tower inventory file.

Once you have added the usernames and passwords, or even the pg_host and pg_port details, you are ready to run the setup.sh script to install Ansible Tower. The installation typically takes from 10 to 15 minutes to finish, so be patient:

[tazbrown@tower00 ansible-tower-setup-3.5.1-1]$ ./setup.sh

Once the setup script finishes, you will be able to access your Tower instance via the web. Type your control machine’s IP address into the browser and hit Enter. This action brings you to your Tower instance login screen. Here, you will enter the username and password you established in your inventory file. Once you authenticate successfully, you will come to the Tower dashboard.

Now that you have access to the web interface, you have opened up a whole new world of opportunities for your automation strategy and your scaling infrastructure. Tower allows you to work easily with your team, and across other teams, to automate in a dynamic and effective way.

Author’s photo

Taz Brown

Taz Brown is currently a Sr. Ansible Automation Consultant at Red Hat. Taz has worked as a Sr. Systems Engineer in DevOps for over seven years, and has been in information technology for a more than 16 years. More about me

OUR BEST CONTENT, DELIVERED TO YOUR INBOX