Azure Functions とは

完了

Azure Functions はクラウドベースのコンピューティング サービスです。 Functions は、Azure 用のイベント ドリブンでスケーラブルなサーバーレス コンピューティングを提供します。 場合によっては、関数コードの実行時間に対してのみ課金されます。

Azure Functions を使用して、コードを実行する必要があるときにコードを実行できます。 たとえば、メッセージがキューに到着したときや格納されているオブジェクトが更新されたときなど、イベントや変更の結果としてコードを実行できます。 CRON ルールを使用して、コードを実行するためのスケジュール間隔を定義することもできます。

トリガーを使用してコードを実行するタイミングを決定する

Azure Functions では、コードの実行を開始するトリガーを定義できます。 トリガーでは、関数にデータを渡すための入力を処理することもできます。 各関数は、トリガーを 1 つだけ持つことができます。 Azure 関数でサポートされるトリガーの種類には、次のようなものがあります。

  • ストレージ: たとえば、新しい行が挿入されたときの Azure Cosmos DB などのデータベースからのイベントをリッスンできます。
  • イベント: Event Grid と Event Hubs は、コードをトリガーできるイベントを生成します。
  • HTTP コード: Web 要求と Webhook は HTTP コードをトリガーできます。
  • キュー: キュー メッセージも処理できます。
  • タイマー: コードは一定の時間間隔で呼び出すことができます。

データ ソースに接続するには、バインディングを使用します。 バインディングにより、入力と出力のデータのコーディングが簡略化されます。 クライアント SDK を使用して関数コードからサービスに接続できますが、Functions には、これらの接続を簡略化するためのバインディングが用意されています。 基本的にバインディングは、記述する必要がない接続コードです。 Azure 上の多くのサービスと統合し、統合の問題を解決し、ビジネス プロセスを自動化できます。

バインディングには、入力と出力の 2 つのフレーバーがあります。 "出力バインディング" は、データの配置先にデータを書き込む方法を提供します。たとえば、キューにメッセージを配置したり、データベース内に新しい行を配置したりできます。 入力バインディングを使用すると、関数をトリガーしたものとは異なるデータ ソースから関数にデータを渡すことができます。

機能

Azure Functions を魅力的な選択肢にしているいくつかの機能があります。

  • 柔軟なホスティング プラン。 ビジネス ニーズに合わせて 3 つの異なるホスティング プランがあります。

    • 従量課金プラン。 これは、Functions の完全なサーバーレス ホスティング オプションです。 Functions は自動的にスケーリングし、関数が実行されている際のコンピューティング リソースに対してのみ課金されます。 このプランでは、負荷の予測が難しくより断続的になる傾向がある短いプロセス ワークロードに対してコスト効率の高いコンピューティングが提供されます。
    • Premium プラン。 このプランでは、関数は初期化されたままになります。つまり、アイドル状態になっても延期期間はありません。 これは、関数アプリを長時間実行する必要がある場合に適したプランですが、動的スケールは引き続き必要です。 また、このプランでは、従量課金プランよりもより速くより多くのリソースを使用してスケーリングを開始することもできます。 従量課金プランでは、実行時間にも制限があり、このプランに置き換えることができます。 動的スケーリングのコスト ベネフィットは引き続き得られますが、より多くの支払いを行うことになります。
    • 専用プラン。 関数は、通常の App Service プランで実行します。 関数を継続的に実行する必要があるシナリオに最適です。 もう 1 つのベネフィットは、アプリのスケーリング方法を完全に制御し、コストをより簡単に予測できることです。 これは、既存で使用率の低い App Service プランがある場合にも適しています。
  • 動的スケーリング。 ほとんどのプランでは、関数は負荷に基づいて動的にスケーリングされます。 実行の需要が増加すると、より多くのリソースがサービスに自動的に割り当てられ、要求が減少すると、リソースとアプリケーション インスタンスが自動的に削除されます。 従量課金プランでは、アイドル機能に対する課金は一切行われません。

  • イベントベースのアーキテクチャ。 Functions は小さく、集中して受信データを処理し、新しいイベントを順番に実行または発生させることを意図しています。 Azure 関数の一般的な使用領域には、電子メールの送信、バックアップの開始、注文処理、データベースのクリーンアップ、通知の送信、メッセージ、IoT データ処理などのタスク スケジュールが含まれます。

自分の知識をチェックする

1.

トリガーとバインディングとは何ですか?