If Ansible is a pain, what's your view on Chef? :)
I've found Ansible good for quick one-liners across multiple nodes :)
Having used Puppet, Chef, Ansible, custom shell and Python scripts, and Terraform provisioners, I'll say there aren't really any "good" automation tools.
They each have their pros and a long list of cons.
The good thing is that a lot of garbage that I used to do with those tools has been replaced with K8s. Some Terraform and Ansible still survive for self-managed VMs, but that's about it.
Many of the automation tools aren't great, but some are better than others. I'd take terraform and puppet or chef over ansible any day. I'd much rather have something that is declarative and easy to make idempotent over something that by design is procedural and much harder to make idempotent. Even bash easier to make idempotent. Don't forget yaml hell that ansible loves to put you in. If there was a tool that had a planning and apply phase for server management like terraform, I'd take that (for pets only). Ansible's dry run barely works since it requires additional effort to get working properly, often impossible without faking data. It's been a while since I've used chef or puppet and I can't remember if their dry run or the like is useful.
Having said that, in an ideal scenario, you use auto scaling combined with cloud init to avoid having to manage live servers. Cattle, not pets. That way you can provision images using chef/puppet, and then have them deploy and be automatically deployed. It gives also gives you the opportunity to create self healing architecture that requires less baby sitting.
K8s certainly forces you to think closer to that architecture and that is good.
I've found Ansible good for quick one-liners across multiple nodes :)
Having used Puppet, Chef, Ansible, custom shell and Python scripts, and Terraform provisioners, I'll say there aren't really any "good" automation tools.
They each have their pros and a long list of cons.
The good thing is that a lot of garbage that I used to do with those tools has been replaced with K8s. Some Terraform and Ansible still survive for self-managed VMs, but that's about it.