サーバレス・FaaS(Lambda・Workers)とは?FaaSの特徴と注意点

公開: 更新: カテゴリ: テクノロジ系

30秒で結論

サーバレス・FaaSとは(全体像)

ふつう、アプリを動かすにはサーバーを用意し、OSの更新や障害対応など管理の手間がかかる。サーバレスは、そのサーバー管理をクラウドにまかせ、自分は中身(プログラム)だけに集中できるしくみのこと。代表にAWS LambdaCloudflare Workersなどがある。

ここで一番の注意。「サーバレス=サーバーが無い」ではない。サーバーは裏でちゃんと動いているが、利用者がその管理をしなくてよいから「サーバレス(管理がない)」と呼ぶ。字面どおり「サーバーが存在しない」と思うのは誤り。

そして、サーバレスを実現する代表的な形がFaaS(Function as a Service)。これと「自動で増減」「使った分だけ課金」「コールドスタート」が試験の中心。


詳しく:FaaSの特徴と注意点

ここが心臓部。まずFaaSの特徴を表で押さえる。

FaaS(Function as a Service)の特徴

特徴意味
イベント駆動きっかけ(リクエストなど)が来たときだけ動く
関数単位で動かす機能の小さな単位(関数)ごとに実行
自動スケールアクセスが増減すると自動で処理能力も増減
従量課金使った分だけ料金がかかる

FaaSは、「きっかけ(イベント)が来たときだけ、関数(機能の小さな単位)を動かす」しくみ。常にサーバーを動かしっぱなしにせず、必要なときだけ動くので、使った分だけ課金(従量課金)で、アクセスに応じて自動で増減(自動スケール)する。代表がAWS Lambda

便利な一方で、注意点もある。

サーバレスの注意点

注意点意味
コールドスタートしばらく使われないと、次に動くとき起動に時間がかかる
ベンダーロックイン特定のクラウドに依存しやすい

とくにコールドスタートは頻出。FaaSは使われていないときは止まっているので、久しぶりのアクセスでは起動に少し時間がかかる。これが弱点として問われる。

なお、似た言葉にBaaS(Backend as a Service)がある。これは認証やデータベースなどのバックエンド機能をサービスとして提供するもの(Firebaseなど)。FaaS(関数を動かす)とBaaS(バックエンド機能を借りる)は別もので、「FaaS=BaaS」と思うのは誤り。

わかりやすく言い換えると

要するに、サーバレスは「サーバーの管理は大家さん(クラウド)にまかせて、自分は部屋の中身だけ気にすればいい」しくみだとイメージするとラク。

つまり、建物(サーバー)は存在するが、その管理(掃除・修理)は大家さんがやってくれる。だから「サーバーが無い」のではなく「管理しなくていい」。

そしてFaaSは、「呼ばれたときだけ働いて、働いた分だけお金をもらう日雇い」のイメージ。ふだんは休んでいるので、久しぶりに呼ぶと動き出すまで少しかかる(コールドスタート)、というわけ。


試験のツボ

🔴 一番出る:サーバレスは「管理不要」(サーバーが無いのではない)

①サーバーは裏で動いているが、利用者が管理しなくてよい

②「サーバレス=サーバーが存在しない」は誤り

🔴 次に出る:FaaSの特徴

①イベント駆動・関数単位で動く

②使った分だけ課金(従量課金)・アクセスに応じて自動で増減(自動スケール)

🟡 押さえると安定:注意点と似た言葉

コールドスタート(しばらく使わないと起動が遅い)に注意。FaaS(関数を動かす)とBaaS(バックエンド機能を借りる)は別もの。


よくある間違い

「サーバレスとはサーバーがまったく存在しないことだ」→ ✗  サーバーはあるが、利用者が管理しなくてよいという意味。

「FaaSは常にサーバーを動かしっぱなしで、使わなくても同じ料金がかかる」→ ✗  FaaSは使った分だけ課金(従量課金)で、必要なときだけ動く。

「FaaSとBaaSは同じものだ」→ ✗  FaaSは関数を動かすしくみ、BaaSはバックエンド機能を借りるしくみで別もの。


