厨师大食谱vs很多小食谱

我想知道在一个大的CHEF食谱和大量的小食谱之间什么是普遍的共识。

举个例子,假设你想部署一个Radius服务器,你是否有单独的配方:

  • MySql DB(只是软件)
  • MySql DBconfiguration(数据库,表创build,授权等)
  • Radius pkg安装
  • Radiusconfiguration文件

或者你有一两个大食谱呢?

我所承担的将是有很多小食谱,每一个做一个非常具体的任务,但我不知道什么是最佳做法。

IMO, 越小越好 。 小食谱让你分裂红绿灯随着它的成长。 例如,今天你可以在一台服务器上部署RADIUS和SQL后端,但是在整合SQL后端的时候可能是合理的。 此外,testing小单位更容易。 如果SQL后端居住在其他地方,则不必将所有东西都集中在kitchen来testing模板更改或者您有什么。

但是这需要与其他关注点保持平衡。 如果你遵循更小更好的原则太紧密你会有单一的资源食谱和一个包括巨大的列表。 没有人想重复这项工作,所以DRY原则 – 不要重复自己 – 是共同的平衡。