4 ms·
I'm deeply experienced with Chef and have been using Ansible for some newer projects. Plusses: - Supported Ansible modules are usually more reliable and more
by core-questions 7y ago
I'm deeply experienced with Chef and have been using Ansible for some newer projects.
Plusses:
- Supported Ansible modules are usually more reliable and more clearly defined in terms of how they'll function than community cookbooks for Chef are
- Upgrades between versions go smoothly
- People can just go read your YAML and figure out what it's going to do
Minuses:
- It's not code, so if you want to do something more programmatic, you're going to end up with something ugly compared to what you can do in Chef/Puppet's Ruby DSL
- It's still a bit immature in terms of comparison to Chef's server offering (Ansible Tower is pretty useless), and the Kitchen/Vagrant/Serverspec stuff is also not as advanced.
Ansible seems to fit well as a replacement for the Chef Zero use case of fire-and-forget provisioning - works well inside Packer or inside of Terraform via a null_resource, but I don't tend to find myself wanting to use it for long-lived machines that in the Chef world benefitted from continually running the cookbooks to help keep config in sync.
- BossingAround 7y ago> It's not code, so if you want to do something more programmatic, you're going to end up with something ugly If you need code, you're encouraged to write your own module (pure Python, typically) > Ansible Tower is pretty useless Why?
- chr15p 7y ago> It's still a bit immature in terms of comparison to Chef's server offering (Ansible Tower is pretty useless) Meh, I really like Tower, but maybe that depends on what you're used to. > It's not code, so if you want to do something more programmatic, you're going to end up with something ugly this is true, ansibles DSL has its limits and the developers are pretty clear that there are some things that are too complicated for its yaml based syntax. 99% of use cases its great for, if you want that extra 1% then you have to write your own ansible modules (which is actually reasonably straightforward). I dont know chef but puppet has become more and more complicated over the years chasing the more advanced use cases and in many ways thats moved it away from a tool for sysadmins towards a being a tool for specialists so I think Ansibles outlook makes more sense. YMMV.
- core-questions 7y ago> I dont know chef but puppet has become more and more complicated over the years chasing the more advanced use cases and in many ways thats moved it away from a tool for sysadmins towards a being a tool for specialists so I think Ansibles outlook makes more sense. YMMV. Yeah, I concur. There aren't too many cases where I can't work around the lack of programmability with some creative templates or what-have-you. (I wonder if I could render an Ansible task file from a template and then include it...)
- snorkasaurus 7y agoMaybe I'm missing something, but I've got a lot of mileage out of custom Ansible modules and callback plugins. Maybe that's what you're looking for.
- core-questions 7y agoLearning Python is never going to be something I'm looking for. Too much brainpower invested in Ruby now to switch...
- mobilemidget 7y agoThey both work okay I guess, but I'm still unsure at what number of machines these kind of configuration tools are worth the overhead.