企业正在转向基础设施即代码(IaC)工具来自动化基础设施部署,以及简化应用程序开发,特别是因为它适用于DevOps。
IaC可减少很多手动流程和低效率的传统部署基础设施方法。它还可以帮助简化基础设施管理,并降低运营成本,同时消除各环境之间的不一致,这些环境包括测试环境、预生产环境和生产环境。
为了进一步简化运营,有些企业将IaC与可组合的分离基础设施(CDI)结合使用,该基础设施为自动化和编排资源配置提供基础。CDI设备提供软件定义环境,该环境抽象物理资源,并使它们作为可以动态组合和重组的服务提供。可组合架构还有助于优化资源利用率,并简化常见管理工作。
当企业将CDI和IaC一起使用时,可通过一个平台,有效地分配资源,以满足不断变化的工作负载要求,而无需传统基础设施的部署和维护难题。企业需要正确的工具来有效地使用IaC和CDI。然而,企业可能很难选择最适合的工具,因为有太多产品可供选择,而且它们之间的差异并不总是显而易见。下面我们来看看8款IaC工具,这些工具对IaC采取不同的方法。尽管有些产品可能更适合CDI,但每个产品都是提供有效的工具,为使用IaC自动分配资源。
什么是IaC工具,为什么你应该使用它?
IaC工具是软件工具,旨在通过代码协助配置和设置IT资源,而不是手动部署资源。通常,此类工具以JSON、XML或YAML等格式生成声明模板文件。这些文件以编程方式部署IT资源,例如虚拟机。
IaC工具通常分为声明式、命令式或混合式。声明工具允许用户定义期望的结果,然后弄清楚如何实现该结果。相反,命令式工具要求用户提供确切的步骤和命令,以实现他们想要的结果。混合工具结合了这两种方法,为用户提供最大的灵活性。
有时,IaC工具代表用户编写所有必要的代码。即使他们使用命令式工具,要求他们自己编写代码,它也可能包括辅助功能,使该过程更容易,并且不容易出错。IaC工具还有助于版本控制,以及集成到IT管道中。
可组合的分散基础设施如何支持IaC
- 提供软件定义的基础设施,无需人工干预,即可自动控制物理资源。
- 可以执行配置、设置和管理等操作,以满足编码基础设施定义的工作负载要求。
- 将物理资源分类,并将其作为服务,为运行现代工作负载提供一个极其灵活的环境。
- 为按需编写和重新编写资源提供灵活的构建块,从而能够根据需要实施基础设施,以适应不断变化的工作负载。
- 随着基础设施需求的变化,可更好地满足变化的需求,同时更有效地使用资源。
- 可以在虚拟机、容器和裸机上运行工作负载,使其更容易满足不同的IaC要求。
- 不必为特定工作负载预配置,因为资源是按需配置。
- 通过内置的自动化和编排将管理开销降至最低。
- 提供全面的管理API,使第三方工具能够与企业环境连接,使企业能够使用其现有的IaC工具。
1. AWS CloudFormation
AWS CloudFormation IaC服务允许用户对AWS合作伙伴网络中的相关AWS和第三方资源进行建模、配置和管理,在整个生命周期内。开发人员使用CloudFormation模板来描述所需的资源及其配置。然后,CloudFormation使用模板代码来配置和组装资源堆栈,管理员可以在多个AWS帐户和区域中部署这些资源堆栈。
关键特征
- 开发人员可以使用CloudFormation CLI构建资源提供器,CloudFormation CLI是开源工具,可简化开发。
- CloudFormation自动配置和更新基础设施流程,并使管理员能够将堆栈相关操作回滚到以前的状态,以响应触发的CloudWatch警报。
- 通过使用开源声明语言(例如JSON或YAML),开发人员可以完全在文本文件中对云环境进行建模。AWS云开发工具包还允许开发人员使用TypeScript、Python、Java和Microsoft .NET.定义云环境。
- 开发人员可以使用AWS Serverless Application Model构建无服务器应用程序,这个开源框架为应用程序定义提供速记语法。
- CloudFormation允许用户预览更改可能如何影响正在运行的基础设施,并决定是否实施更改。例如,用户可以验证CloudFormation在执行更改集之前不会意外删除或修改其任何关键资源。
集成
CloudFormation可与其他AWS产品集成,例如Service Catalog和AWS Identity and Access Management。管理员还可以使用CloudFormation Registry来建模和配置第三方应用程序资源和AWS资源。此外,GitHub上的AWS CloudFormation提供开源项目,可扩展该平台的功能。
定价
CloudFormation是根据执行的处理程序操作数量来计费。处理程序操作包括创建、更新、删除、读取和列表。可使用AWS定价计算器来估算使用CloudFormation的成本。
支持
亚马逊提供四种付费支持计划:开发人员支持、业务支持、Enterprise On-Ramp支持和企业支持。亚马逊还为CloudFormation和所有其他AWS服务提供全面的在线文档。亚马逊的生成式AI助手Amazon Q可以回答有关各种AWS服务的问题。
2. Chef Infra
Chef Infra自动化平台将基础设施转化为代码。它使企业能够自动化跨网络配置、部署和管理基础设施的方式,无论是在本地、云中还是在混合环境中。企业可以使用Chef Infra来确保其系统配置正确且一致,即使工作负载要求发生变化。
关键特征
- Chef Infra使基础设施配置可测试、可移植和可审计,并确保基础设施更改一致且可重复。
- Chef Infra可以针对所需状态持续配置系统,同时自动化基础设施验证和配置。
- 开发人员和管理员可以使用简单的声明定义来执行常见的管理任务。
- Chef Infra可以在不影响正确配置系统的情况下,自动纠正配置漂移。
集成
Chef Infra Server提供一个REST API,使管理员能够访问服务器对象,包括节点、角色、环境、用户和cookbook。Chef Infra还可以配置各种基于云的服务,以及集成云配置API和第三方软件。
Chef Infra也与其他Chef产品配合使用。例如,Chef Workstation与Chef Infra配合使用,使企业能够在执行政策变更之前进行测试。同样,Chef Automate可以验证整个组织的系统状态。
定价
Chef将其所有产品都开源,并受Apache 2.0许可证的保护。然而,商业和企业客户必须购买订阅才能在生产环境中使用Chef产品。
支持
获得Chef Infra和其他Chef产品的支持需要付费订阅。Chef Enterprise订阅包括全天候的企业支持。
3. Google Cloud Deployment Manager
Google Cloud Deployment Manager是Google Cloud的一部分基础设施部署服务。该服务使用模板和配置文件来自动创建和管理Google Cloud资源,例如Cloud Storage、Cloud SQL和Compute Engine。 Deployment Manager将基础设施视为软件,使管理员能够在单次操作中配置、设置和部署很多资源。
关键特征
- Deployment Manager支持使用并行部署,这意味着大规模部署可以快速完成,因为多个部署操作同时发生。
- Deployment Manager使用YAML语言对基础设施采取声明式方法。这种方法允许用户指定配置应该是什么样子,然后让平台决定要采取什么步骤。
- 开发人员可以使用JSON创建参数化模板,以定义资源,这些资源通常一起部署。支持Python和Jinja2模板。
- Deployment Manager 提供预览模式,管理员可以在提交更改之前查看操作的影响。
- 一个资源定义可以引用其他定义来创建依赖关系,并控制资源部署的顺序。
集成
客户可以在 Deployment Manager服务中注册第三方API,然后使用 Deployment Manager将资源部署为基础架构配置中的类型。 Deployment Manager包含自己的 API,用于简化对资源类型的访问。
定价
Deployment Manager 免费提供给Google Cloud客户。与Azure Resource Manager一样,收费基于所配置的资源。然而,谷歌在其免费级别中提供20多种Google Cloud 服务。
支持
Google Cloud一般支持提供四个支持包。基本支持对所有谷歌云客户都是免费的。标准支持费用为每月29美元,或每月费用的3%。增强支持每月花费100美元,或每月费用的10%,每月支出高达10,000美元。每月支出超过10,000美元需要支付支持费,但支出金额越高,百分比会逐渐下降。高级支持每月花费15,000美元,或每月费用的10%,每月支出高达150,000美元。每月超过15万美元的支出有支持费,但支出金额越高,百分比会逐渐下降。
4. HashiCorp Terraform
Terraform适用于Windows、macOS和Linux。还有一个基于云的版本。它使用户能够构建、更改和版本化基础设施。该平台可以管理低级资源,例如计算实例,以及高级组件,例如DNS条目。
关键特征
- Terraform生成一个执行计划,在执行变更前,该计划会显示即将应用于基础设施的变更。
- 该平台使用执行计划和资源图将复杂的变更集应用于基础设施,并尽量减少人际互动。
- Terraform可以确定配置中的更改,并创建用户可以应用的增量执行计划。
- 多云合规性和管理功能使用户能够通过单一工作流程配置和维护公共云、私有基础设施和云服务。
- 该平台提供自助服务功能,使用户能够按需从已批准的资源库中配置基础设施。
集成
Terraform可以与各种系统集成,包括云、DevOps、数据库、网络、源控制、IT工具和基础设施软件。该平台可以与GitHub、AWS、Microsoft Azure、Brightbox、Skytap、Linode、MongoDB、Splunk、Densify和Cisco网络集成。
定价
虽然Terraform曾经是开源的,但HashiCorp现在是Business Source License。然而,该公司的大多数API、SDK和库仍然免费提供。该公司提供免费的Terraform版本,每月最多支持500个资源。标准版本价格从每个资源每小时0.00014美元起。HashiCorp还提供Plus和Enterprise版本,但尚未披露这些版本的定价。
支持
HashiCorp为其所有四个定价等级提供社区支持。高级支持服务适用于标准、Plus和企业级别。
5. Microsoft Azure Resource Manager
Azure Resource Manager是微软Azure资源的部署和管理服务。该服务为用户提供一个管理层来创建、更新和删除资源。它还提供访问控制、锁定和标记等功能,以便在部署后保护和整理资源。用户使用模板部署基础设施,这些模板是定义支持项目所需的资源和配置的JSON文件。
关键特征
- Resource Manager 允许用户共同部署资源,并轻松重复部署任务,同时确保他们一致地部署资源。
- 开发人员在单个声明模板中定义基础设施及其依赖项,他们可以在多个环境中使用该模版,例如测试、预生产或生产环境中。
- Resource Manager提供基于角色的访问控制,使企业能够确定谁可以对其资源执行操作。
- 开发人员可以使用Azure Resource Manager Tools for Visual Studio Code来简化模板创建和验证过程。
集成
为持续集成/持续部署,Resource Manager提供与其他Azure服务(例如Azure Policy或Azure DevOps)的集成。
定价
Resource Manager是一项免费服务,因此产生的任何费用都基于已配置的资源。微软鼓励客户对资源应用标签或将资源分组在一起,以便更轻松地确定他们的总成本。
微软免费提供20多个额外的Azure服务,作为其免费层级的一部分。此外,微软为新用户提供200美元的积分,以试用Azure 30天。这使得Azure新手企业能够很好地了解 Resource Manager如何与各种Azure服务配合使用。
支持
对Resource Manager的支持是Azure支持的一部分,它提供四个计划,每个计划都建立在下一个计划之上。基本计划对所有Azure客户都是免费的。开发人员计划每月29美元,是试用和非生产环境的理想选择。标准计划为每月100美元,适用于生产工作负载环境。顶级支持计划Professional Direct每月为1000美元,适用于业务关键型工作负载。
6. Puppet Enterprise
Puppet Enterprise是一个集成平台,企业可以用它来管理和自动化基础设施和复杂的工作流程。该平台使管理员能够在全球范围内管理基础设施。
关键特征
- Puppet Enterprise持续执行所需的基础设施状态,以确保安全和合规性要求得到满足。
- 企业可以构建或重复使用现有代码,或集成来自Puppet Forge的共享内容,以编排复杂的任务和部署应用程序。
- 从Puppet Enterprise控制台中自动进行Windows和Linux服务器修补,这更容易维护每个主机的运行状况和安全性。
- Puppet Enterprise使企业能够跨团队扩展自动化,而不必牺牲一致性或安全性。
- 通过基于角色的访问控制,企业可以授权联合团队查看、编写、操作和交付对象。
集成
Puppet Enterprise可以与各种供应商产品集成,包括AWS、Google、HashiCorp、Microsoft、ServiceNow、Splunk和VMware。此外,Puppet Server通过其HTTP API公开多个服务。例如,企业可以使用API来管理节点配置。很多开发工具还提供与Puppet的集成。
定价
Puppet 尚未发布 Puppet Enterprise 的定价信息。对该产品感兴趣的企业可以联系Puppet销售人员。那些希望在购买之前了解更多关于Puppet Enterprise的信息的人可以参加免费的在线课程或通过10节点的试用免费试用Puppet。
支持
Puppet Enterprise提供两个级别的支持。标准支持在当地营业时间内提供,最适合不使用Puppet Enterprise执行关键任务的客户。那些有更苛刻的支持需求的人应该考虑高级支持选项。
7. Red Hat Ansible Automation Platform
Red Hat Ansible Automation Platform帮助管理员大规模构建和运营自动化服务。该平台包括红帽Ansible自动化控制器,它作为控制平面;自动化网格,一个用于工作负载分发的叠加网络;Private Automation Hub,它使开发人员能够发布自己的自动化代码;以及Event-Driven Ansibl,它提供平台的事件处理能力。
关键特征
- 用户创建基于YAML的Ansible手册,以人类可读的语言描述自动化工作,不同类型的用户都可以理解。红帽还提供Ansible已验证内容:一组预构建的YAML文件,可用于常见自动化任务。
- 红帽提供Ansible Lightspeed,一个生成式AI工具,可作为编码助手。通过使用此工具,开发人员可以更轻松地创建代码。
- Event-Driven Ansible可以接收来自第三方工具的信号,从而使Ansible能够根据这些信号采取自动操作。通过这样做,开发人员可以构建先进的、完全自动化的端到端任务。
- Automation Hub提供了一个集中式门户,用于发现内容集合,为客户提供预先组合的角色和模块,使他们更容易推进项目。
集成
Ansible包括数百个模块,这些模块提供广泛的集成功能,支持各种操作系统、虚拟化平台、存储系统、网络组件、云平台、DevOps工具和安全措施。
定价
Ansible定价基于企业如何决定部署Ansible。Ansible可以通过AWS或Red Hat作为托管服务购买。它可以通过Red Hat或Microsoft Azure作为托管应用程序提供。还有一个自我管理的选项,可以部署在本地或AWS、微软Azure或谷歌云端。尽管红帽没有公布其定价,但定价可能因部署选项而异。
支持
Ansible有两个版本,它们因支持和功能而异。标准版仅在正常工作时间内提供支持。高级版提供全天候支持,并响应更快。每个支持问题都会按照服务条款的定义分配优先级。
8. Tanzu Salt
Tanzu Salt基于开源自动化引擎(Salt),该引擎在Apache 2.0许可证下获得许可。Salt被VMware收购,现在是VMware Tanzu的一部分。现在,Tanzu Salt是VMware的自动化和修复产品。
关键特征
- Tanzu Salt可以扫描企业的基础设施,发现其应用程序,并识别与这些应用程序相关的常见漏洞。
- 该平台可以部署IaC,并能够自动确保基础设施坚持所需的状态配置。
- Tanzu Salt可以通过自动检测和修复配置漂移来自我修复IT资源。
- 该软件可以通过使用事件驱动的补丁管理来帮助企业保持其IT资源的更新。
集成
Tanzu Salt旨在与很多其他常用的管理工具配合使用,包括Terraform、Ansible、Puppet、Bamboo、Splunk、CloudHealth、Tenable和Rapid7。
定价
VMware尚未公布Tanzu Salt的价格。用户可以从VMware合作伙伴或通过VMware Marketplace获得报价。
支持
VMware通过Broadcom支持门户提供社区支持和技术文档。那些需要更高级别支持的人可以订阅VMware生产支持,它可以为你的生产环境提供全天候远程支持。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号

TechTarget
官方微博

TechTarget中国
翻译
相关推荐
-
6种可持续资源助力数据中心
为了降低能源成本、减少对化石燃料的依赖以及实现绿色倡议,至关重要的做法是转为使用清洁能源资源。现在有很多可持续 […]
-
微软推出量子芯片Majorana 1助力未来发展
微软宣称量子计算取得突破,使其可能在未来构建系统,以帮助开发药物、应对困难的环境挑战,以及为建筑和制造创造材料 […]
-
CPU、GPU和DPU之间有什么区别?
在计算中,处理器通常是指中央处理单元(CPU)。CPU是无处不在的处理器,但它并不是数据中心唯一可用的处理单元 […]
-
VMware替代供应商将2025视为重要的一年
今年,大量虚拟化供应商将试图争夺VMware企业客户,随着Broadcom对VMware采取措施,VMware […]