Azure Functions の概要

Azure Functions は、記述するコードと管理するインフラストラクチャを減らし、コストを節約できるサーバーレス ソリューションです。 クラウド インフラストラクチャによって、アプリケーションの実行を維持するために必要な最新のリソースがすべて提供されるので、サーバーのデプロイや管理について心配する必要はありません。

ユーザーは最も重要なコードに集中でき、残りの部分は Azure Functions が処理します。

通常、システムは、一連の重大なイベントに対処できるように構築されます。 Web API の構築、データベースの変更への対応、IoT データ ストリームの処理、メッセージ キューの管理など、その目的が何であれ、どのアプリケーションにも、そうしたイベントが発生したときに、なんらかのコードを実行する手段が必要です。

このニーズを満たすために、Azure Functions は、2 つの有効な方法で "コンピューティングをオンデマンドで" 提供します。

まず、Azure Functions では、利用しやすいコード ブロックの中にシステムのロジックを実装することができます。 これらのコード ブロックを "関数" といいます。 重大なイベントに対応しなければならないときは、各種の関数をいつでも実行できます。

2 つ目は、要求の増大に伴って、Azure Functions は、必要な分のリソースと関数インスタンスを、必要な間だけ使用して需要を満たします。 要求が少なくなれば、余分なリソースとアプリケーション インスタンスは自動的に解放されます。

これらのコンピューティング リソースは一体どこから来るのでしょうか。 Azure Functions は、アプリケーションの需要を満たすうえで必要な分だけのコンピューティング リソースを提供します。

オンデマンドでコンピューティング リソースを提供することは、Azure Functions のサーバーレス コンピューティングの本質と言えます。

シナリオ

多くの場合、関数は、さまざまなクラウド サービスと連携して多機能な実装を実現します。

以下に示したのは、Azure Functions の代表的なシナリオの例です。"すべてのシナリオを網羅したものではありません"。

目的 手段
Web API をビルドする HTTP トリガーを使用して Web アプリケーションのエンドポイントを実装します
ファイルのアップロードを処理する Blob Storage のファイルがアップロードされたり変更されたりしたときにコードを実行します
サーバーレス ワークフローを作成する Durable Functions を使用して一連の関数のチェーンを作成します。
データベースの変更に対処する Cosmos DB でドキュメントが作成または更新されたときにカスタム ロジックを実行します
スケジュールされたタスクを実行する 設定した時刻にコードを実行します
信頼性の高いメッセージ キュー システムを作成する Queue StorageService BusEvent Hubs のいずれかを使用してメッセージ キューを処理します
IoT データ ストリームを分析する IoT デバイスからデータを収集して処理します
データをリアルタイムで処理する Functions と SignalR を使用して、その時点のデータに対応します

実際に関数を作成するときは、次のオプションとリソースを利用できます。

次の手順