Confused about architecture: awx-web, aws-task, rabbitmq and memcached

,

Hi all, after some local docker testing, using the docker-compose file located in https://github.com/geerlingguy/awx-container, I am going to deploy a “real” environment, but I have some questions about the installation, because I can’t find the relations between docker images and the documentation:

  • Is a memcached service needed? I don’t see this requirement in the Tower documentation https://docs.ansible.com/ansible-tower/latest/html/quickinstall/prepare.html
  • What is the difference between awx-task and awx-web? There is no such differentiation in the Tower docs (If I understood well, all nodes are web and workers at the same time)
  • Is a rabbitmq external service needed? According to documentation, a rabbitmq service is installed in each instance (and configured to talk to the other instances? plase confirm), so I don’t understand the externalization. Also, why in all documentation rabbitmq_vhost is set to “tower”? Is this an alias to localhost created during provisioning?

Thanks!

You will not find the answer to these questions in the tower documentation because tower installs natively, it does not run in containers.
Yes, memcached is needed.
awx-web is just the web interface, while awx-task is the backend.
Yes, rabbitmq is needed, that’s were your jobs are put in a queue to be executed from. Also, be aware that awx does not work in a cluster with docker, if you plan to have more than one instance. You will need kubernetes or openshift for that.