信頼性の柱についての原則

クラウド内で信頼性の高いアプリケーションを構築することは、従来のアプリケーション開発とは異なります。 これまでは、アプリケーション プラットフォーム全体で障害が発生する可能性を最小限に抑えるために、数レベルの冗長なよりハイエンドのハードウェアを購入していたかもしれませんが、クラウドでは、障害が発生することを事前に確認します。 目標は、障害がまったく発生しないように努力することではなく、障害が発生した単一コンポーネントの影響を最小限に抑えることです。

アプリケーション フレームワーク

これらの重要な原則は、Azure にデプロイされたアプリケーションの信頼性を評価するためにレンズとして使用されます。 これらは、次のようなアプリケーション評価に関する質問のためのフレームワークを提供します。

Microsoft Azure Well-Architected Framework に含まれている原則を使用してワークロードを評価するには、「Microsoft Azure Well-Architected のレビュー」を参照してください。

  • 可用性と回復のターゲットを定義してテストする - サービス レベル アグリーメント (SLA) やサービス レベル目標 (SLO) などの可用性のターゲットおよび目標復旧時間 (RTO)、回復ポイントの目標 (RPO) などの回復のターゲットは、アプリケーションの信頼性をビジネス要件と整合させるために、定義およびテストする必要があります。

  • 障害に対する耐性のあるアプリケーションを設計する - 回復力のあるアプリケーション アーキテクチャは、定義された信頼性のターゲットに合わせてエラーから正常に回復できるように設計する必要があります。

  • 対象リージョンで必要な容量およびサービスを利用できることを確認する - Azure のサービスと容量はリージョンによって異なる場合があるため、ターゲット リージョンが必要な機能を提供するかどうかを理解することが重要です。

  • ディザスター リカバリーを計画する - ディザスター リカバリーは、致命的な損失の発生時にアプリケーション機能を復元するプロセスです。 アプリケーションによっては、一定期間、使用できなくなるか、または機能の制限がありながら部分的に使用できることが許容される場合がありますが、機能の制限が一切許容されない場合もあります。

  • 信頼性要件を満たすようにアプリケーション プラットフォームを設計する - アプリケーション プラットフォームの回復性と可用性の設計は、アプリケーション全体の信頼性を確保するために不可欠です。

  • 信頼性要件を満たすようにデータ プラットフォームを設計する - データ プラットフォームの回復性と可用性の設計は、アプリケーション全体の信頼性を確保するために不可欠です。

  • エラーから回復する - 回復力のあるアプリケーションは、最新のクラウド アプリケーションのコード パターンを活用して、エラーから自動的に回復できる必要があります。

  • ネットワークと接続が信頼性の要件を満たしていることを確認する - 潜在的なネットワークのボトルネックや障害発生点を特定して軽減することで、回復力があるアプリケーション コンポーネントが通信できる信頼性と拡張性の高い基盤がサポートされます。

  • スケーラビリティとパフォーマンスの信頼性を確保する - 回復力のあるアプリケーションは、負荷の変化に応じて自動的に拡張し、アプリケーションの可用性を維持し、パフォーマンス要件を満たす必要があります。

  • セキュリティ関連のリスクに対処する - セキュリティ関連のリスクを特定し対処することは、予期しないセキュリティの露出によって発生するアプリケーションのダウンタイムとデータ損失を最小限に抑えるのに役立ちます。

  • 運用プロセスを定義、自動化、テストする - ロールフォワードやロールバックなどのアプリケーション デプロイの運用プロセスを定義し、十分に自動化し、テストして、信頼性ターゲットとの連携を確保する必要があります。

  • フォールト トレランスをテストする - 定義された信頼性ターゲットに対して信頼性を検証するために、アプリケーション ワークロードをテストする必要があります。

  • アプリケーションの正常性を監視して測定する - アプリケーションの可用性の監視と測定は、アプリケーションの全体的な正常性と、定義された信頼性ターゲットに対する進行状況を限定するために不可欠です。

次のステップ