Get a hands-on introduction to the Chef, the configuration management tool for solving operations issues in enterprises large and small. Ideal for developers and sysadmins new to configuration management, this guide shows you to automate the packaging and delivery of applications in your infrastructure. You’ll be able to build (or rebuild) your infrastructure’s application stack in minutes or hours, rather than days or weeks. After teaching you how to write Ruby-based Chef code, this book walks you through different Chef tools and configuration management concepts in each chapter, using detailed examples throughout. All you need to get started is command-line experience and familiarity with basic system administration.
Why I read this book: Recently I moved to the role of Site Reliability Engineer (SRE) and Chef is one of the tools SREs at our company use heavily. I’ve decided it is a good place to start learning.
How I read this book: I’ve read a PDF version while trying out every exercise described.
What I liked about it: The chapters were short enough so I could go through a single chapter in one sitting (~ an hour).
The contents of the book seem to be well thought through - it covers all the basics concepts of Chef, what you would need to do to use Chef in your infrastructure and even some Ruby basics. In this regard this is still a good resource to gain basic understanding of Chef.
Since I was doing a lot of copy pasting of little yaml and JSON files for the exercises, I’ve turned it into an opportunity to improve my Vim skills and googled things like the shortcut for deleting the entire line.
The chapters that seemed most useful for me: - Chapter 8: attributes. Mostly for the priority scheme for how attribute values are composed from multiple sources - Chapter 11: Chef zero. Because it gives an overview of how managing your infrastructure with Chef looks like and the ability to explore that locally.
What I disliked: The biggest issue with this book is that it is already outdated. It was released in 2014 - ten years prior to when I started reading it. The most notable change is that the resources that were supposed to be online to get through the exercises easier are no longer there. Chef itself has also moved forward e.g. the book talks about chef DK, but the current solution is actually Chef Workstation. ServerSpec seems to have also been replaced by InSpec. Foodcritic was replaced by Cookstyle. Having said that, with a little bit of googling I was still able to achieve what the exercises required.
In the final chapters of the book I’ve started to notice some discrepancies e.g. exercises describing creating a ‘webserver’ role and later you are required to use ‘webmaster’ role. It felt like these final chapters didn’t get as thorough a review as the initial ones did.
At first I had issues with Ruby dependencies breaking every time I tried to test something. But then I came upon this this guide, I haven’t experienced any more problems.
You can also read this review (and review of other technical books I've read) on my blog: https://www.ieva.dev/
We explored Chef as a technology before they got bought out by another company. This book gave me a lot of details on how to get started and save time.
I thought this book was a very good introduction to Chef. I read it and then went to an internal class about Chef, and I was able to grasp so much more thanks to the information here. I believe the organization could be a bit stronger - the concepts weren't cemented in my mind as strongly as they usually are after an O'Reilly read - but it's a solid book for a beginner and I've used it as a reference a few times already.
This book will definitely be in my shelve of recurring books that I read to solve any doubts. Highly recommended if you are a novice in Chef or if you are an expert in Chef.