How is Ansible different from simply running a provisioning bash shell in Vagrant?

Hai All,
A team of IT sysadmins that have experience using shell scripting to solve their problems, are contemplating to start using Ansible instead.
Are there substantial differences and good reasons to start using Ansible vs. to continue writing shell scripts?


There are many benefits from using ansible.

  • Idempotent execution
  • Huge library of roles in ansible galaxy
  • Managing of variables and credentials
  • Different routines depending on OS family

That are features I mentioned within 5 seconds and there are so much more.


Thank you for your answer


However :wink:

Shell scripts are not something bad if your team is smaller, if you all can do decent scripting and if you manage it right (git etc).

Not everything in Ansible is idempotent, that’s a problem. Huge library is nice, but sometimes people use Roles they don’t understand, therefore the recommendation is to always write your own ones. And you often end up with many roles doing the same thing, some are better some are worse.

Ansible is a wonderful config management and for larger teams it’s IMHO the best choice at the moment. All I want to say is that shell script can work too, can be idempotent and clean as well. It’s just bunch of work and this is not different with Ansible. It does not come for free.

All and all, Ansible was built for this while shell scripting is too generic and you will not find as many good resources on this topic as you will with Ansible. If you have green field environment, go with configuration management software for sure.