什么是基础设施自动化?

一男一女在数据中心一起工作,办公桌前有两台电脑显示器,上面显示着一行行代码。

作者

Derek Robertson

Staff Writer

IBM Think

Annie Badman

Staff Writer

IBM Think

什么是基础设施自动化?

基础设施自动化使企业能够自动执行资源调配、配置及管理诸如服务器容器云基础设施等 IT 资源,方法是通过代码与自动化工作流取代人工操作。

现代 IT 环境越来越复杂,跨越多个数据中心云供应商和混合架构。过去仅在少数服务器上运行的工作负载,如今已发展为跨地域分布的数千个微服务与容器集群。

若采用人工管理基础设施(包括单独配置服务器、用电子表格跟踪依赖关系、逐台部署系统更新),可能导致数周的工作延误、高错误率以及部署时机的错失。

基础设施自动化通过用代码驱动、可重复和自动化的工作流程取代手动配置,从而简化了这一过程。组织无需等待数周进行手动部署,即可在几分钟内调配整个环境。这种方法提高了可靠性、减少了配置错误,并实现了按需可扩展性。

例如,为应对“黑色星期五”需跨云区域手动部署微服务应用时,企业可能需要耗费数周时间进行服务器资源调配、负载均衡器配置以及跨区域网络连接的建立。借助 IT 基础设施自动化工具,同样的部署只需几分钟即可完成。

基础设施自动化还支持开发运维 (DevOps) 实践,包括持续整合和持续交付 (CI/CD) 管道、容器编排和基础设施即代码 (IaC)

基础设施自动化是如何工作的?

基础设施自动化通过三个核心功能运行:基础设施调配、配置管理和工作流编排。

真正的自动化需要在所有这些功能中实现集中可视化、标准化控制和管理规范,以帮助确保大规模操作的一致性和安全性。

虽然基础设施自动化工具可以执行这些功能,但没有一个工具可以处理所有功能。相反,各组织构建端到端自动化工具链,其中不同的工具处理基础设施生命周期的不同阶段。

例如,典型的基础设施自动化管道可能会使用:

  • 运用 Terraform 可实现服务器等基础设施的资源调配、集中化管控、标准化配置与统一运维。

  • Ansible 用于配置基础设施,例如安装软件和为服务器设置安全策略。

  • Kubernetes 用于编排运行在这些服务器上的容器。

  • Jenkins 用于自动执行和协调整个工作流。

供应

调配功能可根据预定义的模板自动创建和部署新的 IT 基础设施组件。当应用程序需要新服务器时,自动化工具可以立即调配虚拟机,配置网络,设置存储空间并建立安全组。人工完成这些任务可能需要数小时,而且还存在人为错误的风险。

例如,软件开发团队可以使用一条命令来调配整个测试环境(通常包括 10-20 台服务器、负载均衡器、数据库、应用程序服务器和网络组件),从而完全复制生产配置。

自动化调配流程通常具有幂等性,这意味着它们可以安全地多次运行,而不会改变系统超出预期的状态。

常见的调配工具包括:

  • Terraform 是 HashiCorp 的基础设施即代码平台,可在混合云和多云环境中运行,例如 Amazon Web Services (AWS)、Google Cloud、Microsoft Azure 和本地部署环境。

  • AWS CloudFormation 用于原生 AWS 调配。

  • Docker 用于构建容器镜像,然后可以通过 Kubernetes 等编排工具进行部署。

  • Pulumi,允许开发人员使用 Python、JavaScript 或 Go 等通用编程语言定义基础设施。

配置管理

配置管理有助于确保资源在其整个生命周期中保持一致的设置。

基础设施自动化工具可以在所有系统中统一应用更新、补丁和配置更改,从而防止管理员对单个服务器进行手动更改时可能出现的配置漂移。这些配置通常以 YAML、JSON 或其他声明性格式定义。

例如,当发布关键安全补丁时,配置管理工具可以在数小时内将其自动应用到成千上万台服务器上,从而确保没有系统处于易受攻击的状态。这种一致性在受监管行业尤为重要,因为配置漂移可能导致合规性违规。

常见的配置工具包括:

  • Ansible 使用 YAML 运行手册和可重用模块实现无智能体自动化。

  • Puppet 是一款开源的声明式配置工具。

  • Chef 使用基于“代码模板”(recipe) 的自动化方法。

工作流程编排

编排在大规模自动化流程中进行协调,管理复杂多云环境中的依赖关系和工作流程。在部署微服务应用程序时,编排有助于确保在应用程序服务器之前调配数据库,在实例准备就绪之后配置负载均衡器,并在服务运行之后建立监控。

例如,编排工具可以在 Kubernetes 簇中实时优化和管理滚动更新。这些工具可以通过逐步用新版本替换旧容器来确保零停机时间,同时保持服务的可用性。对于提供 24x7 服务的组织而言,尽量减少停机时间尤为重要,因为停机可能导致收入损失。

