用語解説
Azure Functionsとは、Microsoftが提供するサーバーレスのイベント駆動型関数実行サービスです。
インフラの管理を一切意識せず、コード(関数)をデプロイするだけで、HTTPリクエスト・タイマー・Azure Storage・Service Bus・Event Hubsなど多様なトリガーに応じて自動的に実行されます。実行時間・実行回数に応じた従量課金モデルのため、使われないときのコストはゼロです。
C#・JavaScript・Python・Java・PowerShellなど複数の言語をサポートし、Durable Functionsを使えばステートフルなワークフローも実装できます。
どんな場面で活用するか
- 画像アップロード時に自動でサムネイル生成・リサイズを行う処理をサーバーレスで実装したい
- 定期バッチ処理(毎日深夜のデータ集計・レポート送信)をタイマートリガーで自動化したい
- IoTデバイスからのイベントデータをリアルタイムに受信・処理・DBへ書き込むパイプラインを作りたい
よくある誤解
「Azure Functionsはすべての処理をサーバーレスに置き換えられる」は誤りです。正しくは、長時間実行・常時接続が必要な処理や高い予測可能なスループットが求められる場合は、App ServiceやAKSの方が適しています。Azure Functionsはタイムアウトやコールドスタートによるレイテンシの課題があります。
判断のヒント
設計ポイントコールドスタートを抑制するには「Premium プラン」または「Dedicated プラン」を選択し、常時ウォームアップを有効化します。処理の冪等性(同じ入力で同じ結果)を設計段階から確保することが安定運用の鍵です。