When I started at my current work place ( in server infrastructure ), a bash, perl and python code base already was in place for remote executing jobs on linux systems, the one guy that wrote and maintain this code base have spent years refining it, since before I started there.
Although the existing code base can do a lot, it's pretty hard to make use of sometimes due to lacking documentation. Some of the script being executed is outdated as well. We're pretty dependent on the author of the code base from this. ( can add; only the author is allowed to edit the scripts involved )
Lately I've been experimenting with Ansible and configuration linux environments, users, groups, firewall, installing packages and running checks. I've suggested started translating basic tasks to Ansible, and with time combine it with Tower or AWX to get a good overview on jobs and their success.
Today, others are not too eager about this idea, especially the author of the code base. Authors argument for not moving to Ansible is that it's "too abstract".
Should I try to push for moving to Ansible?
Pros, the way I see it:
- A lot of functionality is already there through modules.
- Should be easier for new colleagues to pick up on.
- Can be used with a front end, such as Tower or AWX.
- (Probably) Overall safer, as custom scripts require that you write your own checks.
- I imagine Tower/AWX can be usable for other teams at our organization
Cons, the way I see it:
- Learning curve
- Will take quite a bit of work to implement.
- "Another system" to maintain.
Anyone already has been through picking up on Ansible, with an infrastructure already in place, pros and cons with that?
I can add that I'm not "the strongest voice" at my work place, and the code base author is "the most senior" of us all. So a hierarchy is involved, and suggestions from me must be well motivated to be heard.
Glad for any though on this.
PS. Ansible could be any automation tool, regarding your experience. I just happened to pick up on Ansible.