Awesome Conferences

Review: Instant Puppet 3

Instant Puppet 3 by Jo Rhett is 50 pages long and a delight to read. The ebook is available for $9.99 from Packt (pronounced "packed") at

For those of you that are unfamiliar with Puppet: Puppet is a system for describing what the configuration of a machine should be and then the "puppet agent" will update a machine to have that configuration. If there is no work to be done, the agent does nothing. If you need to make a change globally you could, in theory, make one change to the description and soon every machine will be updated with the Puppet agent doing the right thing on each machine depending on what operating system it is running. This is called "Configuration Management" or ConfigMgmt or CM. Settings can be global or for a particular machine or anything in between. The hallmark of good CM systems is that you specify what you want ("Package foo version x.y.z should be installed") not how ("apt-get install foo-x.y.z"). CM systems are good for maintaining dozens or thousands of machines.

About the book:

Imagine you need to learn Puppet quickly and you have a friend that is a Puppet expert. Imagine that he or she has offered to sit down with you for a few hours and help you go from zero to a running configuration. This ebook is like having that experience in the form of a book. It starts with the fastest way to create a server, a client, and get them talking to each other. Now you use the system to move through a series of exercises that teach you all the rudimentary features that you should know: Installing packages, copying files, using templates to generate files, and so on.

To make the book so compact Jo employs a number of techniques. First, he assumes RedHat or CentOS. This makes the descriptions more concise and uncluttered by the distracting exceptions for other operating systems. If you don't use either of these OSs he has advice on how to apply what you've learned to a different operating system after you are done. Second he focuses on the knowledge needed to take you on the shortest path from no Puppet to a simple Puppet server with a few clients with some typical configurations. Third, he uses thoughtful examples that replace the need for pages and pages of verbiage. Lastly, he saves pages (and your time) by covering advanced topics with an overview, an example, and a pointer to where to learn more. The last section is a "Top 5" list of advanced features that you should be aware of. After reading the overviews and examples of each, you feel like you are conversant enough in the topic to know if you need this feature.

Earlier I said this is like having an expert walk you through the process in person. It is actually better than that. I can't imagine an informal in-person walk-through having such good planning. I mean... when I walk a person through something I always get to a point where I realize I need to backtrack a little! The ebook, however, is excellently planned. Each concept flows from one to the next linearly. Technical books often build a concept hierarchy that becomes a "house of cards": if you forget or don't understand one concept the entire house comes tumbling down. Instant Puppet 3 simplifies the concepts and avoids obfuscation resulting in an approachable learning experience.

As a result, the analogies are well-crafted and the examples are clear.

One particularly good analogy stood out. It can be confusing for a beginner to decide if a new policy should be put in the "site manifest" or in a "module". He writes:

The site manifest expresses what you want. The modules are like butlers and maids; components which implement policy without bothering you with the details. You will find that this approach enables you to do more, faster, and easier than ever before.

That analogy helped me understand the issue better and I've been using Puppet for a while!

As I said before, the examples are also well-crafted. They demonstrate what is needed at this point in the narrative rather than trying to show off every possible feature. (This is a major pet peeve of mine: authors that use examples to show how complex and configurable a system can be and end up confusing the reader with unrealistic examples. To be clear: this book doesn't have that problem.)

The book is not without faults. I found some editing errors but over-all it was well-edited. The author has already updated the errata page on the book's website.

I would recommend this book to anyone that needs to get up to speed quickly with Puppet. If you are managing more than 2 machines, you should be using a CM system: whether it is CfEngine, Puppet, Chef, Bcfg2 or anything else. If you choose Puppet, this is a great way to get started.

The book is compact and straight to the point. The ebook is available for $9.99 from the publisher:


P.S. You can enter to win a free copy at the author's website:

Posted by Tom Limoncelli in PuppetReviews

No TrackBacks

TrackBack URL:

1 Comment | Leave a comment

I came across this book on Amazon but with no reviews, wasn't sure how helpful it would be. Thanks for the review, went ahead and purchased it.

Leave a comment