13 of 14 people found the following review helpful
4.0 out of 5 stars
One might also title it Pro Deployments, May 20 2011
By Sean P. Hull "MySQL, AWS, EC2 Deployments Exp... - Published on Amazon.com
This review is from: Pro Puppet (Paperback)
Just finished reading Pro Puppet and I'm pretty impressed. If I were to summarize in a few short words I'd say this book could have easily been titled "Pro Deployments" as it really covers a whole host of tools that support Puppet and configuration management in general.
I am fairly new to puppet though I have a strong conceptual understanding of configuration management in general. Although puppet may be thought of as a tool to be used for very large environments, it can also be used to good advantage at smaller sites just for the versioning of your configs, and better testing.
For a quick summary of topics I found well covered here's a bullet point list:
o installing puppet, master & agent
o configuring your firewall appropriately
o managing your certificates for puppet
o applying a basic config as proof of concept
o digging in deeper with Puppet's declarative DSL
o using version control (git) with puppet - a big win for any environment
o brief mention of bootstrapping and provisioning - kickstart & preseed
o modules, classes, functions and templates
o building and managing your basic dev, test and production environments
o using a pre-commit hook with your version control system
o scaling puppet with apache & passenger
o adding a load balancer and clustering
o horizontal scaling puppet ca & masters
o external node classifications - allowing a more scalable solution for manifests & configs
o using LDAP for node information
Hitting chapter six really starts digging into some meaty topics including:
o virtualizing your configurations - applying conditionally or "realizing" to certain nodes
o enable queueing for more scalable puppet requests
o in-depth examples to manage ssh keys, nagios configs & load balancers with dynamic node configuration - awesome!
o using sqlite or mysql to store your puppet configs
o using web consoles such as dashboard and foreman
o creating puppet modules (like RPM packages)
o installing existing puppet modules (packages) from the puppet forge
o alternate DSL for puppet with Ruby DSL
o testing your configs without alternate test network - cucumber
o command line & dashboard reporting
o extending the facter database with custom environment variables
After all this material you might be stuck on the idea that Puppet does not operate in real-time. By default it is configured to refresh configs and services on your servers every thirty minutes. Of course you can do so manually, or adjust this parameter, but you may require real-time usage.
Enter Marionette Collective, an imaginative name for an add-on which extends Puppet to provide this more robust functionality.
Pro Puppet certainly introduces a wide range of real-world use-cases to the reader, which make the book very valuable. Using with version control, to manage dev, test and production, and scaling to handle large number of hosts are all key topics. What's more the method of automatically configuring nodes in your load balancer, nagios, or cacti reporting, is just a really great use of this technology.
What I found surprisingly missing though was any mention of using Puppet for provisioning or more specifically cloud deployments. This is I think a topic that everyone is talking about and one that few books are covering. An opportunity perhaps! Along with that, I would have liked to see a comprehensive discussion of different configuration management systems, such as cfengine, and chef, and why Puppet is the best and/or what the pros and cons of each are.
Despite those reservations, the book was excellent. If you've already decided to use puppet in your environment this is a very good volume to get you up to speed!
8 of 8 people found the following review helpful
3.0 out of 5 stars
Good overview of puppet; poor book editing, July 13 2011
By Kristian Erik Hermansen - Published on Amazon.com
This review is from: Pro Puppet (Paperback)
This is a great overview of Puppet software and the associated administration tools. I finished reading it on a flight from Orlando to Los Angeles, but the number of spelling mistakes and other editing errors I encountered irked me so much that I stopped marking them down. The editor should seriously have someone review the content again.
Other than the editing issues, I would give the book content four stars for touching on most of the features of puppet and how to integrate with other related software packages, such as mcollective. The author does point out many areas where puppet can be frustrating, but he recommends numerous methods to workaround such issues. The author goes on to talk about upcoming features in puppet 2.7 and beyond, so the content is forward-looking, even in the fast-paced community of puppet development.
I would recommend this book to those looking to gain mastery of puppet >= version 2.6.
6 of 6 people found the following review helpful
5.0 out of 5 stars
Love Puppet, Love the book, May 29 2011
By Itamar Hassin - Published on Amazon.com
This review is from: Pro Puppet (Paperback)
This book is an excellent Puppet book for beginners and professionals alike.
I manage a software team and have read this book cover-to-cover in order to study Puppet for our team's use on a daily basis.
Despite step-by-step instructions for the initial installation, I needed some tinkering since different OSs have slightly different distributions, but once I had a server and agent running on two different VMs (Ubuntu) - there was an "Aha!" moment when the agent had emacs automatically installed on it! Getting past the initial installation phase allowed me to really enjoy the rest of the book as well as enjoy Puppet itself.
Puppet is not trivial, but the book covers its concepts very clearly and one "gets" it quite early on (especially if you get your hands dirty and follow along the examples).
The book then expertly guides the reader to its "pro" section detailing use of Puppet with configuration management tools such as git and db-based storage.
It then goes on to detail how to use AMQ with Puppet for scaling. I doubt I will use such a robust configuration, but was thrilled to see how flexible and extensible Puppet is by use of load-balancers and integration with Apache/Passenger.
Overall, the book is well written, and I would highly recommend it as a *text book* for Puppet. This is a readable text book on the subject - not a reference manual, although it has countless links to the reference manuals.
I always wanted to learn Puppet, and this book certainly is the one to read if you're dealing with configuration management whether as a developer or a DevOps person.