puppet与chef对比
首先说说相同点:
1、都是基于ruby语言
2、对要配置的对象提供了跨平台的抽象,用户大部分时间只跟这些抽象的资源打交道,而不用关心实现,如只需关心要添加什么软件或用户,不需要关心这些用户或软件是怎么添加上去的
3、都有配置中心服务器,在每台要配置的客户端上都需要安装客户端,客户端跟服务器端用证书认证
4、配置应用过程都有两个阶段,第一个阶段在配置中心进行,由配置中收服务器针对客户端生成资源列表,第二个阶段在客户端运行,将应用收到的资源列表。
5、都提供了扩展的方式,puppet用的是模块的方式,而chef用的是cookbook的方式。虽然感觉(我没有真正用过chef)chef的cookbook方式更灵活和易于分享,但是这两者实质是一样的
再说说不同点:
1、puppet提供的配置语言更通用和高级一些,用户不需要懂ruby语言。而对于chef,没有专门的配置语言,用户需要了解比较多的ruby语言。
2、puppet资源之间有显式的依赖关系,按照这些关系去实现,而跟这些资源在配置文件的位置或前后没有关系。而看了一下chef的一些例子,更像是ruby脚本,从前到后按顺序执行
3、puppet安装简单,需要的支持软件也少,服务器端也是这样。而chef在配置中心服务器端需要依赖软件比较多,需要couchdb、RabbitMQ和Solr,这样连带需要安装java和erlang,这样配置服务器过程要复杂很多
4、puppet服务端的配置都是一个一个的文本文件,这样易于发布、备份和扩展。而chef的服务器端的配置放在couchdb和solr索引等二进制文件中,通过远程命令工具knife来操作这些配置。这样,puppet更符合unix管理员的使用习惯。
5、puppet的用户很多,象Google、Redhat等大公司都在用它。而chef的用户就少多了,而且没有什么大的公司
最后,我感觉chef从puppet身上学到或借用了很多有用的概念,但是没有什么超越的地方。而puppet比以前的cfengine工具多出了很多的亮点,这也是我愿意从一个cfengine用户转到puppet用户的原因。但是,如果让我从puppet往chef上转,确实缺少动力。chef可能更适合专业用户,用在云计算这种需要更多定制的场合,只是不知道有没有合适的生态环境让它长那么大。呵呵。
Puppet网站收集:
相关推荐
精通Puppet配置管理工具 puppet
精通Puppet配置管理工具.高永超.扫描版.pdf
puppet是一种Linux、Unix平台的集中配置管理系统,使用自有的puppet描述语言,可管理配置文件、用户、cron任务、软件包、系统服务等。puppet把这些系统实体称之为资源,puppet的设计目标是简化对这些资源的管理以及...
ansible chef puppet saltstack介绍和比较
随着云技术的技术普及,服务器或虚拟机在数据中心应用中频繁...cfengine 的语法比较晦涩,于是出现了 Puppet 。Puppet 的语法简单,对管理内容的抽象 化好,很容易理解代码,因此其正迅速的流行起来。Puppet 是免费开源软件
本文试图找到类似Puppet、Chef、Ansible这样自动化配置管理工具的共性,以不至于迷失在杂乱的尘世中。总会有各种人为各种目的造概念,来让世界更复杂。本文同样适用于没有运维经验的人。因为我就是一个没有运维经验...
Chef vs Puppet vs Ansible vs SaltStack _ Configuration Management Tools Comparison
puppet安装与配置 puppet是一款开源自动化部署工具,下面介绍puppet安装和配置
精通puppet 配置管理工具,扫描版。
。
。
puppet chef ansible
puppet开源自动化配置管理平台介绍
2.运维自动化工具对比 - puppet vs cfengine - puppet vs chef 3.puppet 使用时注意事项 4.puppet 应用案例 -puppet 管理用户 -puppet nginx 管理 -puppet kick 介绍 -puppet MCollective 介绍 - puppet func...
运维工具puppet,代码定义拓扑运维工具puppet,代码定义拓扑
puppet是一个为实现数据中心自动化管理而设计的配置管理软件。基于c/s架构。puppet 的服务器端保存着所有的对客户端服务器的配置代码,在puppet里面叫做manifest. 客户端 下载manifest之后,可以根据manifest对...
Puppet集中管理配置LinuxUnix系统