試験での出題パターン

実際の問題でたしかめてみよう。

オリジナル問題1(サーバレスの意味)

📝 オリジナル問題 1 サーバレスの意味

サーバレスに関する次の記述のうち、正しいものはどれか。

  1. サーバレスとはサーバーがまったく存在しないことを指し、処理は利用者のパソコンだけで行うとされる
  2. サーバレスはサーバーの管理を自分でしなくてよいしくみで、サーバー自体は裏で動いているものである
  3. サーバレスはサーバーを自分で買って組み立てる方式で、管理の手間が増えることを指すものとされる
  4. サーバレスは紙の書類だけで業務を行う方式のことで、コンピュータはいっさい使わないとされている
テクキング
テクキング 解答・解説

解答は 2 だ、わが子よ。

サーバレスは、サーバーの管理を自分でしなくてよいしくみで、サーバー自体は裏でちゃんと動いている。「サーバーが無い」のではなく「管理不要」という意味ぞ。

選択肢1は「サーバーが存在しない」が誤り、選択肢3は「自分で買って管理が増える」が誤り、選択肢4は「紙の書類だけ」が誤りである。

選択肢判定理由
1サーバーは裏で動いている
2管理不要でサーバーは裏で動いており正しい
3管理の手間を減らすしくみである
4紙の書類だけの方式ではない

オリジナル問題2(FaaSの特徴)

📝 オリジナル問題 2 FaaSの特徴

FaaSに関する次の記述のうち、正しいものはどれか。

  1. FaaSは使っていなくても常に同じ料金がかかり、アクセスが増えても処理能力は増えないとされている
  2. FaaSはサーバーを物理的に冷やす空調設備のことで、プログラムの実行とは無関係なものとされている
  3. FaaSは紙の伝票を手で集計する作業のことで、自動スケールや従量課金とは関係がないものとされる
  4. FaaSはきっかけに応じて関数単位で動かし、使った分だけ課金され、アクセスに応じて自動で増減する
テクキング
テクキング 解答・解説

解答は 4 だ。

FaaSは、きっかけ(イベント)に応じて関数を動かし使った分だけ課金され、アクセスに応じて自動で増減(自動スケール)する。必要なときだけ動くのが特徴ぞ、わが子よ。

選択肢1は「常に同じ料金・増えない」が誤り、選択肢2は「空調設備」、選択肢3は「紙の伝票の集計」がいずれも誤りである。

選択肢判定理由
1従量課金で自動スケールもする
2空調設備のことではない
3紙の伝票の集計ではない
4関数を動かし従量課金で自動増減し正しい

オリジナル問題3(コールドスタートとBaaS)

📝 オリジナル問題 3 コールドスタートとBaaS

サーバレスの注意点や関連用語に関する次の記述のうち、正しいものはどれか。

  1. コールドスタートとは、しばらく使われていないと次に動くとき起動に時間がかかることを指すものである
  2. コールドスタートとは、起動が必ず一瞬で終わって待ち時間がいっさい無いことを指すものとされている
  3. FaaSとBaaSはまったく同じもので、関数の実行とバックエンド機能に違いはないものとされている
  4. サーバレスは特定のクラウドに依存することがいっさいなく、ベンダーロックインは起きないとされる
テクキング
テクキング 解答・解説

解答は 1 だ、わが子よ。

コールドスタートは、しばらく使われていないと、次に動くとき起動に時間がかかることをいう。FaaSはふだん止まっているので起こる弱点ぞ。

選択肢2は「一瞬で終わる」が逆で誤り、選択肢3は「FaaS=BaaS」が誤り(別もの)、選択肢4は「ロックインは起きない」が誤りである。

選択肢判定理由
1久しぶりに動くとき起動が遅くなることで正しい
2起動に時間がかかるのがコールドスタート
3FaaSとBaaSは別もの
4ベンダーロックインは起こりうる

まとめ

押さえどころ

次に学ぶ


執筆: SikakuQuest編集部

勉強は、クエストになった。

資格の勉強を、冒険に変えるRPG学習アプリ

App Storeで見る