Azure Functions ソリューションの設計

完了

Azure Functions は、サーバーレス アプリケーション プラットフォームです。 関数は、インフラストラクチャを気にせずに、クラウドで小さなコードを実行する場合に使用されます。

Azure Functions について知っておくべきこと

新しいワークロードを構築するための優れたコンピューティング ソリューションとなる Azure Functions の利点とシナリオをいくつか確認しましょう。

新しいワークロードを構築するための Azure Functions ソリューションを選択するためのフローチャート。

  • Azure Functions は、組み込みのスケーラビリティを提供します。 使用するリソースに対してのみ課金されます。

  • Azure Functions を使用すると、選択した言語で関数コードを記述できます。

  • Azure Functions では、次の 2 つの重要な方法で オンデマンドコンピューティング がサポートされています。

    • Azure Functions を使用すると、システムのロジックを、すぐに使用できるコード ブロックに実装できます。 これらのコード ブロック (関数) は、重要なイベントに応答する必要がある場合はいつでも実行できます。

    • 要求が増加するにつれて、Azure Functions は必要な数のリソースと関数インスタンスで需要を満たします。 要求が完了すると、追加のリソースとアプリケーション インスタンスが自動的に削除されます。

  • Azure Functions は、イベントによってトリガーされる特定の定義可能なアクションを処理するための理想的なソリューションです。 関数は API 呼び出しを処理し、処理されたデータを Azure Cosmos DB に格納できます。 データ転送が行われると、別の関数が通知をトリガーできます。

    Azure Functions が API 呼び出しに応答し、Azure Notification Hubs にデータを出力する方法を示す図。

Azure Functions を使用する場合の考慮事項

Azure Functions を使用するためのベスト プラクティスをいくつか見てみましょう。 これらの提案を検討するときは、Tailwind Traders インフラストラクチャで Azure Functions を使用する利点について考えてください。

  • 実行時間の長い関数を検討してください。 予期しないタイムアウトの問題を引き起こす可能性がある、実行時間の長い大規模な関数を回避します。 可能な限り、大規模な関数を、連携して応答をより速く返す小さな関数セットにリファクタリングします。 既定のタイムアウトは、従量課金プラン関数では 300 秒、その他のプランでは 30 分です。

  • 持続的な関数を検討してください。 永続的な関数と小さな関数セットを使用して、構成のタイムアウトの問題を克服します。 Durable Functions を使用すると、ステートフルな関数を記述できます。 バックグラウンドで、関数はアプリケーションの状態、チェックポイント、再起動を管理します。 永続関数のアプリケーション パターンの例として、関数チェーンがあります。 関数チェーンは、特定の順序で一連の関数を実行します。 ある関数の出力は、別の関数の入力に適用されます。

  • パフォーマンスと拡張性を検討してください。 さまざまな負荷プロファイルを使用して関数をグループ化する方法を計画します。 2 つの関数があるシナリオを考えてみましょう。 1 つの関数は何千ものキューに登録されたメッセージを処理し、メモリ要件が低くなります。 もう 1 つの関数は、たまにのみ呼び出されますが、メモリ要件が高くなります。 このシナリオでは、各関数に独自のリソース セットがある個別の関数アプリケーションをデプロイできます。 個別のリソースは、関数を個別にスケーリングできることを意味します。

  • 防御機能を検討してください。 例外を処理するように関数を設計します。 ダウンストリーム サービス、ネットワークの停止、またはメモリ制限により、関数が失敗する可能性があります。 障害が発生した場合に続行できるように関数を記述します。

  • ストレージ アカウントを共有しないことを検討してください。 関数アプリケーションごとに個別のストレージ アカウントを使用して、パフォーマンスを最大化します。 関数アプリを作成するときに、一意のストレージ アカウントに関連付けます。 関数が大量のストレージ トランザクションを生成する場合は、一意のストレージ アカウントを使用することが重要です。

ビジネス アプリケーション

他の Azure Functions のベスト プラクティス について読むのに数分かけてください

Azure Functions の使用方法に関するその他のアイデアについては、コード サンプル ページを参照してください。