此內容已過時。這個版本的 Well-Architected 框架現在可以在以下位置找到: https://docs.aws.amazon.com/zh_tw/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 (或受信任的第三方) 來定義您的基礎設施,您可以使用版本控制軟體對變更進行版本控制和追蹤。
  • 將功能測試整合為部署的一部分

  • 將功能測試整合為部署的一部分: 功能測試會作為自動化部署的一部分執行。如果未符合成功條件,則會終止或回復管道。
  • 將彈性測試整合為部署的一部分

  • 將彈性測試整合為部署的一部分: 使用混沌工程,這是對工作負載進行實驗的專業領域,以建立可承受生產環境中的動盪條件能力的可信度。
  • 使用不可變基礎設施進行部署

  • 使用不可變基礎設施進行部署: 使用不可變基礎設施方法進行部署,例如 Blue/Green 或 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