Note: Ansible is not “agent free” when installing on remote servers. It depends on ssh. Which is an agent. It may be pre-installed on some machines, but it’s still an agent. This also means it works for Linux-based servers, but won’t help you with Windows-based servers — unless you install an Ansible agent.
Moreover, we discovered back in the mid-90s that parallel ssh across many clients is inherently un-scalable. That’s why popular tools like Puppet and Chef come with their own low-impact agents, which is a lesson that the Ansible team has had to re-learn.
In addition, YAML isn’t a great configuration language. It’s possible to have an unintentional truncation that still results in a syntactically correct file that is no longer complete nor semantically correct.
I’m a fan of Chef, for many reasons. IMO, Ansible makes all the wrong decisions for the wrong reasons, based on their limited understanding of the problem space at the time, and so they’ve had to re-learn the hard way all those lessons that Puppet and Chef had already learned.
But hey, if you want a hammer, and you want everything to look like nails, then you can choose to go for it.
Moreover, we discovered back in the mid-90s that parallel ssh across many clients is inherently un-scalable. That’s why popular tools like Puppet and Chef come with their own low-impact agents, which is a lesson that the Ansible team has had to re-learn.
In addition, YAML isn’t a great configuration language. It’s possible to have an unintentional truncation that still results in a syntactically correct file that is no longer complete nor semantically correct.
I’m a fan of Chef, for many reasons. IMO, Ansible makes all the wrong decisions for the wrong reasons, based on their limited understanding of the problem space at the time, and so they’ve had to re-learn the hard way all those lessons that Puppet and Chef had already learned.
But hey, if you want a hammer, and you want everything to look like nails, then you can choose to go for it.