OPS05-BP08 複数の環境を使用する - AWS Well-Architected Framework

OPS05-BP08 複数の環境を使用する

ワークロードの実験、開発、テストを行うには、複数の環境を使用します。環境が本稼働環境に近づくにつれて増加するコントロールレベルを使用して、デプロイ時にワークロードが意図したとおりに運用するように確信を強化します。

一般的なアンチパターン:

  • あなたは、共有開発環境で開発を実行しており、別の開発者があなたのコードの変更を上書きします。

  • 共有開発環境の制限的なセキュリティ制御により、あなたは新しいサービスや機能を試すことができません。

  • あなたは本稼働用システムで負荷テストを実行し、ユーザーの機能停止を引き起こします。

  • データ損失につながる重大なエラーが本稼働環境で発生しました。あなたは、データ損失がどのように発生したかを特定し、これを再び発生させないようにするため、本稼働環境において、データ損失につながる条件を再現しようとします。テスト中のさらなるデータ損失を防ぐため、あなたは、ユーザーがアプリケーションを使用できないようにすることを強制されます。

  • あなたは、マルチテナントサービスを運用しており、専用環境に対する顧客のリクエストをサポートできません。

  • あなたは常にテストするわけではありませんが、テストする場合は本稼働環境で行います。

  • あなたは、単一環境というシンプルさが、環境内での変更の影響範囲に勝ると考えています。

このベストプラクティスを活用するメリット: 複数の環境をデプロイすることで、開発者やユーザーコミュニティ間で競合を生じさせることなく、複数の同時開発、テスト、本稼働環境をサポートできます。

このベストプラクティスを活用しない場合のリスクレベル: ミディアム

実装のガイダンス

  • 複数の環境を使用する: 開発者が実験できるように、最小のコントロールのサンドボックス環境を提供します。連携できるように個々の開発環境を提供し、開発の俊敏性を増します。開発者がイノベーションを試せるように、本番に近い環境でより厳格なコントロールを実装します。コードとしてインフラストラクチャを使用したり、構成管理システムを使用したりして本番環境に存在するコントロールに準拠して設定された環境をデプロイし、システムがデプロイ時に予想どおりに動作することを確認します。環境を使用しない場合は、オフにして、アイドル状態のリソース (夜間や週末の開発システムなど) に関連するコストを避けることができます。ロードテストで妥当な結果を有効にする場合、本番に相当する環境をデプロイします。

リソース

関連するドキュメント: