After having used Chef on a project, I've found it to be really a clueless train-wreck of a product that they got their buddies in the USA NW to use. The basis of their approach is that they have no clue what you're doing, because every one's environment is different, so they just leave it up to you how you want to do everything. Yet the whole value in such a product is enforcing good factorization, implementation and maintainability. If you let something like this lose on your Fortune 500 you're just going to have a pile of flakey, inconstant and convoluted and unmaintainable DSL crap doing all sorts of random stuff... and that's being kind to the product IMO.