レジリエンスライフサイクルフレームワーク: レジリエンス向上への継続的なアプローチ - AWS 規範的ガイダンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

レジリエンスライフサイクルフレームワーク: レジリエンス向上への継続的なアプローチ

Amazon Web Services (寄稿者

2023 年 10 月 (ドキュメント履歴

今日の現代の組織は、特に顧客からの期待が常にオンで常に利用可能な考え方にシフトするにつれて、回復力に関連する課題がますます増加しています。リモートチームと複雑な分散アプリケーションは、頻繁なリリースの必要性が高まっています。そのため、組織とそのアプリケーションはこれまで以上に回復力を高める必要があります。

AWS は、インフラストラクチャ、依存サービス、設定ミス、一時的なネットワーク問題に関連する障害など、中断に耐えたり回復したりするアプリケーションの能力として回復力を定義します。( AWS 「 Well-Architected Framework Reliability Pillar ドキュメント」の「耐障害性と信頼性のコンポーネント」を参照してください。) ただし、望ましいレベルの回復性を実現するには、多くの場合、トレードオフが必要です。運用の複雑さ、エンジニアリングの複雑さ、コストは、それに応じて評価および調整する必要があります。

AWS は、顧客や社内チームとの長年の連携に基づいて、レジリエンスに関する学習とベストプラクティスを捉えたレジリエンスライフサイクルフレームワークを開発しました。このフレームワークは、次の図に示す 5 つの主要なステージの概要を示しています。各段階で、戦略、サービス、メカニズムを使用してレジリエンス体制を向上させることができます。

耐障害性ライフサイクルフレームワーク

これらのステージについては、このガイドの以下のセクションで説明します。

用語と定義

各ステージの耐障害性の概念は、個々のコンポーネントからシステム全体まで、さまざまなレベルで適用されます。これらの概念を実装するには、いくつかの用語を明確に定義する必要があります。

  • コンポーネントは、関数を実行する要素であり、ソフトウェアとテクノロジーのリソースで構成されます。コンポーネントの例には、コード設定、ネットワークなどのインフラストラクチャ、サーバー、データストア、多要素認証 (MFA) デバイスなどの外部依存関係などがあります。

  • アプリケーションは、顧客向けのウェブストアフロントや機械学習モデルを改善するバックエンドプロセスなど、ビジネス価値を提供するコンポーネントのコレクションです。アプリケーションは、1 つの AWS アカウント内のコンポーネントのサブセットで構成されている場合もあれば、複数の とリージョンにまたがる複数の AWS アカウント コンポーネントのコレクションである場合もあります。 

  • システムは、特定のビジネス機能を管理するために必要なアプリケーション、人材、プロセスの集合です。これには、関数の実行に必要なアプリケーション、継続的インテグレーションと継続的デリバリー (CI/CD)、オブザーバビリティ、設定管理、インシデント対応、ディザスタリカバリなどの運用プロセス、およびそのようなタスクを管理するオペレーターが含まれます。 

  • 中断とは、アプリケーションがビジネス機能を適切に提供できないようにするイベントです。

  • 障害とは、アプリケーションが軽減されない場合に中断がアプリケーションに与える影響です。一連の中断が発生すると、アプリケーションに障害が発生する可能性があります。

継続的な回復力

耐障害性ライフサイクルは継続的なプロセスです。同じ組織内でも、アプリケーションチームはアプリケーションの要件に応じて、各ステージ内で異なるレベルの完全性で実行できます。ただし、各ステージが完全であればあるほど、アプリケーションの耐障害性は高くなります。

レジリエンスライフサイクルは、組織が運用できる標準プロセスと考える必要があります。 は、アプリケーションの開発と運用中に、運用プロセス全体に計画、テスト、学習を組み込むことを目的として、ソフトウェア開発ライフサイクル (SDLC) に似たように AWS 意図的にモデル化しました。 多くのアジャイル開発プロセスと同様に、開発プロセスの反復ごとにレジリエンスライフサイクルを繰り返すことができます。  ライフサイクルの各段階のプラクティスを、時間の経過とともに段階的に深めることをお勧めします。