Last year, I have deployed ~20 machines with puppet (some virtual, some physical) which also was my first attempt into automatic configuration (better late than never I guess).
I'm reasonably happy with the outcome and it has certainly paid off the learning effort.
But when I learned about Ansible a few months ago and after reading the documentation, I was blown away when I've seen Ansible practically fixing all my gripes I have with puppet.
Audible really feels like the perfect piece of Software for my use case:
For one, I don't have that many machines and the amount of them changes very rarely, so I don't really get much benefit from the central puppet server. It is however one additional piece if software to maintain.
Then, by being able to push a config from everywhere with Ansible, I could get rid of a few scripts that now update the puppet master from git checkouts and then tell the other machines to fetch the config (the clients are not running the agent in daemon mode because I like to have full control over when the deployment of configs happens)
Next, Ansible has a very cool facility to do one-off things across multiple machines. Yes, that's probably a dangerous shoot-yourself-in-the-foot feature, but sometimes, my feet need shooting at and I'm happy if the tool provides the gun instead of myself having to build the gun myself if you pardon the metaphor.
Next, I love the feature that managed clients practically need nothing installed on them to be able to manage them. And: Ansible brings everything it needs to bootstrap a new client. That' say other script I would not have needed to write.
Finally, I like the much bigger library of included modules as that would keep the repository I have to keep smaller and constrained to just the actual configuration of my machines rather than infrastructure to just be able to express the configuration.
Now if only I had time to convert our puppet setup.
I'm reasonably happy with the outcome and it has certainly paid off the learning effort.
But when I learned about Ansible a few months ago and after reading the documentation, I was blown away when I've seen Ansible practically fixing all my gripes I have with puppet.
Audible really feels like the perfect piece of Software for my use case:
For one, I don't have that many machines and the amount of them changes very rarely, so I don't really get much benefit from the central puppet server. It is however one additional piece if software to maintain.
Then, by being able to push a config from everywhere with Ansible, I could get rid of a few scripts that now update the puppet master from git checkouts and then tell the other machines to fetch the config (the clients are not running the agent in daemon mode because I like to have full control over when the deployment of configs happens)
Next, Ansible has a very cool facility to do one-off things across multiple machines. Yes, that's probably a dangerous shoot-yourself-in-the-foot feature, but sometimes, my feet need shooting at and I'm happy if the tool provides the gun instead of myself having to build the gun myself if you pardon the metaphor.
Next, I love the feature that managed clients practically need nothing installed on them to be able to manage them. And: Ansible brings everything it needs to bootstrap a new client. That' say other script I would not have needed to write.
Finally, I like the much bigger library of included modules as that would keep the repository I have to keep smaller and constrained to just the actual configuration of my machines rather than infrastructure to just be able to express the configuration.
Now if only I had time to convert our puppet setup.