Azure Functions

Azure Functions(サーバーレス)

Azure Functions は、
イベント発生時に必要な分だけコードを実行できる “サーバーレス” コンピューティングサービス です。

サーバー管理は完全に Azure 側に任せられ、
開発者は 実行したい処理(関数)だけを書く というシンプルなモデルです。


Azure Functions の特徴

● サーバー管理が不要

  • OS パッチ
  • サーバー構成
  • スケール管理

→ すべて Azure が自動で実施。
運用の手間が最小限になります。


● イベント駆動で動作する

Functions は、何らかの「トリガー」で呼び出されます。

代表的なトリガー:

トリガー内容
HTTP トリガーAPI として呼び出し可能
Timer トリガー定期実行(毎時 / 毎日など)
Blob Storage トリガーBlob が追加/変更された時
Queue Storage トリガーキューにメッセージが届いた時
Event Hub / Service Bus トリガーイベント処理

Functions = トリガー × 実行処理 の組み合わせで動作します。


● 自動スケール(高い伸縮性)

Functions はアクセス数に応じて自動でインスタンス増減します。

  • リクエストが多い → 自動拡張
  • リクエストが少ない → インスタンス削減
  • アイドル時 → ほぼ課金なし(後述)

「必要なときだけ実行される」のが大きな特徴です。


● 従量課金で低コスト

Functions の課金モデルは「実行時間 × 実行回数」です。

  • 実行しなければ料金はほぼ 0 円
  • 実行時間が短いほど安い
  • 月間100万回まで無料枠がある(消費による)

“安く動くバッチ・API” として非常に人気です。


● 多くの言語に対応

Azure Functions は以下の言語で作成可能です。

  • C#
  • JavaScript / TypeScript
  • Python
  • Java
  • PowerShell
  • Go(追加対応)

開発者のスタイルに合わせられます。


Functions の代表的な用途

  • イベント処理(ファイルアップロード・ログ処理など)
  • バッチ処理(時間指定で実行)
  • 軽量 API の構築
  • 他システムからの webhook 受信
  • Storage やデータベースの補助処理
  • メール送信、通知処理、自動化ワークフロー

「バックグラウンドで自動的に動かしたい処理」にとても向いています。


Functions の実行モデル(Consumption / Premium / Dedicated)

● Consumption(消費ベース)

  • 最も安い課金モデル
  • 完全サーバーレス
  • 実行した分だけ課金
  • アイドル時は 0 円
    基本はこれで十分(AZ-900 で最重要)

● Premium プラン

  • コールドスタートなし
  • より高負荷にも対応
  • VNet 統合が可能
    大規模処理や常時応答が必要な場合に採用。

● Dedicated(App Service プラン)

  • App Service プラン上で動かす
  • 常時インスタンスが存在
    既存アプリと統合したいケース向け。

Azure Functions と App Service / VM の違い

項目FunctionsApp ServiceVM
管理範囲コードのみアプリOS含め全部
課金実行時間ベースプラン課金実行時間課金
スケール自動で無制限自動または手動手動中心
用途バックエンド処理・APIWebアプリカスタム構成

ポイント:
「軽い処理」「イベント駆動」「低コスト」は Functions が最適


マイクロサービス構成と相性が良い

Functions は小さな処理を分離できるため、
マイクロサービスアーキテクチャとの親和性が高いです。


AZ-900で理解すべきポイント

  • Azure Functions は サーバーレス の代表サービス
  • イベント駆動 + 自動スケール
  • 課金は消費ベース(実行回数 × 実行時間)
  • トリガーの種類が豊富
  • バックグラウンド処理や軽量 API に最適
  • App Service や VM との管理範囲の違いを理解する