翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
トレードオフとリスクを理解する
回復力のあるアーキテクチャでは、障害に対応するために、十分にテストされ、シンプルで信頼性の高いメカニズムを数多く使用する必要があります。最高レベルの耐障害性を実現するには、ワークロードが可能な限り多くの障害モードを自動的に検出して復旧する必要があります。これを行うには、レジリエンス分析の実行に広範な投資が必要です。つまり、より高いレベルのレジリエンスを実現するには、トレードオフが必要です。ただし、トレードオフを続けると、レジリエンス目標と比較して収益が減少する時点に達します。最も一般的なトレードオフは次のとおりです。
-
コスト — 冗長コンポーネント、オブザーバビリティの強化、追加のツール、またはリソース使用率の増加により、コストが増加します。
-
システムの複雑さ — 緩和ソリューションなどの障害モードを検出して対応し、マネージドサービスを使用しない場合、システムの複雑さが増します。
-
エンジニアリング作業 — 障害モードを検出して対応するためのソリューションを構築するには、追加の開発者時間が必要です。
-
運用オーバーヘッド — より多くの障害モードを処理するシステムをモニタリングして運用すると、特にマネージドサービスを使用して特定の障害モードを軽減できない場合に、運用オーバーヘッドが発生する可能性があります。
-
レイテンシーと一貫性 — 可用性を優先する分散システムを構築するには、PACELC 定理
で説明されているように、一貫性とレイテンシーのトレードオフが必要です。
ユーザーストーリーで特定された障害モードの緩和策を検討する際には、必要なトレードオフを検討してください。セキュリティと同様に、レジリエンスは最適化の問題です。特定された障害によってもたらされるリスクを回避、軽減、転送、または受け入れるかどうかを決定する必要があります。回避できる障害モード、受け入れるセット、転送できる障害モードがいくつかあります。特定した障害モードの多くを軽減することもできます。実行するアプローチを決定するには、次の 2 つの質問をして評価を実行します。障害が発生する可能性はどれくらいですか? ワークロードが発生した場合は、どのような影響がありますか?
ライライフは、イベントが発生することに対する懸念です。例えば、ユーザーストーリーに単一の Amazon Elastic Compute Cloud (Amazon EC2) インスタンスで動作するコンポーネントがある場合、パッチ適用手順やオペレーティングシステムエラーなどが原因で、システムのオペレーション中にコンポーネントが中断される可能性があります。または、プライマリインスタンスとセカンダリインスタンス間でデータを同期する Amazon Relational Database Service (Amazon RDS) によって管理されるデータベースは、完全に使用できなくなる可能性が低くなります。
影響は、イベントが引き起こす可能性のある悪影響の推定値です。これは、財務的および評判的の両方の観点から評価される必要があり、それが影響するユーザーストーリーの価値を基準にしています。例えば、処理負荷の高いデータベースは、e コマースシステムの新しい注文を受け入れる能力に大きな影響を与える可能性があります。ただし、ロードバランサーの背後にある 20 個のインスタンスのフリートから 1 つのインスタンスが失われても、ほとんど影響がない可能性があります。
これらの質問に対する回答を、リスクを軽減するために実行する必要があるトレードオフのコストと比較できます。この情報をリスクしきい値と耐障害性目標の観点から考慮すると、どの障害モードを積極的に緩和するかを決定するのに役立ちます。