5 ms·
I have used and followed Ansible for a long time (iirc I was one of the first hundred people to star it on GitHub in the early days) and while I love certain as
by djrobstep 6y ago
I have used and followed Ansible for a long time (iirc I was one of the first hundred people to star it on GitHub in the early days) and while I love certain aspects of it (agentless, strong emphasis on idempotency), I found the yaml format to eventually be limiting and inflexible, and have shifted to a more roll-your-own approach to infra with vanilla python and libraries like paramiko and boto3.
I wish there was a convenient way of using the modules (which are robust and powerful) without the yaml format and boilerplate.
- CraigJPerry 6y agoInteresting, that's exactly the reason i like it. If i was working solo, i think i'd have a different view but when working with a team of people, especially teams of people from different groups, i find the enforced common structure liberating. That said, just to undermine my own point - it is trivial to create an ansible module and i have done that when the alternative YAML would have been horrible.
- brainzap 6y agoCan you not switch to jsonnet?
- pabl0rg 6y agoHave you taken a look at Pulumi? If infrastructure is going to be code, I’d like to code it in a type-safe DSL please. Otherwise refactoring is hell (as in Ansible). Another promising effort in this direction is Jetbrains Space, which features CI config in a Kotlin DSL.
- anentropic 6y agoI'm trying Pulumi at the moment, it seems pretty nice so far - I love that it's not "yaml templates" or some other DSL, but just regular code. But it seems like it covers a bit of a different space to Ansible... Pulumi will boot up your infrastructure but you still need something like Ansible to install packages on the nodes afterwards. My impression of Ansible in the past was that it's more complicated than it was supposed to be. I kind of hope Pulumi will extend in that direction over time, I would rather use one tool for everything and I don't see why it couldn't. The docs for writing your own providers are a bit weak at the moment though.
- shaicoleman 6y agoPyInfra is probably the closest to Pulumi in the configuration management area (no YAML, can be used as a library). https://pyinfra.com/ https://pyinfra.com/ https://github.com/Fizzadar/pyinfra https://github.com/Fizzadar/pyinfra HN discussion: https://news.ycombinator.com/item?id=23487178 https://news.ycombinator.com/item?id=23487178
- anentropic 6y agothanks for the tip, it looks nice!
- zach_garwood 6y agoI recently came across https://pyinfra.com/ https://pyinfra.com/ which has a similar mental model to Ansible but is just plain Python. For whatever, it's just easier for me to understand the raw Python better than the equivalent YAML.