Joh*_*lla 16 configuration-management puppet chef
我即将开始一个新项目,该项目在一定程度上需要部署大约三个不同类的许多相同节点:
所有节点都将在 Ubuntu 10.04 实例上运行,但它们将安装不同的软件包。
我从以前的项目中对 Chef 有一些熟悉,尽管我不认为自己是专家。为了进行尽职调查,我一直在研究其他可能性。我们内部有很多人是 Puppet 的长期用户,他们鼓励我去看看。
不过,我无法评估这两种选择。Chef 和 Puppet 共享许多相同的领域术语——包、资源、属性等等,它们有共同的历史,源于对同一问题采取不同的方法。所以在某种意义上,它们非常相似。但是我找到的很多比较信息,比如这篇文章,都有些过时了。
如果你今天开始这个项目,你会问自己什么问题来决定你应该使用 Chef 还是 Puppet 进行配置管理?(注:我不想要回答这个问题:“我应该用厨师或木偶?”)
小智 12
Puppet 和 Chef 都可以做你想做的事。你最好的方法是开始做你想做的事情并决定你最喜欢哪种工具。我认为你必须问的大问题是:
你想要一个DSL吗?- 厨师食谱是用 ruby 编写的,puppet 有一个 DSL。DSL 是好还是坏的选择是厨师和木偶之间最大的区别之一。您发布到位域咨询比较的链接对此有一些很好的评论,如果您还没有阅读,您应该阅读。我也发现这篇博文很有用,请确保您也阅读评论。
你知道红宝石吗?- 如果您不知道 ruby,则开始使用 Chef 可能会更难或需要更多的时间投入,因为您需要学习一门新语言。Puppet 有自己的语言,很容易上手。从 puppet 2.6 开始,清单也可以用 ruby 编写。
在 2009 年的 Open Source Bridge 上,他们有一个由 Chef、puppet、bcfg2、cfengine 和automatit 的作者和代表组成的小组,您可以在 bliptv上观看,其中有 1.75 小时关于配置管理实用程序的讨论。
Opscode/Chef在他们的常见问题解答中也谈到了它和 puppet 之间的区别。
我认为您不知道要问的正确问题可能源于您没有太多使用它们的经验,一旦您开始使用它们,您就会开始看到它们之间的差异。我建议你带着一些现实生活中的问题来,你会用厨师或木偶来解决,然后开始尝试解决它们,看看你喜欢/不喜欢它们的什么。使用 Opscode/Chef,他们提供托管解决方案,您可以免费设置 5 个节点以开始使用。
首先让我说——如果你没有使用 Puppet 或 Chef;没有错误的答案。要么会比你现在做的要好得多。
作为团队负责人,我为我的团队选择了 Puppet。如果我是一个只有我自己的团队,我会选择 Chef。原因如下:
虽然我的专长当然是系统管理,但我的背景是编程。这就是我上学的目的,而且我对编写完整的应用程序(不仅仅是脚本)并不陌生。虽然我不知道 Ruby,但我想知道,Chef 是学习两者的绝佳借口。
但是,我的团队中全是系统管理员,除了偶尔的 shell 脚本之外,几乎没有编程经验。对他们来说,编写 puppet 模块很像编写配置文件。它是声明式的,没有迭代器,而且总体上对管理员更友好。
由执行系统管理员活动的开发人员组成的团队往往更喜欢 Chef。由于 Puppet 的 DSL 是声明性的,顺序(甚至在单个文件中)并不重要,这让许多习惯于更典型编程语言的人感到沮丧。
我也多次听到有人说 Chef 比 Puppet 对云更友好,但 Puppet 在过去一年中通过他们的 Puppet Enterprise 产品将这一点作为重点。我无法从经验中谈论这两种产品的云能力。
由于上述品质,刻板印象(而且通常是正确的)是您会发现 Puppet 在物理机器上的企业中更加普遍,其中 Chef 统治着云中的初创公司。当然也有例外,但我所看到的肯定支持这种刻板印象。
如果是单人团队,则评估两者并选择您喜欢的一个。但是,如果像我一样,您有一个团队,请确保您将团队的需求置于任何个人偏好之上,这将在以后尝试获得支持时为您节省。
完全公开,我们不使用其中任何一个,尽管我们在尝试决定配置管理系统时对它们进行了内部评估。所以不要认为我是这两者中的任何一个的专家。
等等。但是您自己可以很容易地回答这些问题:设置它们!为每个产品启动和运行样本需要花费几个小时的时间,考虑到您使用它的任何内容都可能会使用很长时间,因此这段时间非常值得。您不仅可以了解他们如何处理特定于平台的事情(即,基于 Debian 和 apt,基于 RPM 和 yum),而且它肯定会帮助您了解应用程序。
还要记住,世界上的所有功能都不会弥补一个困难的界面,此外,它可能会暴露特定于您的基础设施的问题——即,如果配置文件以不同的顺序更新会发生什么超出预期?
这就是我的建议;Chef 和 Puppet 设置一台服务器和一两个客户端并不是那么困难,并且会为您提供两者的第一手经验。另外,如果您开始设置它并意识到它是一个巨大的痛苦,那么您在承诺之前就已经掌握了知识。
如果您的项目中有人已经有使用 Puppet 的经验,那么我建议您只使用 Puppet。
Chef 和 Puppet 非常相似,两个项目的质量都一样高。如果您可以访问已经拥有 Puppet 经验的人,只需使用 Puppet。
| 归档时间: |
|
| 查看次数: |
2113 次 |
| 最近记录: |