博客
Ansible vs 厨师 Updated for 2020 [Infographic]

Ansible vs 厨师 Updated for 2020 [Infographic]

抽象形状抽象形状
加入27,000多个网络安全通讯订阅者

Ansible和Chef是配置管理(CM)工具,可帮助系统管理员和DevOps专业人员管理大量服务器。他们擅长重复性任务自动化,将应用程序和程序包同时部署到一组服务器或从头开始配置和配置新服务器。

什么是Ansible?

Ansible屏幕截图

Ansible由其母公司AnsibleWorks于2012年发布,此后得到了专门的关注。 

Ansible用Python编写,仅要求将Python库存在于要配置的服务器上,这是几乎所有Linux发行版中的默认库。 

Ansible'与其他CM工具相比,它的独特卖点是其轻巧,相对易用且部署速度快。 

In contrast to 厨师, you don'无需学习Ruby即可使用Ansible。这是因为 Ansible包裹 所有命令都进入称为剧本的YAML模块。

这意味着只要您的首选语言可以输出JSON模块,就可以使用Ansible。 

Ansible还取消了代理,所有主代理通信均由标准SSH命令或为SSH2提供Python接口的Paramiko模块处理。 

由于SSH,这是一个很大的额外好处's in-built security.

What is 厨师?

厨师 screenshot

厨师于2009年发布。它得到了上级赞助商OpsCode的支持。它经常与其他较旧的CM工具(例如Puppet)进行比较和对比。像Puppet一样,Chef用Ruby编程语言编写,其CLI使用基于Ruby的DSL。该软件可以在客户端服务器上运行,也可以在独立的Chef-solo中运行。

厨师使用主代理模型和主服务器。这意味着Chef安装需要工作站来控制主机。使用使用SSH进行部署的“刀”工具从工作站安装代理。从那里,受管节点通过证书与主服务器进行身份验证。 

厨师 agents must be configured to check in with the master periodically and instantaneous master-to-agent rollout changes aren't yet possible.

厨师 configs are packaged into JSON files called recipes.

Ansible vs 厨师: where Ansible wins

Ansible is a simpler approach to the configuration management work. It avoids the master and minions approach used by other open source configuration management tools like 厨师. 

Rather than setting up a client-server installation, Ansible uses an agentless architecture. This is a different approach 厨师, which has one 厨师 server and numerous 厨师-client instances. 

Ansible使用诸如OpenSSH之类的工具通过SSH网络管理远程连接。 SSH在包括AWS,Google Cloud和Microsoft Azure的云平台上得到广泛支持。 

这样可以加快部署速度,并降低配置文件的复杂性。 

对于企业来说,Ansible塔式高级产品具有基于Web的API和图形库存管理工具。 AnsibleTower添加了一个用户友好的中央仪表板,您可以在其中查看服务器的状态,管理 访问控制 并监视作业运行。 

除了较低的学习曲线外,Ansible还更靠近远程服务器上的裸机操作系统。与需要了解Ruby域特定语言(DSL)的CHef不同,Ansible在命令行中使用您熟悉的命令运行良好。除了用于其剧本的简单YAML格式外。  

这意味着您的命令更易于推理,并且计算机上的性能也很快。 

通常会通过VMWare之类的VM映像进行部署,或者通过Docker进行容器化,这对于DevOps工程师而言,使一致的环境变得更加容易。

Ansible不需要安装客户端,从而消除了应用程序部署设置中的其他性能损失。如果您的团队是DevOps工具的新手,那么Ansible可以涵盖大多数用例,而不会让团队陷入繁琐的业务流程之中。 

Ansible还可以保护您的DevOps团队免于因幂等配置管理而引起的配置漂移。 

Ansible通过运行基于Ansible的Ansible剧本,使您将来可以保持服务器状态的一致性'的库存更新政策。

在剧本的未来执行中,Ansible从以下开始"Gathering Facts"以确定在早期版本的手册中何时进行了指定的更改。 

这样可以确保,例如,如果已经添加了指定的OS用户或说Github remote,它将赢得'将来重新运行该剧本时不会再次添加。  

仅当未达到您的剧本中指定的所需状态时,才执行状态更改。

Ansible凭借其极简的设计,幂等性以及与纯SSH的紧密联系,如果您希望以最少的侵入性部署,编排和配置管理工作流,就可以胜出。 

Ansible vs 厨师: where 厨师 wins 

The original use case for 厨师 at OpsCode when they released their automation tool in 2009. Despite the performance benefits and lower learning curve of Ansible, there are use cases where 厨师 is not just justifiable but preferable. 

厨师'对于由DevOps工程师和软件开发人员组成的团队合作,他们的Ruby DSL感到非常荣幸,他们使用Ruby进行大部分工作。 

开发运维 engineers familiar with the Ruby and other imperative languages such as Python, C++ and Java will be at home with 厨师. 

While Ansible and YAML are easy to pick up, the declarative paradigm is step removed from everyday imperative coding with Ruby, which is what 厨师 replicates well. 

由于Ansible是"just SHH", 厨师 is "只是另一个Ruby DSL"因此,对于精通Ruby的人来说,它几乎没有任何准入门槛。 

厨师的另一个主要优势是灵活性。这是由于DSL具备厨师食谱和菜谱的独特功能,以及可为各种配置文件提供高级自定义功能的嵌入式Ruby(ERB)模板。 

If you have a complex cloud deployment across platforms such as Amazon EC2, Google Cloud, Azure and OpenStack with regular schedules for server updates, 厨师 is a great option.

The latest 厨师 open source version 15.3.14 was released on September 12 2019 and is available for free.  

