Ansible Tower - Guide / Tutorial / Everything
If you are looking for information about Ansible Tower you have come to the right place. We are going to try to cover practically everything you could possibly want to know. We are going to try to touch upon what people want to know the most.
What is Ansible Tower?
This is probably the first question you would find yourself asking, “What is Ansible Tower?”. There are many different software tools out there and often times they have overlapping functionality. What role does each tool play? How does it fit into your digital ecosystem?
Ansible Tower is basically front end GUI to manage and monitor Ansible. It is a front end web interface for doing many of the same things you would do on the command line with Ansible.
One of the biggest features that people were asking to have added to Ansible was a front end GUI. This would be needed to be competitive with other similar software solutions. The much desired answer to this is an amazing web interface called Ansible Tower. It is so much more than just a web interface though. It includes a backend database and a bunch of other components.
Ansible Tower Features
There are numerous features of Ansible Tower that we should cover. It should go without saying that all features of basic Ansible should be included as a subset of Ansible Tower features. We’re going to leave these out and cover just what is specific to Tower.
- Nice Web UI
- Run jobs with the push of a button
- Portal mode - optional, simple, clean mode for less tecnical users that need to run jobs
- CLI - separate form basic Ansible tools
- REST API (fully documented)
- Clustering that can be scaled out
- Logging and Analytics - works with Splunk, ElasticSearch, etc.
- Logins / Users
- role-based access control
- integration with LDAP, Active Directory, RADIUS, etc.
- Real time job output
- Pretty dashboard
- Job scheduling
- Ability to pull from source control ( Git, etc. )
- Inventory - sync with different sources
- Optional prompting for parameters at runtime
- Easy form builder for job variables
- Notifications ( email, HipChat, Slack, etc. )
- Multi-Playbook workflows
- Encrypted credentials for security
- Integration with external accounts ( GitHub, Google Apps, etc. )
- Audit Trail
- Multi-tenancy - supports complete separation for more than one organization
- Enterprise support and Premium support ( depending on what you want to pay for )
Ansible Tower vs Ansible
If you aren’t overly familiar with either of these tools you might be asking yourself, “What is the difference between Ansible Tower vs Ansible?”. In short, Ansible is the underlying configuration management tool and Ansible Tower is a GUI for managing that tool. You don’t need Tower to be able to take full advantage of Ansible. You could run it by itself or combine it with another alternative front end GUI. Tower does provide a bit more than just a web interface. It provides a database, user authentication, and a bunch of other features as described in the section above.
Is Ansible Tower Free?
No, it is not free. You can try it out for free but ultimately it is going to cost you money. Unlike basic Ansible, Tower is not free. If that doesn’t work for you, than you may consider using one of the many alternatives. These include Rundeck and Ansible Semaphore. You can read more about these further down on this page. We also have a page where we talk all about Rundeck HERE. Tower is a great tool and if your budget allows you to pay for something, this wouldn’t be a bad choice. As with everything, make sure to evaluate your options carefully.
Ansible Tower Pricing
“Contact us for pricing”
Supposedly, acording to www.g2.com, prices look like this:
|Basic Tower||$5,000 per year|
|Enterprise Tower||$10,000 per year|
|Premium Tower||$14,000 per year|
Ansible Tower API
It does come with an API that we are planning to cover, potentially in detail.
Ansible Tower Installation
These instructions are current as of version 3.6.3 of Ansible Tower. ( March 2020 )
For more details on capacity and requirements check out the link to the official documentation HERE. If you can’t be bothered with their verbose documentation, just stick wih this page.
NOTE - PostgreSQL and Ansible will be installed by the install script automatically ( unless Ansible has already been installed by a package manager.
- Don’t colocate Ansible Tower with other apps. It includes a slew of dependencies and is likely to create a conflict with other software and services. Install it on a dedicated system.
- Supported OS:
- RHEL 8.0 ( or later )
- RHEL 7.4 ( or later )
- CentOS 7.4 ( or later )
- NO Ubuntu ! ( support was discontinued )
- 2 CPUs Minimum
- 4 GB RAM Minimum
- 20 GB disk for Tower service nodes ( recommended 160GB or more if the node has a DB )
- PostgreSQL version 10 ( version is important )
- Ansible version 2.2 Minimum ( just get the newest version )
- umask needs to be 0022
External Dedicated Database
You might want to put your database on a separate, dedicated server. This is a terrific idea but it takes a bit more work. Ansible Tower will automatically install PostgreSQL for you when you run the installation script. You can optionally decide to install PostgreSQL yourself on a separate server and then configure Tower to point to that instead.
- Ansible Tower Quick Installation Guide v3.6.3
- Ansible Tower Install References
- Ansible Tower Install Notes
Ansible Tower Docker
Of course you can use Ansible Tower to manage Docker but you can also run Ansible Tower from within a Docker container.
Ansible Tower Alternative
If you are using Ansible and you want a graphical front end the logical choice is to use Ansible Tower. This makes great sense but you may want an Ansible Tower alternative. There could be different reasons to want an alternative but the most common reason is probably price. After price, other reasons might be that you just don’t like the feature set or you want something that can be integrated into your environment more easily. Both Rundeck and Ansible Semaphore are great alternative tools that are available for free. Also, worth noting, is another piece of software called AWX. This should probably be your first choice if you want an equivalent alternative because it is actually what Tower is based on.
- Ansible Semaphore
AWX vs Ansible Tower
This is an open source tool. Ansible Tower is actually based on this tool. If you are looking for something that could be considered an open source Ansible Tower version, this is it. When RedHat bought Ansible, Inc. they made the commitment to open up the source for Tower. AWX is the result of that.
You could say Ansible Tower is to AWX what RHEL is to Fedora Linux. AWX is open source but sponsored by RedHat. It is more cutting edge and will tend to have newer features sooner. These features may eventually make their way into Tower. Keep in mind that AWX doesn’t come with any support other than what the community provides.
Ansible Semaphore: Open Source Ansible Tower
This is an interesting open source tool that is mean to be a replacement for Ansible Tower. It lets you run Ansible tasks from a web interface. This is far from being an enterprise solution. The documentation seems a little light and I wouldn’t count on getting any support. It does seem like a good tool though. It is open source and can be found on GitHub. The front end is written in Angular and the back end is written in Go. This is something to keep an eye on.
NOTE - Apparently a lot of companies/products like to use the word “semaphore” in their name. Make sure you don’t get them mixed up.
Rundeck As An Ansible Tower Alternative
Rundeck is a really great tool that overlaps much ( all? ) of the functionality of Ansible Tower. It isn’t specifically meant to be a Tower replacement. It is more of a general purpose tool for launching jobs of all types. These could be Ansible playbooks, scripts, or simple commands. If I were looking for an alternative this would be at the top of my list. Learn more about Rundeck HERE.
Who Owns It?
Currently Ansible Tower is owned by RedHat. It was originally owned by Ansible Inc. which was bought by RedHat. Red Hat was also recently bought out by IBM.
Ansible Tower Version
Ansible Tower Documentation
Ansible Tower Download
Apparently, as of March 2020, it is pretty easy to download Ansible Tower. If you go to THIS URL you can find versions ranging from all the way back in 2015 up until 2020. They are all listed there as tarballs that you can just download without signing up for anything. You could even use wget or curl to pull them down using a script.
If you click on the link for the free trial on ansible.com, you will be taken to a form. Once you fill out the form, you will be given a download link. You don’t actually need to do this just to download Tower.
You will need a license though so you will want to sign up anyway. If you don’t want to deal with licenses you could use AWX as an alternative.