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
  • Infrastructure as Code の原則を適用してインフラストラクチャを定義する: 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