Hungry for Server-Management Ideas? Facebook Open-Sources Chef Cookbooks


ChefHat650Facebook production engineer Phil Dibowitz dedicated a post on the social network’s engineering blog to Chef and cookbooks, but the recipes he was sharing had nothing to do with food.

Dibowitz posted about Chef, the core of the system Facebook uses to manage its hundreds of thousands of servers globally, and about open-sourcing documents, example cookbooks and other related tools. He wrote:

Last year we began speaking at conferences around the world about our approach to managing hundreds of thousands of servers. We had outgrown our existing system and needed something new. We wanted a system that would let any engineer make any change they needed to any systems they owned via simple data-driven APIs (application-programming interfaces), while also scaling to Facebook’s huge infrastructure, and while also minimizing the size of the team that would have to own the system. We designed a new paradigm and built a framework to bring it to life. At the core of that framework is Chef — but the way we ended up using Chef is pretty unique. We wanted to share how and why we made those choices and the benefits they brought us.

People have been amazingly supportive of the tools we released, the ideas we presented and the changes we proposed. We released some tools we thought were useful to the community, but we didn’t consider releasing our cookbooks because we believed they were too Facebook-specific. But a central theme in our talks was our cookbook design, and people started asking for them.

So recently, we revisited that assumption about our cookbooks. In looking at how we built them, we realized that we had developed a different way of writing community-style cookbooks that succeeded — at least within Facebook — at doing what community cookbooks had failed to do outside of Facebook. And we started to wonder: Could this approach be applied not just to other organizations wanting to leverage our model, but also to writing community cookbooks the entire world can use?

We think that it might, so today we want to share with you three things:

  • A model we believe would build better community cookbooks.
  • Some docs and example cookbooks we’ve open-sourced.
  • Several tools we’ve just open-sourced.

The Facebook Chef Team will also be at the Chef Community Summit in Seattle Oct. 2 and 3, so if any of this interests you, please come talk to us there.

Image courtesy of Shutterstock.