ソリューションのアイデア
この記事ではソリューションのアイデアについて説明します。 クラウド アーキテクトはこのガイダンスを使用すると、このアーキテクチャの一般的な実装の主要コンポーネントを視覚化しやすくなります。 ワークロードの特定の要件に適合する、適切に設計されたソリューションを設計するための出発点として、この記事を使用してください。
Azure Functions と Azure Cosmos DB を使用して、グローバルに分散されたスケーラブルなサーバーレス アプリケーションを構築できます。
アーキテクチャ
このアーキテクチャの Visio ファイルをダウンロードします。
データフロー
顧客は e コマース Web サイトで注文を行います。
この注文により、Functions のインスタンスがトリガーされます。 この機能では、顧客の精算が処理され、注文に関する情報が Azure Cosmos DB に格納されます。
データベースの挿入操作によって、Azure Cosmos DB の変更フィード イベントがトリガーされます。
変更フィード イベントをサブスクライブするシステムに通知されます。
変更フィード通知によって、次の Functions がトリガーされます。
- 関数によって、注文に税が適用されます。
- 関数によって、注文の支払いが処理されます。
- 関数によって、注文が履行されます。
コンポーネント
- Functions は、イベント駆動型のサーバーレス コンピューティング プラットフォームです。 Functions では、トリガーとバインドを使用して、サービスを大規模に統合できます。
- Azure Cosmos DB は、グローバル分散型のマルチモデル データベースです。 Azure Cosmos DB により、ソリューションは、任意の数の地理的リージョンにまたがってスループットとストレージを弾力的にスケーリングできます。
シナリオの詳細
マイクロサービスには、次のような多くの利点があります。
- 拡張性の高いソリューションを提供します。
- 各サービスを個別にデプロイできます。
- 機能を個別のコンテナーに制限すると、障害の分離が簡単です。
- DevOps 環境に適しています。
- ソフトウェア開発ライフ サイクルを加速させることで、市場投入までの時間を短縮します。
マイクロサービスを効率的に実装する方法は、サーバーレス テクノロジを使用することです。 このソリューションでは、サーバーレス コンピューティング エクスペリエンスを提供する Azure オファリングである Functions を使用します。 このソリューションでは、データ ストレージに Azure Cosmos DB を使用します。 Azure Cosmos DB では、Functions と統合される変更フィードが提供されます。
考えられるユース ケース
このソリューションは、次の多くの領域に適用されます。
- e コマース
- Retail
- 在庫管理
次のステップ
- Azure Functions の概要
- Azure Cosmos DB へようこそ
- Azure Cosmos DB の変更フィード
- Azure Cosmos DB によってトリガーされる関数を作成する
- Visual Studio Code を使用して Azure Functions を Azure Cosmos DB に接続する
関連リソース
Functions と Azure Cosmos DB を含む次のアーキテクチャを参照してください。
- Azure Cosmos DB を使用した Transactional Outbox パターン
- Azure Cosmos DB を使用したゲーム
- コードのチュートリアル:Functions を使用したサーバーレス アプリケーション
- 画像と自然言語処理を使用して、ほぼリアルタイムの分析でニュース フィードを分析する
Functions 機能を備える次のアーキテクチャを参照してください。
- Azure で Event Hubs をサーバーレス関数と統合する
- Azure Functions と Event Hubs の監視
- マルチテナント機能に関する Azure App Service と Azure Functions の考慮事項
- Event Hubs と Azure Functions のパフォーマンスとスケール
Azure Cosmos DB を備える次のアーキテクチャを参照してください。