Juju和Puppet / Chef有什么区别?

曾尝试向第三方询问Juju和Puppet / Chef之间的主要区别。 第三方对Juju并不太熟悉,也不敢说。 他们只是说其他人有很大的动力,而且很难克服他们的领先优势。

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

马克,这是一个很好的问题,是有人告诉我关于Juju的第一个问题。 这是一些很大的差异。

  • Juju封装了服务 – 魅力定义了服务向/从其他服务公开或使用配置数据所需的所有方式。 魅力的魅力在于它的魅力所在。 它可以使用shell脚本中的任何工具以单独模式的Chef来执行此操作。

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

  • Juju让您轻松分享 – 任何人都可以为Juju Charm Store带来魅力 ; 这些魅力由Juju社区审查和同行评审。

以下是人们通过网络进行的一些其他比较:

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

我不太了解juju ,但据我所知,他们有点坐在不同的层面。 Puppet非常擅长管理机器本身的行为和function,而juju似乎主要致力于讨论机器集,而且主要是如何让机器以任何特定的方式运行外部工具,如Puppet或shell脚本。

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

真的,juju似乎是来自亚马逊的CloudFormation的内部部署版本,虽然没有图表等。 因此,可以与Puppet等一起使用,但不能替代它。

以下是Juju如何适应其他自动化工具的另一种观点:

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

那么Juju是什么? Juju允许您即时部署,集成和扩展您的IT堆栈/服务/应用程序。 即时IT收益没有痛苦。 通过命令行或GUI。

所以Juju更接近PaaS,然后更接近Devops工具,因为你可以构建你的云(Juju是Canonical的默认OpenStack安装程序),基于它的基础设施(web / app / db服务器,Hadoop,MongoDB等),但大多数值得注意的是,Juju允许部署应用程序并立即集成(Wordpress和MySQL之间的添加关系将自动在MySQL内部设置Wordpress表和数据)。

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

来源 – 警告:需要登录。

简单来说,juju封装了服务发现,密钥值存储和配置管理。 木偶/厨师等是纯粹的配置管理。

Juju是基于事件的,并使用中央“引导节点”来跟踪和协调事件。 可以使木偶和厨师出现基于事件的情况,但通常只是按计划运行相关工作。

Afaik,您无法在分布式或无代理状态下运行juju,这对于大多数配置管理系统都是可行的。

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