将变更流程自动化,同时进行管控

Last reviewed 2026-10-28 UTC

Google Cloud Well-Architected Framework 卓越运营核心中的这一原则提供了相关建议,可帮助您自动执行和管理云工作负载的变更。它涉及实现基础设施即代码 (IaC)、建立标准操作程序、实现结构化变更管理流程以及使用自动化和编排。

原则概览

变更管理和自动化在确保云环境内平稳且受控的转换方面发挥着至关重要的作用。为了实现有效的变更管理,您需要使用可最大限度减少中断并确保变更与现有系统无缝集成的策略和最佳实践。

有效的变更管理和自动化包括以下基本要素:

  • 变更治理:为变更管理建立明确的政策和流程,包括审批流程和沟通计划。
  • 风险评估:识别与变更相关的潜在风险,并通过风险管理技术缓解这些风险。
  • 测试和验证:全面测试更改,确保其满足功能和性能要求,并缓解潜在的回归问题。
  • 受控部署:以受控方式实施更改,确保用户无缝过渡到新环境,并提供在需要时无缝回滚的机制。

这些基础元素有助于最大限度地减少变更的影响,并确保变更对经营活动产生积极影响。这些要素由运营就绪情况的流程、工具和治理重点领域表示。

建议

如需自动执行和管理更改,请考虑以下各部分中的建议。本文档中的每项建议都与一个或多个运营就绪重点领域相关。

采用 IaC

基础设施即代码 (IaC) 是一种管理云基础设施的变革性方法。您可以使用 Terraform 等工具以声明方式定义和管理云基础设施。IaC 可帮助您实现一致性、可重复性和简化的变更管理。它还支持更快、更可靠的部署。此建议与以下运营准备情况重点领域相关:流程和工具。

以下是为云部署采用 IaC 方法的主要优势:

  • 人类可读的资源配置:借助 IaC 方法,您可以使用人类可读的格式(例如 JSON 或 YAML)声明云基础设施资源。基础架构管理员和运维人员可以轻松了解和修改基础架构,并与他人协作。
  • 一致性和可重复性:IaC 可在基础设施部署中实现一致性和可重复性。您可以确保每次都以相同的方式预配和配置基础设施,无论由谁执行部署。这种方法有助于减少错误,并确保您的基础设施始终处于已知状态。
  • 问责制和简化的排查流程:IaC 方法有助于改进问责制,并更轻松地排查问题。通过将 IaC 代码存储在版本控制系统中,您可以跟踪更改,并确定更改的时间和更改者。如有必要,您可以轻松回滚到先前的版本。

实现版本控制

Git 等版本控制系统是 IaC 流程的关键组成部分。它提供强大的变更管理和风险缓解功能,因此无论是通过内部开发还是 SaaS 解决方案,都得到了广泛采用。此建议与以下运营就绪重点领域相关:治理和工具。

通过跟踪对 IaC 代码和配置的更改,版本控制可让您了解代码的演变,从而更轻松地了解更改的影响并发现潜在问题。这种增强的可见性可促进处理同一 IaC 项目的团队成员之间的协作。

大多数版本控制系统都允许您在需要时轻松回滚更改。此功能有助于降低意外后果或错误的风险。通过在 IaC 工作流中使用 Git 等工具,您可以显著改进变更管理流程、促进协作并降低风险,从而实现更高效、更可靠的 IaC 实施。

构建 CI/CD 流水线

持续集成和持续交付 (CI/CD) 流水线可简化云应用的开发和部署流程。CI/CD 流水线可自动执行构建、测试和部署阶段,从而实现更快、更频繁的发布,并改进质量控制。此建议与运营就绪情况的工具重点领域相关。

CI/CD 流水线可确保代码更改持续集成到中央存储库(通常是 Git 等版本控制系统)。持续集成有助于及早发现和解决问题,并降低出现 bug 或兼容性问题的可能性。

如需为云应用创建和管理 CI/CD 流水线,您可以使用 Cloud Build 和 Cloud Deploy 等工具。

  • Cloud Build 是一项全托管式构建服务,可让开发者以声明式方式定义和执行构建步骤。它可与常用的源代码管理平台无缝集成,并可由代码推送和拉取请求等事件触发。
  • Cloud Deploy 是一项无服务器部署服务,可自动将应用部署到各种环境(例如测试、预演和生产环境)。它提供蓝绿部署、流量分配和回滚功能等功能,使您可以更轻松地管理和监控应用部署。

将 CI/CD 流水线与版本控制系统和测试框架集成,有助于确保云应用的质量和可靠性。通过在 CI/CD 流程中运行自动化测试,开发团队可以在将代码部署到生产环境之前快速识别并修复任何问题。这种集成有助于提高云应用的整体稳定性和性能。

使用配置管理工具

借助 Puppet、Chef、Ansible 和虚拟机管理器等工具,您可以自动执行云资源的配置和管理。使用这些工具,您可以确保云环境中的资源一致性和合规性。此建议与运营就绪情况的工具重点领域相关。

自动配置和管理云资源具有以下优势:

  • 显著降低手动错误的风险:如果涉及手动流程,则由于人为错误而导致错误的可能性更高。配置管理工具通过自动化流程降低了这种风险,从而在所有云资源中一致且准确地应用配置。这种自动化可以提高云环境的可靠性和稳定性。
  • 提高运营效率:通过自动执行重复性任务,您的组织可以解放 IT 员工,让他们专注于更具战略意义的计划。这种自动化可以提高工作效率、节省成本,并提高对不断变化的业务需求的响应能力。
  • 简化复杂云基础设施的管理:随着云环境的规模和复杂性不断增加,管理资源可能会变得越来越困难。配置管理工具提供了一个用于管理云资源的集中式平台。这些工具可让您更轻松地跟踪配置、发现问题和实施更改。使用这些工具可以提高云环境的可见性、控制力和安全性。

自动执行测试

将自动化测试集成到 CI/CD 流水线中有助于确保云应用的质量和可靠性。通过在部署前验证更改,您可以显著降低错误和回归的风险,从而打造更稳定、更强大的软件系统。此建议与以下运营就绪重点领域相关:流程和工具。

以下是将自动化测试纳入 CI/CD 流水线的主要好处:

  • 尽早检测 bug 和缺陷:自动化测试有助于在开发流程的早期检测 bug 和缺陷,以免它们在生产环境中造成重大问题。此功能可避免在开发流程的后期阶段进行代价高昂的返工和 bug 修复,从而节省时间和资源。
  • 高质量和基于标准的代码:自动化测试可确保代码符合特定标准和最佳实践,从而有助于提高代码的整体质量。此功能可提高应用的可维护性和可靠性,降低出错率。

您可以在 CI/CD 流水线中使用各种类型的测试技术。每种测试类型都有特定的用途。

  • 单元测试侧重于测试各个代码单元(例如函数或方法),以确保它们按预期运行。
  • 集成测试用于测试应用的不同组件或模块之间的交互,以验证它们是否能正常协同工作。
  • 端到端测试通常与单元测试和集成测试一起使用。端到端测试模拟真实场景,对应用进行整体测试,有助于确保应用满足最终用户的要求。

为了将自动化测试有效集成到 CI/CD 流水线中,您必须选择合适的测试工具和框架。有许多不同的选项,每个选项都有自己的优缺点。您还必须制定明确的测试策略,其中应概述要执行的测试类型、测试频率以及测试通过或失败的标准。遵循这些建议,您可以确保自动化测试流程高效且有效。这样的流程可让您深入了解云应用的质量和可靠性。