登录 / 注册 Account

自动化

什么是基础架构即代码(IaC)?

基础架构即代码(IaC)是通过代码(而非手动流程)来管理和置备基础架构的方法。

利用 IaC,我们可以创建包含基础架构规范的配置文件,从而便于编辑和分发配置。此外,它还可确保每次置备的环境都完全相同。

通过对配置规范进行整理和记录,IaC 有助于实现配置管理,并避免发生未记录的临时配置更改。

版本控制是 IaC 的一个重要组成部分,就像其他任何软件源代码文件一样,配置文件也应该在源代码控制之下。 

以基础架构即代码方式部署还意味着您可以将基础架构划分为若干模块化组件,它们可通过自动化以不同的方式进行组合。

 

借助 IaC 实现基础架构置备的自动化,意味着开发人员无需再在每次开发或部署应用时手动置备和管理服务器、操作系统、存储及其他基础架构组件。 

对基础架构编码即可创建一个置备用的模板,尽管置备过程仍然可以手动完成,但也可以由自动化工具(例如红帽® Ansible 自动化® 平台)为您代劳。 

借助 Ansible 自动化平台,可以使用 playbook 来描述所需的基础架构状态,然后即可利用该工具来置备相应的基础架构。您也可以使用 Ansible 自动化平台进行配置管理,以便让系统保持所需的状态。

 

IaC 的声明式方法与命令式方法

IaC 有两种实施方法:声明式或命令式。 

声明式方法定义了系统的预期状态,包括所需的资源以及它们应具有的属性,随后 IaC 工具会为您进行相关配置。 

声明式方法还将保留系统对象的当前状态列表,因此在移除基础架构时会更便于管理。

另一方面,命令式方法则定义了实现预期配置所需的特定命令,最后需要以正确的顺序执行这些命令。 

许多 IaC 工具都使用声明式方法,并会自动置备所需的基础架构。如果您更改了预期状态,则声明式 IaC 工具会为您应用这些更改。命令式工具则需要您确定该如何应用这些更改。

IaC 工具通常在两种方法中都能用,但往往更倾向于其中一种方法。

 

IaC 的优势

置备基础架构历来是一个耗时且成本高昂的手动过程。现在,基础架构管理已经从数据中心内的物理硬件(尽管它仍可能是企业的一个组成部分)转移到了虚拟化容器云计算。 

随着云计算的发展,基础架构组件的数量也在不断增加,每天都有更多的应用发布到生产环境中,而且基础架构本身也要被不断地使用、扩展和移除。如果没有相应的 IaC 实践,那么管理现今这样大规模的基础架构会变得越来越困难。

IaC 可以帮助您的企业管理 IT 基础架构需求,同时提高一致性并减少错误和手动配置。

优势:

  • 降低成本
  • 加快部署速度
  • 减少错误
  • 提高基础架构一致性
  • 消除配置偏移
  • IaC 工具示例

服务器自动化和配置管理工具通常可以用来实现 IaC。当然,也有一些专门针对 IaC 的解决方案。 

一些常见的方案如下:

  • Chef
  • Puppet
  • 红帽 Ansible 自动化平台
  • Saltstack
  • Terraform
  • AWS CloudFormation

了解如何使用 Ansible 来置备操作系统和网络设备、部署应用以及管理配置。

 

为什么说 IaC 对于 DevOps 至关重要?

IaC 是实施 DevOps 实践和持续集成/持续交付( CI/CD)的一个重要组成部分。IaC 免除了开发人员的大部分置备工作,他们只需要执行一个脚本即可让基础架构准备就绪。  

如此一来,应用部署就不必再等待基础架构,而系统管理员也不用管理耗时的手动流程。 

CI/CD 离不开贯穿应用整个生命周期(从集成和测试阶段,到交付和部署)的持续自动化和持续监控。 

环境要实现自动化,需要保持一致。如果开发团队以一种方式部署应用或配置环境,而运维团队以另一种方式部署和配置,则实现应用部署的自动化并不能发挥作用。

通过 DevOps 方法来协调开发和运维团队,可以减少错误、手动部署及不一致的情况。 

IaC 会帮助您协调开发和运维工作,因为这两个团队可以使用有关应用部署的同一描述,以支持 DevOps 方法。

每种环境(包括生产环境)都应使用相同的部署过程。每次使用 IaC 时,它都会生成相同的环境。

此外,您也无需分别维护具有独特配置(无法自动复制)的不同部署环境,从而确保了生产环境的一致性。

DevOps 最佳实践也同样适用于 IaC 中的基础架构。在软件开发期间,基础架构可采用与应用相同的 CI/CD 管道,因此可以对基础架构代码应用相同的测试和版本控制。

 

为什么选择红帽实现自动化?

通过制定企业级自动化方案,您不仅能让 IT 流程实现自动化,还能让技术、团队和企业实现全面自动化。 

红帽 Ansible 自动化平台中包含了实现企业级自动化所需的各种工具,包括 playbook、可视化控制面板和分析功能。

用 YAML 编写的 Ansible Playbook 描述了系统的理想状态,其通常保留在源代码控制中。不管您的系统当前状态如何,红帽 Ansible 自动化平台都可使其进入理想状态。 

Ansible 自动化平台使您的安装、升级和日常管理具有可重复性和可靠性。

此外,红帽 Ansible 自动化平台在 2020 年第 3 季度的“Forrester Wave™:基础架构自动化平台”中还被 Forrester Research 评为“领导者”

有了适合的自动化解决方案,您就可以更快速地部署新的应用和服务,更有效地管理 IT 基础架构,同时还可以提高应用开发效率。

您需要的自动化利器

Red Hat Ansible Automation Platform

简单、无代理的平台,可用于大规模构建 IT 自动化。通过可视化控制面板、基于职能角色的访问控制等功能,集中并控制您的 IT 基础架构。

自出心裁,释放创新动力