Take advantage of Chef's highly customizable design to tackle specific automation issues that you can't solve by simply using Chef's tools, resources, and services out of the box. With this practical guide, you'll examine the internal structure of this configuration management technology and learn where, how, and why to add custom code.Author Jon Cowie not only provides code snippets and practical advice for customizing Chef, but also helps you determine case by case whether it's in your best interests to customize at all. If you have intermediate-to-advanced Chef experience, this book is indispensable.Explore Chef's typical setups and why you'd want to customize themLearn the Ruby concepts needed to write customizationsCustomize the Chef run process and explore Chef's internal classesGain more insight into your Chef runs through handlers and Chef's event streamLevel up your Chef recipes by writing your own resources and providersCreate and extend plugins for Knife--Chef's command-line toolInteract with the Chef API to write scripts and reportsLearn how to contribute customizations to the Chef community