I wanted to comment on a specific part that mentions that Ansible's YAML is a nightmare to debug.
I wouldn't describe it like that but I'm biased because I've written ARA Records Ansible exactly to make playbooks easier to understand and troubleshoot: https://github.com/ansible-community/ara
I've been using Ansible for many years in different contexts and I think it is easy to get into the trap of "when you have a hammer, everything looks like a nail".
For me, Ansible shines as an excellent abstraction layer for supporting different operating systems or as a glue between different tools.
I am very much a believer of using the right tool for the job. Ansible isn't always the answer and I think that's OK.
Hi! I'm the author of ARA and just wanted to thank you for mentioning it :)
Full disclosure: I'm a Software Engineer at Red Hat.
Tower has a lot of great features but I hate to concede that it does come with some of the drawbacks you mentioned.
I think it comes down to weighing the pros and cons, making sure you are aware of the cons and putting measures in place to avoid problems.
It also heavily depends on your use case, Tower provides things like RBAC/ACL, auditing, scheduling, online editing and execution, an API, etc. If you happen to need none of that and you're perfectly happy with just using Ansible from your command line, there's probably little incentive for you to use it.
If all you need is reporting, ARA is simple, easy to install and setup, doesn't get in your way and just records things transparently.
I figured I might as well take the opportunity of posting to leave a video demo [1], even if a little outdated, as well as an example of live report that ara provides [2].
ARA stands for Ansible Run Analysis and it is an Ansible callback plugin that records your playbook runs, wherever it is.
Whether you’re running Ansible from your personal laptop or from a server, you basically just need to install ARA, configure Ansible to use ARA and you’re good to go.
ARA organizes the data in a way to help you visualize, understand and troubleshoot what happened throughout your playbook.
Why ?
I'm part of the OpenStack engineering team at Red Hat and saying that we leverage Ansible a lot for means of deployment or continuous integration would be an understatement.
I wanted to comment on a specific part that mentions that Ansible's YAML is a nightmare to debug.
I wouldn't describe it like that but I'm biased because I've written ARA Records Ansible exactly to make playbooks easier to understand and troubleshoot: https://github.com/ansible-community/ara
I've been using Ansible for many years in different contexts and I think it is easy to get into the trap of "when you have a hammer, everything looks like a nail".
For me, Ansible shines as an excellent abstraction layer for supporting different operating systems or as a glue between different tools.
I am very much a believer of using the right tool for the job. Ansible isn't always the answer and I think that's OK.