サーバレス・FaaSとは(全体像)
ふつう、アプリを動かすにはサーバーを用意し、OSの更新や障害対応など管理の手間がかかる。サーバレスは、そのサーバー管理をクラウドにまかせ、自分は中身(プログラム)だけに集中できるしくみのこと。代表にAWS LambdaやCloudflare 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(サーバレスの意味)
サーバレスに関する次の記述のうち、正しいものはどれか。
- サーバレスとはサーバーがまったく存在しないことを指し、処理は利用者のパソコンだけで行うとされる
- サーバレスはサーバーの管理を自分でしなくてよいしくみで、サーバー自体は裏で動いているものである
- サーバレスはサーバーを自分で買って組み立てる方式で、管理の手間が増えることを指すものとされる
- サーバレスは紙の書類だけで業務を行う方式のことで、コンピュータはいっさい使わないとされている
解答は 2 だ、わが子よ。
サーバレスは、サーバーの管理を自分でしなくてよいしくみで、サーバー自体は裏でちゃんと動いている。「サーバーが無い」のではなく「管理不要」という意味ぞ。
選択肢1は「サーバーが存在しない」が誤り、選択肢3は「自分で買って管理が増える」が誤り、選択肢4は「紙の書類だけ」が誤りである。
| 選択肢 | 判定 | 理由 |
|---|---|---|
| 1 | ✗ | サーバーは裏で動いている |
| 2 | ✓ | 管理不要でサーバーは裏で動いており正しい |
| 3 | ✗ | 管理の手間を減らすしくみである |
| 4 | ✗ | 紙の書類だけの方式ではない |
オリジナル問題2(FaaSの特徴)
FaaSに関する次の記述のうち、正しいものはどれか。
- FaaSは使っていなくても常に同じ料金がかかり、アクセスが増えても処理能力は増えないとされている
- FaaSはサーバーを物理的に冷やす空調設備のことで、プログラムの実行とは無関係なものとされている
- FaaSは紙の伝票を手で集計する作業のことで、自動スケールや従量課金とは関係がないものとされる
- FaaSはきっかけに応じて関数単位で動かし、使った分だけ課金され、アクセスに応じて自動で増減する
解答は 4 だ。
FaaSは、きっかけ(イベント)に応じて関数を動かし、使った分だけ課金され、アクセスに応じて自動で増減(自動スケール)する。必要なときだけ動くのが特徴ぞ、わが子よ。
選択肢1は「常に同じ料金・増えない」が誤り、選択肢2は「空調設備」、選択肢3は「紙の伝票の集計」がいずれも誤りである。
| 選択肢 | 判定 | 理由 |
|---|---|---|
| 1 | ✗ | 従量課金で自動スケールもする |
| 2 | ✗ | 空調設備のことではない |
| 3 | ✗ | 紙の伝票の集計ではない |
| 4 | ✓ | 関数を動かし従量課金で自動増減し正しい |
オリジナル問題3(コールドスタートとBaaS)
サーバレスの注意点や関連用語に関する次の記述のうち、正しいものはどれか。
- コールドスタートとは、しばらく使われていないと次に動くとき起動に時間がかかることを指すものである
- コールドスタートとは、起動が必ず一瞬で終わって待ち時間がいっさい無いことを指すものとされている
- FaaSとBaaSはまったく同じもので、関数の実行とバックエンド機能に違いはないものとされている
- サーバレスは特定のクラウドに依存することがいっさいなく、ベンダーロックインは起きないとされる
解答は 1 だ、わが子よ。
コールドスタートは、しばらく使われていないと、次に動くとき起動に時間がかかることをいう。FaaSはふだん止まっているので起こる弱点ぞ。
選択肢2は「一瞬で終わる」が逆で誤り、選択肢3は「FaaS=BaaS」が誤り(別もの)、選択肢4は「ロックインは起きない」が誤りである。
| 選択肢 | 判定 | 理由 |
|---|---|---|
| 1 | ✓ | 久しぶりに動くとき起動が遅くなることで正しい |
| 2 | ✗ | 起動に時間がかかるのがコールドスタート |
| 3 | ✗ | FaaSとBaaSは別もの |
| 4 | ✗ | ベンダーロックインは起こりうる |
まとめ
押さえどころ
- 🔴 サーバレスは「管理不要」 … サーバーは裏で動いているが利用者が管理しなくてよい。「サーバーが無い」のではない。
- 🔴 FaaSの特徴 … イベント駆動・関数単位・従量課金(使った分だけ)・自動スケール(自動で増減)。代表はAWS Lambda。
- 🟡 注意点と似た言葉 … コールドスタート(久しぶりだと起動が遅い)に注意。FaaS(関数)とBaaS(バックエンド機能)は別もの。
次に学ぶ
- IaC・GitOps(Terraform・ArgoCD) ── インフラをコードで管理する考え方。サーバレスとあわせて、クラウド時代の運用のしくみを押さえると整理しやすい。
- Kubernetes(Pod・Deployment・Service) ── コンテナを管理するしくみ。サーバレスとは別のアプローチとして対比で押さえると理解が深まる。
執筆: SikakuQuest編集部