2 ms·
I feel like there are two alternatives to CM tools (of which I am only really familiar with Ansible): just running commands on machines, or shell scripts. At t
by Eridrus 10y ago
I feel like there are two alternatives to CM tools (of which I am only really familiar with Ansible): just running commands on machines, or shell scripts.
At the very least shell scripts can be put into source control and run against a server.
The main benefits I find over shell scripts are:
1) Ansible Galaxy sometimes already has playbooks to deploy the software I want to deploy. I try to contibute back since I really like the idea.
2) It can automate the AWS API for me; you could certainly write shell scripts to interact with the AWS CLI and have separate scripts for configuring AWS vs configuring images, etc.
3) It can capture how everything fits together in machine executable form, and it can provide structure to things such as files, templates, etc.
4) The fact that playbooks are idempotent means I test them as I make changes and don't just try to construct them from my bash history.
5) I can write python modules if I need something complicated; which is nice because I certainly don't want to be writing complicated bash scripts.
I'll certainly concede that I recoil every time I have to do much logic in YAML, but it's not very common for what I've needed to do.