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:
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.
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.