Puppet 性能与 CFEngine 的比较

Puppet 性能与 CFEngine 的比较

我正在考虑在我的配置管理系统中使用 Puppet 还是 CFEngine。
性能是一个关键因素,互联网上的研究表明,与 puppet 相比,CFEngine 使用的内存和 CPU 周期更少。不过,puppet 似乎更容易使用。

我需要管理几台 Web 服务器,还有手持平板电脑和只会定期连接到一些中央控制服务器的机器。所有机器都是 Linux 机器。

我可以使用 Puppet 或 CFEngine 来实现这一点吗?如果可以,Puppet 是否仍然会浪费资源?

另外我想要使用 Puppet 的部分原因是它看起来更简单,但我发现很多文章都提到了 CFEngine 2 - CFEngine 3 是否更容易配置?

答案1

您可以根据自己的情况使用这两种工具。我不知道您的手持平板电脑有多强大,但您可能有兴趣知道:

  • CFEngine 代理使用大约 15 MB 的 RAM(在我的任何服务器上从未见过超过 30 MB)(据报道它可以在 Nokia N900 手机上运行)
  • Puppet 需要 Ruby 堆栈才能运行,根据文档,Puppet 至少会占用 80 MB 的 RAM

CFEngine 3 的语法比 CFEngine 2 的语法更简单。我不会比较使用 Puppet,因为我不是 Ruby 粉丝,所以我会有偏见 :)

答案2

如果您追求的是性能,Cfengine 是最佳选择。就您而言,您不想在手持设备上维护完整的 Ruby+Puppet 安装。

Puppet“更易于使用”只是 Puppet 人员创造的神话,继续尝试 Cfengine(也看看开放的承诺主体库)。

答案3

请注意,我只使用过 cfengine (v2),没有使用过 puppet/chef 等。所有这些都需要相当长的学习时间才能完全理解如何操作。不过现在网上有更多示例可供参考。

尽管如此,至少有一篇论文声称 cfengine 更轻量。cfengine 的这个 facebook 页面引用了实际上在 usenix 上的论文;登录:杂志:http://www.facebook.com/note.php?note_id=319929967052 (我不确定非 usenix 会员是否可以在 ;Login: 中阅读该特定文章)

假设您的平板电脑等设备拥有合理数量的资源,我认为资源影响主要取决于它在客户端/平板电脑上运行的频率。每天一次与每 10 分钟一次有很大不同!

答案4

多少台机器?如果你只是偶尔运行 Puppet,那么客户端的资源使用情况就无关紧要了。客户端的数量和联系服务器的频率更为重要,因为服务器可以使用相当多的资源。我每小时有数十台机器联系 Puppet 服务器,而且我只需使用简单且性能不佳的内置服务器,无需任何特殊设置,就可以很好地完成任务。

相关内容