尽管大多数容器工作负载仍然在 Linux 上运行,常见的编排工具包括:

  • Nomad 是 HashiCorp 提供的一款工作负载编排工具,用于管理所有环境中的容器、二进制文件和虚拟机。

  • Kubernetes 是领先的开源容器编排平台,可规模化管理容器化应用程序。

  • Google Kubernetes Engine (GKE),即 Google Cloud 的托管 Kubernetes 服务。

  • Red Hat Ansible Automation Platform,是一个将配置管理扩展到企业级编排的平台。

  • IBM Concert,一个由人工智能驱动的应用程序编排和管理平台。

端到端应用程序生命周期自动化

通过结合调配、配置和编排工具,组织可以实现完整的应用程序生命周期自动化。系统按需自动调配、按目标状态持续维护,并依据使用模式、业务需求或服务终止机制自动退役。

这种方法代表了基础设施生命周期管理的更广泛模式,它将自动化扩展到初始部署之外,包括持续监控、优化和可控退役。它有助于确保基础设施在其整个生命周期内保持安全、经济高效并符合组织政策。

管理规范和开发者自助服务

有效的自动化取决于控制力和可见性。为了安全地扩展自动化,组织会实施管理规范,定义哪些资源可以创建、如何配置以及在何种条件下可以更改。使用策略即代码,这些规则直接编码到工作流中,从而允许在应用基础设施变更之前自动运行合规性和监管检查。

有了这些管理规范,开发者的自助服务就成为可能。团队可以自主按需部署已批准的环境和资源,无需等待人工审核,同时仍在安全和合规的范围内运行。这种速度与控制的平衡可帮助组织扩展自动化规模,同时保持治理与信任。

Mixture of Experts | 12 月 12 日,第 85 集

解码 AI:每周新闻摘要

加入我们世界级的专家小组——工程师、研究人员、产品负责人等将为您甄别 AI 领域的真知灼见,带来最新的 AI 资讯与深度解析。

基础设施自动化的优点

基础设施自动化可以帮助组织加快创新和应用交付、增强安全性与治理,并优化云端运营。总而言之,这些优势有助于确保企业实现最大的 IT 投资回报。

通过用一致的代码驱动工作流取代手动工作,基础设施自动化有助于提高可靠性、降低风险并在日益复杂的混合环境中保持合规。

配置一致性

手动流程可能引入人为错误,尤其是在 IT 基础设施中,其包含众多复杂且相互关联的流程,从服务器配置和网络设置到负载均衡器配置、访问控制和备份管理。Gartner 的数据显示,67% 的企业网络活动仍需手动完成。1

自动化可以通过消除手动输入错误和通过模板强制执行标准化的一致配置来减少错误。

例如,手动配置防火墙时的一个拼写错误就可能使整个网络面临安全威胁。自动化基础设施工具在开发和暂存环境中应用经过预先测试和版本控制的配置。

优化基础设施成本

对于许多组织而言,基础设施成本是 IT 预算中最大的支出项目之一。基础设施自动化通过自动化调配工作流,利用内置的云扩展功能,使环境能够随着需求的波动快速高效地扩展,从而帮助优化成本。

有效的自动化并非仅仅依靠自动扩展,而是引入了管理规范和可见性,从而帮助团队防止创建不必要或过于昂贵的基础设施。通过集中管理和策略执行,组织可以识别和消除闲置资源,调整环境规模,并使支出与实际需求保持一致。

例如,自动化工具可以监控云服务器的使用情况,并在需求较低时减少服务器配置,然后在需求增加时(例如在促销或特别活动期间)快速调配新服务器。

简化混合云运营

如今,组织管理着分布式生态系统,涵盖本地部署、云和混合云环境。

基础设施自动化通过几乎即时部署和配置资源,帮助在这些多样化且常为多云环境的场景中实现统一管理。无论使用数据中心、云服务器还是任何组合,组织都可以保持灵活性。

例如,组织可以使用相同的配置文件,在 AWS、Azure 和本地部署服务器上部署相同的应用程序堆栈。这一能力有助于确保开发人员和平台团队的操作一致性,同时保持根据成本、性能或合规性要求调整工作负载的灵活性。

通过标准化自动化工作流程并创建跨云一致性,组织可以在不损害安全性或控制力的情况下更快地交付。

加强安全和治理

自动化还可以通过强制执行策略和减少配置漂移或人为错误的可能性来加强安全状况。安全控制、访问策略和合规性要求可以被编码到自动化工作流程中,从而帮助确保它们在所有系统中得到一致应用。这种方法最大限度地减少了面临威胁的风险,并有助于保持对内部标准和外部法规的遵守。

通过控制实现自助服务

有效的基础设施自动化支持开发人员自助服务,使团队能够部署和管理已批准的环境,而无需深厚的基础设施专业知识。通过建立预配置模板和受治理的工作流,平台团队充当生产者,定义消费者(例如应用程序开发者)可以放心使用的安全模式。此模型可加快交付速度,同时保持一致性、合规性以及与组织最佳实践的保持一致。

集中配置管理

如果没有自动化,基础设施配置通常分散在手动脚本、GitHub 文档和各个服务器设置中,这会造成维护方面的挑战和漏洞

