Мое текущее понимание:
Тогда в чем практическая разница между рецептом и ролью? Зачем мне делать роль, состоящую из нескольких рецептов, а не только рецепт, состоящий из нескольких рецептов?
Единственное существенное практическое различие состоит в том, что для ролей нельзя управлять версиями, и легче искать узлы Chef в роли, чем узлы Chef, которые выполняли рецепт. Они предназначены для облегчения группировки серверов, которые не должны содержать много бизнес-логики. Многие реализации полностью отказываются от ролей в пользу «ролевых книг» - в основном поваренных книг, написанных, чтобы вести себя как роли.
Это два моих любимых поста по этой теме:
http://realityforge.org/code/2012/11/19/role-cookbooks-and-wrapper-cookbooks.html
http://dougireton.com/blog/2013/02/16/chef-cookbook-anti-patterns/