「サーバーを管理しないって、どういうこと?」
「VMとは、どう使い分ける?」
サーバーを管理しない、とはどういうことか。サーバーが無いわけではありません。世話をあなたがしなくてよくなる、という意味です。Azure Functionsとは、サーバーの管理をせずにコードを実行できるサーバーレスサービスです。この記事は、Functionsの正体をつかんだうえで、VMやApp Serviceとどう選び分けるかを判定フローで示します。
ふつう、プログラムを動かすにはサーバーを用意し、設定や更新、台数の調整という世話が要ります。Functionsは、その世話をクラウドに任せ、あなたは動かす処理のコードだけを用意します。AZ-900のアーキテクチャとサービスに効きます。
1. サーバーレスとイベント駆動、2つの言葉

Functionsを理解する鍵が、サーバーレスとイベント駆動の2語です。サーバーレスは「サーバーが無い」ではなく、利用者がサーバーの管理を意識しなくてよい状態を指します。サーバーは裏で動き、その世話をクラウドが引き受けます。イベント駆動は、何かのきっかけに反応して処理が動く仕組み。Functionsは、きっかけを受け取ったときにだけコードを動かします。
きっかけ(トリガー)には、いくつかの種類があります。あなたが最初に押さえるべき代表を挙げます。
- HTTPリクエスト: 外部からの呼び出しを受けて動く
- タイマー: 決めた時刻や間隔になると動く
- 他サービスのイベント: ファイルの追加やデータの更新をきっかけに動く
クラウドそのものの前提は クラウドコンピューティングとは で押さえておくと、サーバーレスの位置づけがはっきりします。
2. 待っているあいだは、料金がかからない

Functionsの魅力が、料金の考え方です。代表的な使い方では、コードが動いた分だけ課金され、待機中は費用が発生しません。呼び出しベルの例で言えば、スタッフが対応した時間だけ人件費がかかり、待っているあいだはタダ、というイメージです。
この性質は、たまにしか動かない処理や、アクセス量が読みにくい処理と相性が良い。サーバーを電源入れっぱなしにする使い方だと、動いていない時間もお金がかかります。Functionsは、使う頻度が低いほど無駄が出にくい。あなたが「1日に数回しか走らない処理のために、サーバーを24時間動かすのはもったいない」と感じる場面が、まさにFunctionsの出番です。
3. VM・App Serviceと、どう選び分けるか

Functionsが向くのは、きっかけで短く動く処理です。では、動かし続けるアプリはどうするか。ここでVMやApp Serviceとの選び分けが要ります。判断の分かれ道を図にしました。
まず「動かし続ける処理か」で分かれます。きっかけで短く動くならFunctions。常時稼働なら、次に「サーバーを細かく自分で管理したいか」で分かれ、管理したいならVM(仮想マシン)、土台をクラウドに任せてアプリに集中したいならApp Service。サーバーそのものを扱う Azure仮想マシン(VM)とは と対比すると、Functionsが「サーバーを見せない」度合いの強さが分かります。
4. AZ-900での問われ方

AZ-900では、Functionsはコンピューティングの代表的な選択肢として問われます。あなたが握るべき対応は、キーワードとサービスの結び付けです。「サーバー管理なしでコードを動かす」ならサーバーレス=Functions、「イベントで起動」「使った分だけ課金」も同じくFunctionsの特徴です。
もう1つ、他クラウドとの対応も押さえておくと強いです。Functionsは、AWSのAWS Lambdaとは に相当するサーバーレスサービスです。考え方が同じなので、片方を理解すればもう片方も見通せます。用語を単体で暗記するより、「呼ばれたときだけ、短く動いて、動いた分だけ払う」という一文でFunctionsの性格を握るほうが、選択肢の絞り込みが速くなります。逆に「常時稼働のアプリ」が要件なら、Functionsは外してVMやApp Serviceへ——この切り分けが、AZ-900では得点に直結します。
頻出の引っかけが、常時稼働の要件にFunctionsを当てはめる選択肢です。「24時間動き続けるWebアプリの基盤は」と問われてFunctionsを選ぶと外れます。Functionsは「呼ばれてから動く」ものなので、動き続ける前提の要件とは相性が合わない。あなたが要件の中に「常時」「動かし続ける」という言葉を見つけたら、そこはVMかApp Serviceの領域だと切り替えてください。
次のステップ
常時稼働のアプリ向けサービスもセットで押さえたいなら、次は Azure App Serviceとは へ進むと、Functionsとの境目がくっきりします。計算サービスの選択肢が、頭の中で並びます。
問われ方に慣れるには、解くのがいちばんです。AZ-900 アーキテクチャとサービスの問題集 で、サーバーレスまわりの出題角度に手を慣らしておきましょう。全体像は AZ-900の試験範囲と勉強法ガイド でたどれます。