基础设施自动化工具为所有基础设施配置创建一个中央存储库,从而建立单一可信信息源。IT 团队可以在故障后进行恢复,并缩短平均恢复时间 (MTTR)

例如,当要在数百台服务器上修补安全漏洞需时,团队可以更新一个配置文件并自动将更改传播到所有环境中,而不是手动更新每台服务器。

基础设施自动化与 IT 自动化

基础设施自动化是 IT 自动化的一个组成部分,IT 自动化是一个更广泛的领域,涉及整个组织内所有技术流程的自动化。

基础设施自动化专注于基础技术层。它自动管理服务器、网络、存储空间和操作系统,处理诸如调配虚拟机、应用补丁、监控性能和保持一致性等任务。例如,当需求增加时自动启动新服务器的脚本,就是基础设施自动化的一个示例。

IT 自动化涵盖整个组织的所有自动化技术流程:基础设施自动化加上业务流程、数据工作流和应用程序级任务。例如,自动化员工入职流程、发票处理或客户数据同步,代表了 IT 自动化的更广泛范畴。

可以这样理解:基础设施自动化维护技术基础,而 IT 自动化则将自动化扩展到组织内的每一个数字化流程。自动管理服务器是基础设施自动化的一个例子,而人力资源流程和财务报告自动化则是 IT 自动化的一个例子。

基础设施自动化与基础设施即代码

基础设施即代码 (IaC) 通过代码管理 IT 基础设施,而基础设施自动化是通过代码、脚本或其他工具实现 IT 基础设施管理自动化的更广泛实践。与单一任务脚本不同,基础设施自动化可协调整个环境中的多个流程。

IaC 使用代码来调配 IT 基础设施。代码通常存储在 GitHub、GitLab 或 Bitbucket 等源代码存储库中。

IaC 非常适合特定用例,例如服务器调配和管理配置。更复杂的工作流程通常需要像 Jenkins 这样的 CI/CD 平台,将基础设施配置与 Terraform 或 Ansible 等基础设施即代码 (IaC) 工具协调起来。

基础设施自动化和 DevOps

基础设施自动化能够实现快速、可靠的基础设施部署,这是 DevOps 的一个关键原则。

自动化功能可以以最小的风险在环境之间进行测试和移动。基础设施自动化工具和流程还可以更轻松地维护整个网络中所做更改的完整审计跟踪,使团队能够根据需要扩展、回滚或还原更改。

自动化性能测试还可以帮助开发运维 (DevOps) 团队提高代码质量并及早发现问题。随着组织采用 DevSecOps 实践,基础设施自动化可以帮助强制执行安全策略、管理访问控制、应用补丁,并帮助确保代码在 CI/CD 管道中通过安全检查。

基础设施自动化和 AI

人工智能 (AI) 正在通过自我修复系统、智能资源优化和预测性故障预防来改变基础设施自动化。

IDC 调研数据显示,45% 的企业领导者计划因智能体式 AI(即具备一定自主任务执行能力的人工智能系统)而加强基础设施自动化建设。2

AI 系统开始协助完成以前需要人工判断的任务,例如优化流量高峰期间的资源分配,或通过日志分析确定根本原因。这种辅助效果完全取决于 AI 系统决策时所依据的数据质量。IaC 有助于在组织的整个混合资产中构建统一数据层,从而为 AI 引擎提供核心驱动力。

虽然人工监督仍然至关重要,AI 可以通过以下三个关键方式增强基础设施自动化:

  • 预测性分析可以通过分析指标、日志和系统行为中的模式,在潜在故障发生之前识别出这些故障。

  • 智能自动扩缩容不仅基于阈值规则,更综合考量成本优化、性能要求及历史使用模式等多重因素。

  • 自动的根本原因分析可通过复杂的微服务依赖关系在几分钟内跟踪问题,而不再是几小时。

随着人工智能日益融入基础设施运营,它通过提升 IaC 的适应性和环境感知能力,进一步放大了其价值。人工智能无需依赖预定义的规则,即可解读来自连接的基础设施模型和数据集的实时信号,从而指导自动化决策:动态地调整扩展阈值、优化部署位置、解决问题或执行策略。

AI 与编码基础设施的融合为智能自主系统奠定了基础,这些系统能够持续评估和提高混合环境下的可靠性、效率和性能。

相关解决方案
IBM Terraform

IBM® Terraform 为组织提供统一工作流,用于配置云、私有数据中心与 SaaS 基础设施,并在全生命周期内持续进行管理。

深入了解 IBM Terraform
自动化解决方案

利用 AI 和基础设施即代码 (IaC),实现跨混合云环境的配置、网络、身份治理和应用工作流的自动化。

探索自动化解决方案
云咨询服务

在智能体 AI 时代,释放混合云的全部潜能。

深入了解我们的云咨询服务
采取后续步骤

了解 IBM Terraform 与 IT 自动化解决方案如何融合自动化与实时可观测性,以提升弹性并加速业务增长。

  1. 了解 IBM Terraform
  2. 了解自动化解决方案