zoukankan      html  css  js  c++  java
  • 配置管理工具puppet与chef对比分析

    配置管理工具puppet与chef对比分析_李小红_新浪博客

    配置管理工具puppet与chef对比分析

    (2011-05-23 14:33:19)

    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可能更适合专业用户,用在云计算这种需要更多定制的场合,只是不知道有没有合适的生态环境让它长那么大。呵呵。

  • 相关阅读:
    (转)kubernetes更新操作详解--kubectl apply
    awk做统计和计算平均值
    kvm虚拟化
    容器(转
    使用python3来实现简易web服务
    12306接口
    python3中的venv环境
    markdown 插入表格
    面向对象编程——类(class)2
    开发纯ndk程序之环境搭配
  • 原文地址:https://www.cnblogs.com/lexus/p/2395252.html
Copyright © 2011-2022 走看看