- Series: Expert's Voice in Open Source
- Paperback: 336 pages
- Publisher: Apress (May 3, 2011)
- Language: English
- ISBN-10: 1430230576
- ISBN-13: 978-1430230571
- Product Dimensions: 7.5 x 0.8 x 9.2 inches
- Shipping Weight: 1.6 pounds (View shipping rates and policies)
- Average Customer Review: 3.4 out of 5 stars See all reviews (15 customer reviews)
Amazon Best Sellers Rank:
#1,040,962 in Books (See Top 100 in Books)
- #207 in Books > Computers & Technology > Networking & Cloud Computing > Network Administration > Linux & UNIX Administration
- #273 in Books > Computers & Technology > Operating Systems > Linux > Networking & System Administration
- #1063 in Books > Textbooks > Computer Science > Graphics & Visualization
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Pro Puppet (Expert's Voice in Open Source)
Use the Amazon App to scan ISBNs and compare prices.
Frequently bought together
Customers who bought this item also bought
About the Author
James Turnbull is the author of five technical books about open source software and a longtime member of the open source community. James authored the first and second books about Puppet, and works for Puppet Labs, running client services. James speaks regularly at conferences including OSCON, Linux.conf.au, FOSDEM, OpenSourceBridge, DevOpsDays and a number of others. He is a past president of Linux Australia, has run Linux.conf.au and serves on the program committee of Linux.conf.au and OSCON. James is Australian but currently lives in Portland, Oregon. His interests include cooking, wine, political theory, photojournalism, philosophy, and most recently the Portland Timbers association football team.
Browse award-winning titles. See more
If you are a seller for this product, would you like to suggest updates through seller support?
Top Customer Reviews
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!
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.
I would have given it 5 stars except that this book and the source code that goes with it, is replete with typos and poor grammatical structure.
There are several sections in the book that seem quite disjointed, like the author knew where he was going in his head but spaced out a paragraph here or there.
The scary part is that I am only to chapter 2.
Most of the code examples do not run as is and need editing.
IMHO, this is a beta version book, and was rushed out with great content but very little editing or review.
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.
Most Recent Customer Reviews
The high frequency of errors (in both the prose and the code, but mostly the code) makes it hard to focus on the content.Read more