6 ms·
Why are you defining Ansible as some script engine? "Bash on steroids" is definitely Ansible anti-pattern.
by pepemon 6y ago
Why are you defining Ansible as some script engine? "Bash on steroids" is definitely Ansible anti-pattern.
- p_l 6y agoIt's also the only model Ansible is reliable at. At least I always found it hilariously problematic to replicate check state -> fix approach from other options.
- pepemon 6y ago> It's also the only model Ansible is reliable at. Please elaborate more on your statement. I have folks within my team whose paycheck consists of their ability to write fully idempotent roles and playbooks. Well, even I can do this without any pain, but my expertise has shifted into Kubernetes in past years.
- pas 6y agoIt's certainly possible. I used Chef for this. And spent a few years maintaining a pretty nice cookbook for a small startup. Then tried to use Ansible to setup and maintain an OpenStack cluster. Biggest hell no so far I found in "orchestration and config management". It was a big ball of yikes and anti-patterns, plus it was extremely slow, brittle and hard to debug. Is this Ansible's fault? No, of course not. But it's no wonder k8s seems the way forward. Having an active system that checks and maintains state and appropriate abstractions to describe apps, services, containers, volumes, network, etc. is easier than to write really idempotent playbooks.
- p_l 6y agoIn a way it is ansible's fault, at least from my point of view. The reason is that the whole execution model of Ansible is essentially "a shell script in YAML form". Which makes it really, really easy to pick up for many system administrators. But it makes for (IMHO) harder time writing idempotent code, especially with some of the heavy ansible promoters being responsible for some of the worst code around (Red Hat).