Puppet is a configuration management tool that can be used to great advantage managing the configurations of a large fleet of servers in an enterprise.
My first thought upon finishing Turnbull & McCune’s book was that it could well have been titled Pro Deployments, for it covers a whole host of topics, integrating Puppet with a lot of other related tools.
Some of the advanced topics it covers in depth include:
- integrating Puppet with version control such as git
- setup of the standard dev, test and production environments
- conditional application of generalized configs
- managing nagios & load balancer configs to automatically add new nodes
- capitalizing on puppet forge modules (like rpm packages)
- testing your puppet configs with cucumber
- reporting with the dashboard and the command line
I found it a strong title overall, well written, technical and broad brushed. Unfortunately I found it sorely lacking in a few areas that I would consider of growing importance everyday.
- How can I use puppet for managing cloud hosted servers?
- How does Puppet compare to other solutions such as Chef?
- What parts of Puppet itself needs to be backed up and how do I do that?
I also found the discussion of Puppet in a real-time configuration with Marionette Colective was a bit short on details.
Furthermore I have one rather large and nagging question for real world usage and deployments. There are often times when troubleshooting production systems where you need to dig into configs, and make a change instantly, for instance on a running MySQL server. How can I do that in a managed way? Should I put Puppet into manual mode and only push configs when I ask it to? How about if I want to manage upgrades of a database carefully such as with Oracle, as those can be quite temperamental – how should that process be managed? How do I prevent crucial production servers from being restarted accidentally?
It would be nice to see a lengthy discussion of these real-world operational questions, but at least for the time being I’ll look to google and various forums for answers.