Azure アプリケーション アーキテクチャ ガイド

このガイドは、Azure においてスケーラブルで回復力がある高可用性のアプリケーションを設計するための体系化された方法を示します。 顧客エンゲージメントから学んだ実証済みのプラクティスに基づいています。

はじめに

クラウドによって、アプリケーションを設計する方法が変わりつつあります。 アプリケーションは、モノリスではなく、小さな分散サービスに分解されます。 これらのサービスは、API を介して、あるいは非同期メッセージングまたはイベントを使用して通信します。 アプリケーションは、需要に応じて新しいインスタンスを追加して水平方向に拡張します。

このような傾向により新たな課題が生まれました。 アプリケーションの状態が分散しています。 操作は並列かつ非同期的に実行されます。 障害が発生しても、システム全体としては回復力があることが必要です。 デプロイは自動的に行い予測可能であることが必要です。 監視とテレメトリは、システムの状態を把握するために重要です。 Azure アプリケーション アーキテクチャ ガイドは、このような変化に対応できるように支援します。

従来のオンプレミス先進的なクラウド
モノリシック、集中管理
予測可能なスケーラビリティの設計
リレーショナル データベース
強力な一貫性
直列および同期の処理
障害 (MTBF) を回避する設計
不定期の大規模な更新
手動管理
スノーフレーク サーバー
分解、分散化
柔軟なスケーラビリティの設計
多機種の持続性 (記憶域テクノロジの混在)
最終的な一貫性
並列および非同期の処理
障害 (MTTR) のための設計
頻繁な小規模の更新
自動自己管理
イミュータブル インフラストラクチャ

このガイドは、アプリケーションの設計者、開発者、および運用チームを対象としています。 個々 の Azure サービスを使用するためのハウツー ガイドではありません。 このガイドを読むことで、Azure クラウド プラットフォームでの構築に適用できるアーキテクチャのパターンやベスト プラクティスを理解できます。 また、このガイドの電子ブック バージョンをダウンロードすることもできます。

本書の構成

Azure アプリケーション アーキテクチャ ガイドは、アーキテクチャや設計から実装まで、一連のステップで編成されます。 ステップごとに、アプリケーション アーキテクチャの設計に役立つ補助的なガイダンスがあります。

アーキテクチャ スタイル

最初の意思決定ポイントがすべての基盤になります。 どのような種類のアーキテクチャを構築しますか。 マイクロサービス アーキテクチャ、従来の n 層アプリケーション、またはビッグ データ ソリューションも考えられます。 複数のアーキテクチャ スタイルを特定しました。 それぞれに利点と課題があります。

詳細情報:

テクノロジの選択

早い段階で 2 つのテクノロジの選択を決定する必要があります。アーキテクチャ全体に影響が及ぶためです。 それは、計算サービスとデータ ストアの選択です。 "計算" は、アプリケーションがそこで実行される計算リソースのホスティング モデルを指します。 "データ ストア" にはデータベースの他に、メッセージ キュー、キャッシュ、ログ、およびアプリケーションが記憶域に格納するその他すべての記憶域が含まれます。

詳細情報:

設計原則

Microsoft では、アプリケーションの拡張性、回復性、および管理性を強化する設計原則を大まかに特定しました。 これらの設計原則は、任意のアーキテクチャ スタイルに適用されます。 設計プロセス全体を通じて、ここで示す 10 個の設計原則に留意してください。 その上で、自動スケーリング、キャッシュ、データのパーティション分割、API 設計などの具体的な側面に関する一連のベスト プラクティスについて検討します。

詳細情報:

品質の重要な要素

成功するクラウド アプリケーションでは、ソフトウェア品質の 5 つの重要な要素、すなわち拡張性、可用性、回復性、管理性、セキュリティに重点が置かれています。 設計レビューのチェックリストを使用し、品質に関するこれらの要点に基づいてアーキテクチャをレビューします。