Juju 和 Puppet/Chef 有什么区别?

Juju 和 Puppet/Chef 有什么区别?

曾尝试向第三方询问以下两者之间的主要区别:朱朱和 Puppet/Chef。第三方对 Juju 不太熟悉,无法判断。他们只是说其他人势头强劲,很难超越他们的领先优势。

那些最接近 Juju 的人是否愿意强调该软件的优势,以及为什么它会在配置管理领域超越 Puppet/Chef?

答案1

马克,这个问题问得好,也是当有人告诉我 Juju 时我第一个问的问题。以下是一些重大差异。

  • Juju 封装了服务 - Charm 定义了服务向其他服务公开或使用配置数据所需的所有方式。Charm 如何做到这一点是 Charm 的工作。它可以使用从 shell 脚本到 Chef 的任何工具(单独模式)来实现这一点。

  • Juju 协调配置 - juju 跟踪可用的资源,并可根据需要添加或删除它们。目前这些资源是 AWS EC2 机器、OpenStack 云(如 HP Cloud)、Microsoft Azure、Joyent、通过 MAAS 的裸机以及 LXC/KVM 本地提供商。

  • Juju 让分享变得简单 - 任何人都可以贡献自己的魅力Juju Charm 商店;这些护身符都经过了 Juju 社区的审查和同行评审。

以下是网上其他人做出的一些比较:

答案2

(免责声明 - 我是 Puppet 的创始人和 Puppet Labs 的首席执行官)

我不知道咒咒非常好,但据我所知,它们在某种程度上处于不同的层次。Puppet 擅长管理机器本身的行为和功能,而 juju 似乎主要致力于讨论机器集,并且在很大程度上将如何使机器以特定方式运行交给外部工具(如 Puppet 或 shell 脚本)。

我们使用 Puppet 的策略是从头开始构建最佳堆栈,而 juju 似乎是堆栈的一个特定层,其他层则留给其他工具。因此,虽然您可以使用 Puppet 解决整个问题(尽管有时需要做比您想象的更多的工作),但您需要将 juju 与其他工具集成才能完成更多工作。

真的,juju 看起来像是云形成来自亚马逊,尽管没有图表等。因此,可以与 Puppet 等一起使用,但不能替代它。

答案3

以下是 Juju 如何与其他自动化工具配合的另一种看法:

我在 Canonical 负责云战略,该公司是 Ubuntu 和 Juju 背后的公司。Juju 不是 Puppet 或 Chef 的竞争对手。Juju 可以安装 Puppet 或 Chef,并且您可以从 Charm(Juju 对服务的封装)中调用现有的 Puppet 模块或 Chef 收据。

那么 Juju 是什么?Juju 允许您立即部署、集成和扩展您的 IT 堆栈/服务/应用程序。无需付出任何努力即可立即获得 IT 收益。无论是通过命令行还是 GUI。

因此,Juju 更接近 PaaS 而不是 Devops 工具,因为您可以构建自己的云(Juju 是 Canonical 的默认 OpenStack 安装程序)和其上的基础设施(web/app/db 服务器、Hadoop、MongoDB 等),但最引人注目的是 Juju 允许部署应用程序并立即集成(Wordpress 和 MySQL 之间的添加关系将自动在 MySQL 内设置 Wordpress 表和数据)。

此外,应用服务器(java、php、node.js、scala 等)可以与版本控制协同工作,因此可以自动部署和扩展您的应用。因此,与 PaaS 不同,您不局限于特定的软件堆栈,仍然可以获得即时部署、集成和扩展优势。可以将其视为灵活的 PaaS 或 FlexiPaaS,可以即时部署、集成和扩展您的软件服务,而不受限制或锁定。

来源- 警告:需要登录。

答案4

简单来说,juju 封装了服务发现、键值存储和配置管理。Puppet/chef 等是纯配置管理。

Juju 是基于事件的,并使用中央“引导节点”来跟踪和协调事件。Puppet 和 chef 可以设置为基于事件,但它通常只是按计划运行相关作业。

据我所知,您无法在分布式或无代理状态下运行 juju,而大多数配置管理系统都可能出现这种情况。

大多数情况下,puppet 等都是特定领域的语言,而 juju 是一个系统,而不是一种语言。

相关内容