
We have been using some or the other Configuration management tool to automate our work like Chef,Puppet,SaltStack but Ansible stand out because of very minimum requirement and best part its agent less (Puppet, chef they all need agent) its easy to write in yaml and that make it people favorite tool.
Configuration management tool like Puppet, Chef have well build GUI interface which make them easy to use at enterprise level and they prefer to stick to such tools as they have wide range and type of numerous servers to manage.


Ansible is not behind if you are not aware, they also have GUI tool which complements Anisble (Core, the CLI) that we have been using all this time. Cheery on top is it have both the version paid — Ansible Tower and open sourced— Ansible AWX (need no licence).

AWX core components:
1. Database — Postgres DB
2. Message Queue — RabbitMQ
3. Caching solution — Memcached/Redis
4. Webserver — Nginx
AWX installation can be done in two way on Linux server and on Docker.
If you install on Linux server without Docker, we have to install all AWX component yourself manually be it database,rabbitmq,memcached and web server which will be painful if not done right and not easy also in some case.
A better and quick way is to install on Docker, Docker compose file are well written and AWX also offer them on official repository.
Hardware requirements: ( ie: a AWS t2.medium server is enough)
Memory : 4 GB | CPU: 2 | Internet access & open port 80| Root access
Note: Installation will fail on a server if of low memory (below 4 GB)
Overview of what to expect here in coming steps:
— Configure of repository's
— Install OS packges, Ansible, Docker and Python-pip
— Clone AWX repo from official git account
— Update configure of AWX “inventory” file with parameter (DB,RabbitMQ etc username,passwrd port etc)
— Run play book for installation and wait for it and enjoy
Step by Step Ansible AWX installation on CentOs with Docker
We will start with pre-configuration part where we install packages, set repose and disable SeLinux.
Ansible role: git clone git@github.com:iamraj007/Ansible_AWX_install_role.git
Once we are done with pre-configuration we can jump in to main part to clone and set configuration file. Do note several configuration can be updated in inventory file, that we will see below in our setup.
Now that you can see the login or migration page on http://PublicIP:80 you can start using the application in next few minute (post migration finish).
Note: If have not update username and password, it will be admin/password











Happy automating with AWX GUI of Ansible jobs,plays and roles!