There is enterprise supported 厨师 Infra, 厨师 Inspect, 厨师 Habitat and 厨师 Automate. 这些计划如下 for 100-500 nodes:

  • 轻松的基础架构: “ Essentials”计划的年费为$ 16,500,最多可容纳100个节点,“ Enterprise”选项的年费为$ 75,000 /年,最多可容纳500个节点,并提供高级支持。
  • 企业自动化堆栈: “基本”计划的费用为每年35,000美元,标准支持与“企业”计划的价格为每年150,000美元。 

Does Ansible or 厨师 have better support?

厨师 是较旧的产品,因此其文档要优于Ansible。 

就是说,更好的文档可能是由于与Ansible相比,还有很多东西要学习。 

厨师 offers support for Linux, *nix and Windows. The browser-based GUI is good but not as complete as 木偶 并且缺少报告和高级配置选项等功能。 

厨师'相对成熟度意味着它可能比对个人更重视稳定性的公司更具吸引力。 IT以避免记录任何东西而闻名,因此'Ansible并不奇怪'的文档仍然是一个弱点。 

学习起来很容易,这在某种程度上有所缓解。 

Ansible is only available for Linux and Unix and its GUI is worse than 厨师's, it doesn't同步到CLI,因此GUI和CLI可以给出不同的结果。  

Ansible在传输层使用ZeroMq实现的无代理推送模式意味着快速部署和较低的性能开销,但要注意的是,它不如使用代理那样灵活和强大。

Ansible vs 厨师 vs other configuration management tools

Ansible and 厨师 vie for leadership with other notable configuration management tools like SaltStack, Terraform and 木偶 among the most notable. 

这些工具用于以可预测的,省时的方式调配和维护服务器场,无论是托管在内部还是托管在Azure和AWS等云平台上。 

大规模部署伴随着独特的挑战,例如维护应用程序,合规性要求,补丁,配置漂移和软件升级,这些都对DevOps团队构成了独特的挑战。

开发运维工具通常分为两类:

  1. 编排: 处理配置服务器和其他基础设施,包括跨集群的数据库,同时将管理实例上运行的软件的职责移交给配置管理工具。
  2. 组态management: 专注于在基础结构节点上管理软件,包括在已经存在的服务器上进行安装和升级

其他DevOps工具:

  • SaltStack: SaltStack(Salt)用Python编写,将您的库存状态保存在主服务器上,其中YAML是用于存储配置的默认格式。 SaltStack模板使用Jinja模板语言,Python用户会很熟悉。
  • 木偶: 配置管理方面的另一个工具Puppet需要一个称为Puppet主服务器的主服务器,该服务器存储基础结构的配置并将更改推送到客户端。像AnsibleTower一样,Puppet Enterprise带有Web仪表板Puppet Enterprise Console,用于管理库存。
  • 地形: Ansible和Chef的另一种方法。 Terraform专注于设置整个基础架构和预配置服务器。因此,它属于频谱编排方面,但可以与Chef和Ansible等注重配置的工具一起使用。

许多DevOps团队已经找到混合和匹配CM工具的方法,以适应其配置和编排需求的复杂性。通常在虚拟化解决方案上运行,例如Docker容器,Vagrant,Kubernetes等。 

使用Docker进行容器化是一条引人入胜的道路,因为Docker容器有助于简化配置过程,同时提供跨各种服务器操作系统和云提供商的可移植性。 

在某些情况下,诸如Kubernetes或Docker之类的解决方案可以满足您大多数的配置管理需求。例如,Docker映像可以安装您的所有软件要求。 

It is also possible to use Ansible or 厨师 to deploy Docker containers and manage them, with ready plugins available in the form of a built-in Docker module on Ansible, and a Docker cookbook from the 厨师 Supermarket

在单个配置管理工具的流行度方面,Ansible现在领先于其他产品, 来自TechRepublic的调查 showing that Ansible had the most widespread usage across survey respondents, at 41%, followed by 厨师 and 木偶 in a tie at 31%, with Terraform at 31%, and Saltstack at 18%.  

结论

首先,任何管理员或DevOps都会非常高兴拥有这些工具。仅仅几年前,在该领域中的选择就少得多。选择其中任何一个都是胜利,您的生活将会因此而更加丰富和轻松。

That said, if you must choose between them, consider your own needs carefully first and weigh them against what each solution offers. You can use the infographic below to compare 厨师 and Ansible.

Ansible vs 厨师 Infographic

Ansible vs. 厨师 Infographic
免费电子书

The Guide to Managing 组态Drift

通过此深入的电子书,了解如何管理配置漂移。
白色UpGuard徽标
The Guide to Managing 组态Drift
可供下载的UpGuard免费资源
学到更多

下载我们的免费电子书和白皮书

关于网络安全和供应商风险管理的见解。
白色UpGuard徽标
电子书,报告& Whitepapers
可供下载的UpGuard免费资源
UpGuard客户支持团队UpGuard客户支持团队UpGuard客户支持团队

观看UpGuard的实际应用

与我们的一位网络安全专家预订免费的个性化入职电话。
抽象形状抽象形状

相关文章

了解有关网络安全的最新问题的更多信息。
传送图标

注册我们的时事通讯

每周在收件箱中获取最新精选的网络安全新闻,漏洞,事件和更新。
抽象形状抽象形状
免费即时安全评分

您的组织有多安全?

索取免费的网络安全报告,以发现您的网站,电子邮件,网络和品牌上的主要风险。
  • 检查图标
    您可以立即采取行动的即时见解
  • 检查图标
    13个风险因素,包括电子邮件安全,SSL,DNS运行状况,开放端口和常见漏洞
网站安全扫描结果网站安全扫描等级抽象形状