Chef vs Puppet
Puppet
- 历史 : 有一些
- 用户 : 多,有名的公司也在用
- 开发的活跃度 : 中等
- 文档 : 多
- 设定文件 : 用专用的文法书写(外部DSL),不需要懂Ruby语言。
- 设定的构成 : 有点难懂
- 依存关系的处理 : 运行次序是根据状况由系统端决定的。
- 必要的中间软件 : 没有
- 安装 : 简单,用gem的安装就可以
- 和其他系统的协作 : 感觉基本上没有
Chef
- 历史 : 还年轻
- 用户 : 37signals(BaseCampe)/ IBM /Facebook/Youtube / Twitter / Linkedin 等
- 开发的活跃度 : 活跃(感觉正在旺季
- 文档 : 也足够了
- 设定文件 : 用Ruby书写(内部DSL)
- 设定的构成 : 相对容易理解,命名等很合适
- 依存关系的处理 : 好像Makefile 基本上是书写顺序。相比Puppet更具脚本风格
- 必要的中间软件 : 服务端需要有CouchDB、RabbitMQ
- 安装 : 服务端容易死。没有加入包中的话比较困难。客户端的话简单,只要gem就可以
- 和其他系统的协作 : 因为使用RESTful的服务API,用JSON可以取值,所以好像能做许多事
现在puppet社区也比较火,大多是运维出身的IT人员在使用, 而倾向于Chef的人,更偏向于开发人员多一些,像我本人,就倾向于Chef。