此内容已过时。此版本的架构完善的框架现在可在以下位置找到: https://docs.aws.amazon.com/zh_cn/wellarchitected/2022-03-31/framework/reliability.html

REL 8: 如何实施更改?

要部署新功能,必须对更改加以控制,以确保工作负载和操作环境正在运行已知的软件,并以可预测的方式进行修补和替换。如果此类更改不受控制,您将难以预测这些更改的影响,或难以处理由它们引发的问题。

资源

AWS Summit 2019: CI/CD on AWS
What Is AWS CodePipeline?
What Is CodeDeploy?
Overview of a Blue/Green Deployment
Deploying Serverless Applications Gradually
The Amazon Builders' Library: Ensuring rollback safety during deployments
The Amazon Builders' Library: Going faster with continuous delivery
Well-Architected lab: Level 300: Testing for Resiliency of EC2 RDS and S3
CanaryRelease
AWS Marketplace: products that can be used to automate your deployments
APN Partner: partners that can help you create automated deployment solutions

最佳实践:

改进计划

对部署等标准活动使用运行手册

  • 通过在运行手册中记录程序,实现对为人熟知的事件的一致且及时的响应。
    AWS Well-Architected Framework: Concepts: Runbook
  • 使用基础设施即代码的原则定义您的基础设施: 通过使用 AWS CloudFormation(或受信任的第三方)来定义您的基础设施,您可以使用版本控制软件管理并跟踪更改。
  • 将功能测试作为部署的一部分进行集成

  • 将功能测试作为部署的一部分进行集成: 功能测试作为自动化部署的一部分运行。若未满足成功条件,则相关管道会中止或回滚。
  • 将弹性测试作为部署的一部分进行集成

  • 将弹性测试作为部署的一部分进行集成: 混沌工程是对工作负载进行试验的规范,借此可以建立人们对工作负载能够在生产中经受住混乱情形的信心。
  • 使用不可变基础设施部署

  • 使用不可变基础设施部署: 使用不可改变基础设施方式部署,例如蓝/绿部署或 Canary 部署
    Overview of a Blue/Green Deployment
    Deploying Serverless Applications Gradually
    CanaryRelease
  • 使用自动化功能部署更改

  • 实现部署管道的自动化: 借助部署管道,您可以调用自动化测试和异常检测,并且能够在生产部署前的某个步骤停止管道,或自动回滚更改。
    The Amazon Builders' Library: Ensuring rollback safety during deployments
    The Amazon Builders' Library: Going faster with continuous delivery