I think this is the first book that actually helped me see both the "big picture" of how Puppet's components fit together as well as learn the language itself. After months of reading Puppet online documentation this book put it all together in a way that gives me the confidence to start a big Puppet project.

Trying to learn Puppet from the online documentation is often like learning to drive by studying how a car is manufactured. "Pro Puppet" doesn't suffer from that problem.

The hardest part of doing Configuration Management is getting started. If you join a company that already uses Puppet it is easy to hop in and add to it. However if you are starting fresh you need to figure out how to structure your files, organize your classes, and so on. That's hard to do, especially if you are learning the language at the same time! Pro Puppet gives you a structure to start with as a base so you are not at such a disadvantage. They don't tell you they're doing this, but if you try all the examples as you read the book, you'll have that infrastructure by the time you get to the end.

The book is short (300+ pages) and very easy to read, without being overly flowery, dogmatic, or long-winded (three things I dislike in books). I read it in a single weekend. My only regret is that I didn't leave behind a trail of bookmarks so I could easily refer back to certain sections that I know I'll want to use as reference.

Most book reviews spend most of their time re-summarizing the book, or explaining Puppet in their own words. I'm going to save you, dear reader, a lot of time by not doing that.

So what's their secret? How did the authors pull it off? I think it's all due to the logical flow of examples as you go chapter to chapter. Let me explain:

1) Each example introduces no more than 1 new concert at a time. This is so valuable to a reader that is learning a new language. As an author I can really appreciate how difficult this must have been. Good job!

2) The examples are realistic and build to make a real, useful (and really useful) environment. When you get to the last chapter, you will have built the basic Puppet infrastructure that most sites need (particularly web-hosting sites). At that point you can build on the infrastructure by yourself, and take advantage of on-line resources that cover the topics specific to your site.

Let me repeat: doing both of these at the same time must have taken a huge amount of effort. I really am impressed!

Because Puppet is moving so quickly a book like this is out of date as soon as it is published. However, the authors give you a good grounding in what you need to know and now you can be a better participant in the Puppet community.

If you are going to use Puppet, I highly recommend this book.

Buy it on Amazon: Paper or Kindle. It is also available in other eBook formats.