Azure Cosmos DB を使ったサーバーレス アプリ

Azure Cosmos DB
Azure Functions

ソリューションのアイデア

このアーティクルはソリューションのアイデアです。 このコンテンツにさらに多くの情報 (想定されるユース ケース、代替サービス、実装に関する考慮事項、価格ガイダンスなど) の掲載をご希望の方は、GitHub のフィードバックでお知らせください。

Azure Functions と Azure Cosmos DB を使用して、グローバルに分散されたスケーラブルなサーバーレス アプリケーションを構築できます。

Architecture

Architecture diagram that shows the functions that are triggered by an online order and a database change feed.

このアーキテクチャの 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
  • 在庫管理

次のステップ

Functions と Azure Cosmos DB を含む次のアーキテクチャを参照してください。

Functions 機能を備える次のアーキテクチャを参照してください。

Azure Cosmos DB を備える次のアーキテクチャを参照してください。