Just read an interesting Doug Ireton’s blog post about Chef patterns and antipatterns.
I like Chef very much. Opensource version, of course, lacks some features of Enterprise Chef, for example there are no push-jobs. Imagine you’re using opensource Chef to deploy some web application using deploy_revision resource. It tracks some branch in git repository and if there are changes it deploys. The problem is that chef-client runs hourly by default and I don’t know a person who is patient enough to wait for deploy for an hour.