- Taschenbuch: 274 Seiten
- Verlag: Packt Publishing (26. August 2013)
- Sprache: Englisch
- ISBN-10: 1782169768
- ISBN-13: 978-1782169765
- Größe und/oder Gewicht: 19 x 1,6 x 23,5 cm
- Durchschnittliche Kundenbewertung: 1 Kundenrezension
- Amazon Bestseller-Rang: Nr. 137.009 in Fremdsprachige Bücher (Siehe Top 100 in Fremdsprachige Bücher)
Puppet 3 Cookbook (Englisch) Taschenbuch – 26. August 2013
|Neu ab||Gebraucht ab|
Wird oft zusammen gekauft
Kunden, die diesen Artikel gekauft haben, kauften auch
Es wird kein Kindle Gerät benötigt. Laden Sie eine der kostenlosen Kindle Apps herunter und beginnen Sie, Kindle-Bücher auf Ihrem Smartphone, Tablet und Computer zu lesen.
Geben Sie Ihre E-Mail-Adresse oder Mobiltelefonnummer ein, um die kostenfreie App zu beziehen.
Über den Autor und weitere Mitwirkende
John Arundel is a devops consultant, which means he solves difficult problems for a living. (He doesn't get called in for easy problems.)
He has worked in the tech industry for 20 years, and during that time has done wrong (or seen done wrong) almost everything that you can do wrong with computers. That comprehensive knowledge of what not to do, he feels, is one of his greatest assets as a consultant. He is still adding to it.
He likes writing books, especially about Puppet (The Puppet 3 Beginner's Guide is available from the same publisher). It seems that at least some people enjoy reading them. He also provides training and coaching on Puppet, which it turns out is far harder than simply doing the work himself.
Off the clock, he can usually be found driving a Land Rover up some mountain or other. He lives in a small cottage in Cornwall and believes, like Cicero, that if you have a garden and a library, then you have everything you need.
You can follow him on Twitter at @bitfield.
Welche anderen Artikel kaufen Kunden, nachdem sie diesen Artikel angesehen haben?
In diesem Buch(Mehr dazu)
Ich schaue immer mal wieder in das Buch.
Die hilfreichsten Kundenrezensionen auf Amazon.com (beta)
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.
I wish I had this book when I was first starting to learn Puppet. I learn best by example, and this book is full of practical examples. Starting with installing Puppet, the book also addresses language and style, as well as the Puppet ecosystem in an environment. It covers both simple and complex scenarios.
The book is structured such that an overview of the subject is presented, and then offers the practical "How to do it." There are several engineers who will soon start coding with Puppet in my work group, and I will definitely recommend this book to them (along with "Pro Puppet").
The aspects of Puppet covered by Arundel are done very well. For future editions, I'd like to see more detail on Type references, as well Metaparameters.
It draws the learning line with many different recipes that face common practical issues explained while throwing in some useful theory.
This learning pattern is generally used with success, having the benefit of showing code that can be tested and used immediately.
The downside is, as with other books that follow this approach, that the reader might not have an organic view of the topic (which actually is quite large).
I think anyway that the benefits are prevalent, and the book presents many interesting and useful patterns and tricks that can tell something new also to who is already using Puppet for some time.
Part of the content seems outdated, though. Some of the use cases expressed and their solutions are currently not considered good practices, but since in Puppet the concept of best practices is a moving target, I suppose this can be forgiven.
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.