Azure Functionsとは?サーバーレスをやさしく解説

Azure Functionsとは?サーバーレスをやさしく解説

Azure Functionsの仕組みを知りたいクラウド学習者のイメージ
「Azure Functionsって、どんなサービス?」
「サーバーを管理しないって、どういうこと?」
「VMとは、どう使い分ける?」

サーバーを管理しない、とはどういうことか。サーバーが無いわけではありません。世話をあなたがしなくてよくなる、という意味です。Azure Functionsとは、サーバーの管理をせずにコードを実行できるサーバーレスサービスです。この記事は、Functionsの正体をつかんだうえで、VMやApp Serviceとどう選び分けるかを判定フローで示します。

 

ふつう、プログラムを動かすにはサーバーを用意し、設定や更新、台数の調整という世話が要ります。Functionsは、その世話をクラウドに任せ、あなたは動かす処理のコードだけを用意します。AZ-900のアーキテクチャとサービスに効きます。

 

1. サーバーレスとイベント駆動、2つの言葉

サーバーの管理を意識せずコードを動かすイメージ

Functionsを理解する鍵が、サーバーレスイベント駆動の2語です。サーバーレスは「サーバーが無い」ではなく、利用者がサーバーの管理を意識しなくてよい状態を指します。サーバーは裏で動き、その世話をクラウドが引き受けます。イベント駆動は、何かのきっかけに反応して処理が動く仕組み。Functionsは、きっかけを受け取ったときにだけコードを動かします。

 

たとえるなら、店の受付にある呼び出しベルです。客が来てベルを鳴らしたときだけ、奥からスタッフが出てきて対応する。誰も来ないあいだ、スタッフは持ち場に立ちっぱなしにはなりません。Functionsも、きっかけ(ベル)が鳴ったときにだけ起動し、待っているあいだは動かない。この「呼ばれてから動く」性質が、あとで料金の話にもつながります。

 

きっかけ(トリガー)には、いくつかの種類があります。あなたが最初に押さえるべき代表を挙げます。

 

  • HTTPリクエスト: 外部からの呼び出しを受けて動く
  • タイマー: 決めた時刻や間隔になると動く
  • 他サービスのイベント: ファイルの追加やデータの更新をきっかけに動く

 

クラウドそのものの前提は クラウドコンピューティングとは で押さえておくと、サーバーレスの位置づけがはっきりします。

 

2. 待っているあいだは、料金がかからない

実行した分だけ課金される従量課金のイメージ

Functionsの魅力が、料金の考え方です。代表的な使い方では、コードが動いた分だけ課金され、待機中は費用が発生しません。呼び出しベルの例で言えば、スタッフが対応した時間だけ人件費がかかり、待っているあいだはタダ、というイメージです。

 

この性質は、たまにしか動かない処理や、アクセス量が読みにくい処理と相性が良い。サーバーを電源入れっぱなしにする使い方だと、動いていない時間もお金がかかります。Functionsは、使う頻度が低いほど無駄が出にくい。あなたが「1日に数回しか走らない処理のために、サーバーを24時間動かすのはもったいない」と感じる場面が、まさにFunctionsの出番です。

 

イベント駆動の裏返しが、「待っているあいだは動かない」という性質です。きっかけが来たときだけ起動するので、無駄な待機を持ちません。この「呼ばれてから動く・動いた分だけ払う」の組み合わせが、Functionsの経済性を支えています。

 

3. VM・App Serviceと、どう選び分けるか

用途に応じてFunctions・VM・App Serviceを選ぶイメージ

Functionsが向くのは、きっかけで短く動く処理です。では、動かし続けるアプリはどうするか。ここでVMやApp Serviceとの選び分けが要ります。判断の分かれ道を図にしました。

 

動かし続ける処理? いいえ(きっかけで短く) はい(常時稼働) Azure Functions動いた分だけ課金 サーバーを細かく管理? はい いいえ VM(仮想マシン)土台ごと自分で管理 App Service土台は任せる

 

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

 

選び分けの一言は「きっかけで短く動くならFunctions、稼働し続けるならVMかApp Service」です。あなたが用途を「短く走るか、動き続けるか」でまず切り、動き続ける側は「土台まで自分で握るか、任せるか」で切る。この2段の問いで、Azureの計算サービスは整理できます。

 

4. AZ-900での問われ方

AZ-900でのAzure Functionsの問われ方を整理するイメージ

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の領域だと切り替えてください。

 

AZ-900は細かい操作でなく、サービスと特徴の対応を問う試験です。「サーバーレス」「イベント駆動」「従量課金」の3語が並んだら、あなたはFunctionsを思い浮かべればいい。逆にこの3つが当てはまらない要件なら、別のサービスを疑う。対応さえ握れば、コンピューティング分野の設問は安定して取れます。

 

次のステップ

常時稼働のアプリ向けサービスもセットで押さえたいなら、次は Azure App Serviceとは へ進むと、Functionsとの境目がくっきりします。計算サービスの選択肢が、頭の中で並びます。

問われ方に慣れるには、解くのがいちばんです。AZ-900 アーキテクチャとサービスの問題集 で、サーバーレスまわりの出題角度に手を慣らしておきましょう。全体像は AZ-900の試験範囲と勉強法ガイド でたどれます。