To paraphrase Brian Behlendorf, "The great thing about Chef is it gives you all the configurability and flexibility of Sendmail. The downside to Chef is that it gives you all the configurability and flexibility of Sendmail"
There's a lot of great Chef documentation, but the one thing I was really looking for when I was first learning was something that said "Do it this way, never mind why, never mind the myriad other ways there are to achieve the same end, stop asking questions, JUST DO IT THIS WAY". I guess what I was really looking for was some sort of Best Practice Guide, and that just doesn't seem to exist. So this is partly an attempt to capture and explain (as much for my benefit as anybody else's) what we consider Chef Best Practice at AMEE.
As with most things, we have to start in the middle, so some bits of this will require you to cargo-cult along with me, but rest assured, all will be explained eventually.
Needless to say, this is an ongoing project. I'll be adding more learnings as time goes on.
Any and all feedback is welcome!