Pulling Strings with Puppet
They say the third time's a charm, but in the case of James Turnbull, his first two books – Hardening Linux and Pro Nagios 2.0 – were pretty charming, too. Turnbull provides information in an accessible manner, and he knows the business, so he writes from experience. His name on the cover inspired me to read Pulling Strings with Puppet: Configuration Management Made Easy, and the book didn't disappoint.
Puppet is a configuration management tool that allows users to make changes on many remote systems, pulling the strings from a central location. The book naturally starts with a discussion about how Puppet works, followed by how to install it. This organization is useful because it is often difficult to install a software product before you fully understand how it works. Of course, after you complete the install, you need to know how to configure Puppet, which is covered in the "Speaking Puppet" chapter.
The depth of the book's material goes beyond an overview and into to the heart of the topic. Turnbull assumes that if you're using tools at this level, you know at least the basics of administering your system. Most of us don't want to waste our time being told how to create directories or change permissions.
About halfway through the book, the discussion moves toward using the product. Although I like books on programming that jump right in with examples, I felt the approach here was justified.
A chapter on reporting is present, as well as "advanced" reporting, which explains what Puppet has done. The "Advanced Puppet" chapter talks about integrating Puppet with other software.
My main suggestion for the next addition is the inclusion of more real-world examples. Otherwise, I'd say this new book is a must have if you're using Puppet.
Paperback, 192 Pages
£ 13.99, US$ 19.99. EUR 14.99
Scalix: Linux Administrator's Guide
Scalix: Linux Administrator's Guide, by Linux Magazin editor (and frequent Linux Magazine and Linux Pro Magazine contributor) Markus Feilner, provides a brief look at the Scalix messaging and calendar server. Although other distros are mentioned, the book is directed toward SUSE Linux, and despite the caveat that "community" versions should not be used in a production environment, it specifically addresses openSUSE.
The book's first chapter offers a short history of email and a brief overview of a few basic email concepts. Then the author provides a short history of Scalix, describing how HP's OpenMail server was a "gold mine" and that HP decided to sell it to another company, which began to market it as Scalix. Feilner then offers a brief introduction to the product features.
Next, Feilner presents a screen-by-screen walk-through of the Scalix installer, including a number of screenshots of YaST, describing how to add additional packages. This section includes more or less a simple description of what you see in each window, but it is saved to some extent by the next chapter, "Advanced Installations," which briefly covers some of the installation options.
Although I thought the chapter "Monitoring Scalix" was useful, the attempt to cover configuration of Nagios services in just a few pages assumes a level of knowledge not consistent with other material, and this also applies to the next chapter, "Scalix and Security." However, both topics are often missing from books of this type, so having them in the first place was nice to see.
The book includes a bibliography, which provides a list of resources with additional information that the author couldn't cover.
If you have just downloaded your first copy of Scalix, then this book will help you get started with it.
Paperback, 276 Pages
Packt Publishing, 2008
£ 23.74, US$ 28.79, EUR 30.95
Pro PHP: Patterns, Frameworks, Testing and More
Whereas many books with words like "pro" in their titles tend to be little more than introductions, this book lives up to its name. As the author puts it, this book lets you take PHP way beyond the basics. Although the material is at the "pro" level, you do not need to worry that it is overloaded with jargon and overly complex writing. Instead, it is easy to read, understand, and implement. Admittedly, I had to look up a couple of concepts because I'm a bit rusty. From the beginning, you know that this is an advanced book, and space is not wasted on basics in review.
A number of topics covered in the book were completely new to me, which made the book more interesting, especially considering how easy it was to understand.
Part 1 of the book deals with programming concepts, delving into object-oriented programming, "patterns," exception, and an overview of PHP 6. Part 2, "Testing and Documentation," covers two topics that do not get the necessary emphasis in most books aimed at professionals. On a personal level, I particularly liked the chapter "Documentation and Coding Conventions."
Part 3 contains several chapters on the Standard PHP Library (SPL), which is a new area for me and really captured my attention. A lot of my own code has similar functionality, much of which is addressed by the SPL, so I learned a fair bit.
In Part 4, the author covers the Model--View--Controller (MVC) design pattern. I have tried to use concepts similar to MVC in my own code, and it was nice to see my approach confirmed here. In subsequent chapters, the author introduces and then goes into details of the Zend framework.
Part 5 of the book is titled "Web 2.0" and covers several "advanced" subjects. Although AJAX and SOAP are common PHP topics, I felt that other things could have been covered in more depth. Although it provides a good introduction and is fitting for the expected experience level and target audience, each of these topics could fill a book of its own, so I felt they were a little short on content. However, it's the author's call and not worthy of a ding.
Paperback, 349 Pages
£ 30.99, US$ 31.49, EUR 30.95