Chef进行自动化和编排的优缺点分析

Chef进行自动化和编排的优缺点分析

Chef Automate提供全套企业功能,可实现混合基础架构的自动化,从交付到合规。

Chef已经成为一个领先的开源工具,在过去十多年中一直用于自动化服务器的供应和配置。近年来,该公司将InSpec和Habitat添加到产品组合中,这些开源项目分别自动执行策略合规性测试以及应用程序的部署和配置。该公司的旗舰商业产品Chef Automate将所有这些产品整合在一起。

Chef Automate为工作流,节点可见性和合规性提供了一套企业功能,并与开源产品Chef,InSpec和Habitat集成。Chef Automate为整个平台提供支持服务,包括开源组件。除了提供运营,合规性和工作流事件的视图外,它还包括用于持续交付基础架构和应用程序的流水线。

Chef组件和工作流程

Chef DK(开发套件)工作站是用户与Chef互动的地方。在工作站上,用户使用Test Kitchen(生成测试VM)等工具创作和测试cookbook,并使用命令行工具与Chef服务器进行交互。 例如,Knife是一个命令行工具,它提供本地Chef repo和Chef服务器之间的接口。 Knife可帮助用户管理节点,cookbook,数据包以及Chef客户端在节点上的安装(引导程序)以及其他任务。Chef cookbook中的大多数文件都是用Ruby编写的,尽管有些配置是用YAML编写的。

Chef进行自动化和编排的优缺点分析

Chef 架构

开源Chef服务器充当配置数据的中心。Chef服务器存储cookbook,应用于节点的策略以及描述Chef正在管理的每个已注册节点的元数据。节点使用Chef客户端向Chef服务器询问配置详细信息,例如配方,模板和文件分发。换句话说,Chef默认是基于拉的系统;它还具有推送功能。

Chef Supermarket是共享和管理社区cookbook的地方。Chef自动化中提供Chef管理控制台,chef-client(代理)运行报告,高可用性配置和Chef服务器复制。

InSpec是一个免费的开源框架,用于测试和审核您的应用程序和基础架构。它是Chef Automate合规部分的基础。它与Puppet和Ansible以及Chef集成。

Habitat是一个开源的云原生应用程序自动化和应用程序生命周期管理平台,从应用程序的角度而不是企业或平台的角度设计。

Chef进行自动化和编排的优缺点分析

Chef Automate为工作流,节点可见性和合规性提供了一套企业功能,并与开源产品Chef,InSpec和Habitat集成。

Chef在DevOps,合规性和云计算方面的应用

Chef Automate可帮助你更快,更频繁,更可靠地配置和部署应用程序,换句话说,它支持DevOps。它还通过减少服务器drift,识别合规性违规以及自动修复任何问题来自动执行合规性。Chef Compliance基于开源InSpec,曾经是一个单独的产品,但现在是Chef Automate的一部分。

云迁移是Chef的一个有趣的用例。这包括AWS,Microsoft Azure,Google云平台,混合部署和混合云。另一个主要用例是确保符合PCI,HIPAA以及其他安全和隐私法规。

如下图所示,Chef的卖点之一是它可以与你拥有的产品配合使用。其中包括主要的基于Git的存储库,CI/CD系统,操作系统,云和容器编排系统。

Chef进行自动化和编排的优缺点分析

Chef生态系统图显示了其工作流程,运行时,环境和规格集成,以及Chef Automate的主要功能。

Chef安装和设置

通常,Chef Automate安装至少包含两个服务器:Chef服务器(至少四个vCPU和8 GB RAM),其中包含用于在Chef Automate和你的Chef Automate中构建,测试和部署组件的cookbook和数据,基础架构和Chef Automate服务器(至少四个vCPU和16 GB RAM),用于协调通过工作流管道移动更改的过程,以及提供有关Chef Automate集群的见解和可视化。

有两个可选服务器,一个推送作业服务器,用于创建用于部署测试的基础结构节点,如果你将基于推送作业的构建节点用作测试和部署过程的一部分,以及运行程序或构建节点,则还需要这些服务器(至少两个vCPU和4 GB RAM),它们执行从Chef Automate运行构建,测试和部署的工作,并且仅在使用Chef Automate的工作流功能时才需要。

首先安装Chef服务器,可以是独立服务器,也可以是高可用性配置。然后使用chef-server-ctl命令创建一个用于Chef Automate的用户和组织。(可选)下载代码并创建推送作业服务器,然后再次使用chef-server-ctl命令重新配置Chef服务器。

此时,你可以使用rpm或dpkg安装和配置Chef Automate。安装许可证,并使用automate-ctl命令运行飞行前检查和设置过程。设置将提示你为工作流创建运行器。最后,你可以配置节点以进行数据收集。

Chef Automate得AWS OpsWorks工具大大简化了安装过程,假设你希望在AWS上安装Automate和Chef服务器,你可以在10分钟或更短时间内部署。你仍然可以从OpsWorks管理本地节点,尽管OpsWorks在大多数节点都在AWS上时会发光,因为它可以自动将节点注册到自动缩放组中。

AWS上有一个很好的教程可以教你Chef ,Chef Automate和OpsWorks,你可以在其中设置所有内容并逐步执行自动化任务。该教程比基本部署需要更长的时间,但如果你是Chef的新手,则值得一试。

你还可以从AWS Marketplace将Chef Automate安装到VM中。此外,Chef还与Google Cloud Platform,Microsoft Azure Marketplace和VMware集成。

Chef Automate拥有强大的开发和合规性,广泛的平台支持和大量模块,提供全套企业功能,可自动化混合基础架构的交付和持续运营。它可能满足你对IT自动化的大部分或全部需求。

成本:

免费开源项目(Chef,InSpec,Habitat等)。

Chef Automate,137美元/节点/年,支持标准(12x5)。

AWS OpsWorks与Chef Automate,$ 0.0155 /节点/小时。

Chef托管,72美元/节点/年。

平台:

Chef Automate Server需要RHEL,SUSE或Ubuntu OS。除此之外,MacOS还支持Chef Automate Job Runner。

Chef Automate与VMware,CoreOS,Docker,Windows和Linux操作系统兼容;Google,AWS,Azure,OpenStack和VMware云; Kubernetes,Docker Swarm和Mesosphere容器编排系统。基于云的Chef Automate服务可作为AWS OpsWorks for Chef Automate使用。应该浏览使用Google Chrome的Automate控制台;IE特别不受支持。

Chef DK(开发套件)在MacOS 10.11,RHEL 6,SUSE 11,Ubuntu LTS,Windows 10或Windows Server 2012以及这些操作系统的更高版本上受到商业支持。Debian 7和Scientific Linux 6及更高版本提供社区支持。

总结

Chef Automate 1.8.3

提供全套企业功能,可自动化混合基础架构的交付和持续运营。

优点

自动化混合基础架构的交付和持续运营

支持基于代理和节点的无代理控制

拥有大量模块

可在AWS上作为服务提供

在大多数现代操作系统上支持代理运行

缺点

Chef Automate Server需要RHEL,SUSE或Ubuntu OS

正确安装需要多台服务器

原文链接:

https://www.infoworld.com/article/3281098/devops/why-use-chef-for-automation-and-orchestration.html

译者 肖力

新钛云服技术副总裁,十九年运维经验,曾就职盛大、金山。丰富的私有云和运维管理经验,是国内虚拟化实践先驱者和业内知名的虚拟化专家,主导参与G云、西山居以及多个私有云/专享云的建设运维。开源云联盟WG5工作组组长。云技术社区创始人,《深度实践KVM》等书作者。


分享到:


相關文章: