Extending Puppet
上QQ阅读APP看书,第一时间看更新

Foreword

I first met Alessandro in person at the inaugural Puppet Camp in San Francisco, 2009, but by this time, we'd already chatted on IRC and the Puppet Users mailing list. This was a small event by the standards of Puppet community events today, with about 60 people in attendance, and it's been great to see how many of that original crowd have continued to be active participants in the community, especially Alessandro.

While I was running Puppet at Google, I kept getting a lot of questions from attendees about how we were managing to scale our Puppet infrastructure technically. Alessandro, however, was already prodding me about how I was managing workflow and code layout for reusability and shareability, a topic that he's been very much focused on over the last five years.

When I initially left Google and moved to Puppet Labs in late 2010 to handle products, it became even more apparent how much Alessandro cared about guiding the community towards standards for Puppet content that allowed for reusability and shareability, yet allowed sysadmins to work quickly. We saw this with his promotion of the "params pattern" to consolidate input variables in a single location, and to allow for a first step towards separating data from code, well before the existence of Hiera as a formal project.

Alessandro saw this need well before most of us, and regularly raised it with the community as well as just about every time we ran into each other at conferences and events. As new projects appeared that added to the capabilities of the Puppet ecosystem, he modified his thinking and raised new proposals.

I'm thrilled to see this new book by Alessandro on Puppet architectures and design patterns, and I can't think of a better person to write it. He's cared about these principles for a long time, and he's promoted them as a responsible community member.

Nigel Kersten

CIO, Puppet Labs