Puppet 3 Cookbook Illustrated Edition
Use the Amazon App to scan ISBNs and compare prices.
There is a newer edition of this item:
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.
- Publisher : Packt Publishing; Illustrated edition (August 26, 2013)
- Language : English
- Paperback : 274 pages
- ISBN-10 : 1782169768
- ISBN-13 : 978-1782169765
- Item Weight : 1.05 pounds
- Dimensions : 7.5 x 0.62 x 9.25 inches
- Best Sellers Rank: #3,474,581 in Books (See Top 100 in Books)
- Customer Reviews:
Top reviews from the United States
There was a problem filtering reviews right now. Please try again later.
I learned a lot from this book and have a bunch of new tools to use in my day to day use of Puppet.
But there are a few crucial errors and omissions. After discovering them the hard way, some are explained in the errata (which isn't quite as sensible as just correcting them, at least in the e-book) -- but some don't appear to be...
Sadly, one of the main applications you'd want to take away from such a book is how to manage multiple nodes automatically via Puppet -- but the approach provided won't work everywhere, given only the information supplied in the book.
For geeks: he spells out a technique to use an unprivledged account, assisted by "sudo", Git, cron & SSH, to propagate Puppet changes. It seems like a nice idea. Problems: (1) Cron (his Puppet module creates a user-level cron job) can't "sudo" (without some really nasty security compromises), (2) Same goes for invoking his "Puppet apply" script via SSH -- it can't ask for the user's password to execute a "sudo" and thus fails. My initial guess was that "ssh" wasn't somehow forwarding the password request and spent quite a bit of time trying figure out how to fix that. And eventually gave up.
Much later, I discovered how to work around this: sudo can be configured to not ask for a password. (Noticed this when I started working with "vagrant", and copied the configuration.) Perhaps I was being uncharacteristically dense, but if you're writing a text for beginners, and this behavior isn't standard or even common across all platforms (it isn't), and is absolutely required for your approach to work (it is), it's something you really ought to explain in the text.
Arundel's approach also has security implications which might not be appropriate at many organizations (allowing unrestricted sudo to a user account -- without password, no less): a word or five on that subject (and brief discussion of implications & alternatives) wouldn't have hurt anyone. (In fact, it's something I think a few would want to know as a condition of purchasing this book, which is why I'm documenting it here.)
There are some minor oversights as well: If you read either of his books alone ("Beginner's Guide" and "Cookbook") you'll be missing some important information, but, now having read both of them, I find there are still some things which weren't explained adequately. For example: it would have been nice to explicitly document that when writing a class or type definition, the name by which it is invoked is available in the "$name" variable. (Seems obvious, in retrospect, but would have been nice, up front.) He doesn't ever explain where to define global variables (do they only come in from "Facter"? can you define them in your site manifest?), and starts using the "$::" syntax without explaining (until later) that it means a reference to a global variable. There are also duplications between the books (how to use arrays).
I would have liked to have rated this book more highly -- as I said, it has some definite positives, and there might be some useful recipes in here for you, depending on your needs -- but the aforementioned problems left me stuck in the water. Sounds like it was given a better proof-reading than its major competitor, but it also seems to me like those checking it already knew a bit too much about Puppet (and tried it on the exact same infrastructure) to provide a full check.
Many people like me, we are not coding puppet every day. Instead we build the framework, we developed module to meet business request. Then we move on to the next task. We don't spend lots of time to tune our code for best efficiency, nor we study public module to learn tricks/patterns on daily basis. This book happens to be a good resource for such readers and it uses many user cases to demonstrate what is the most efficient way.
Author is not trying to cover every aspect in a less than 300 pages book. This book is more or less the summary of author's puppet working experience. He tried to list the most important concepts/features, wished readers can benefit from them and can have a more advanced start line.
I definitely recommend this book to people who start programming puppet and developers, who are doing intermittent puppet development.
Top reviews from other countries
-L'auteur nous donne sa recette pour faire une chose donnée, c'est son point de vue, il utilise ça tous les jours, est ce la meilleure?pas sure! et de plus il n'explique pas suffisamment pourquoi il choisit cette méthode et pas une autre.
-Le livre est censé donner des 'best practices' et pouvoir utiliser du code que la communauté des utilisateurs Puppet pourra réutiliser, or il y'a des contradictions avec les recommandations PuppetLabs et ce que fait l'auteur (je pense par exemple à l'héritage de node).
-On dirait une prise de note de ce que fait l'auteur dans son boulot, un pense bête.
-Le livre est à jour et montre bien des choses propre à Puppet 3.
-Le livre est bien organisé, il permet de montrer pas à pas comment résoudre des choses courantes dans Puppet (son nom de cookbook n'est pas usurpé).
Alors est ce que ça vaut ce prix là? Non.
A moins de vouloir faire 'quick'n dirty'.
Sinon passez votre chemin, allez sur les docs de PuppetLabs et acheter le Pro Puppet, bien plus complet.
Bref assez déçu.