【ふぁーす】

FaaS とは?

💡 「必要なときだけ起動する」コードの自動販売機
📌 このページのポイント
FaaS(Function as a Service) HTTP リクエスト スケジュール キュー / イベント トリガー FaaS プラットフォーム 関数 A 短命実行 関数 B 短命実行 常駐サーバーなし 自動スケーリング レスポンス 出力 / 副作用 実行回数 × 実行時間で課金(アイドル時はコストゼロ)
FaaS(Function as a Service)の仕組み
ひよこ ひよこ

FaaSってサーバーレスと同じもの?

ペンギン先生 ペンギン先生

FaaSはサーバーレスを実現する手段の一つ、という関係だよ。サーバーレスは「サーバー管理を意識しない」という考え方で、FaaSはそれを「関数単位のコード実行」で実現するサービスなんだ。

ひよこ ひよこ

関数って普通のアプリと何が違うの?

ペンギン先生 ペンギン先生

普通のアプリは「24時間動き続けるサーバー」。FaaSの関数は「呼ばれたときだけ起動して、処理が終わったら消える」。たとえば画像がアップロードされたら自動でサムネイルを作る、みたいな用途に使われるよ。

ひよこ ひよこ

関数が終わるとデータも消えちゃうの?

ペンギン先生 ペンギン先生

そう、FaaSの関数はステートレス(状態を持たない)なんだ。データはS3やデータベースなど外部に保存する設計にする必要がある。関数自体は処理だけ担当して、データ管理は別のサービスに任せるんだよ。

ひよこ ひよこ

FaaSの実行時間制限って何分くらい?長い処理は無理なの?

ペンギン先生 ペンギン先生

AWS Lambdaだと最大15分という制限がある。これがFaaSの設計上の大きな制約の一つで、長時間かかるバッチ処理には向いていない。それに「コールドスタート」の問題もあって、しばらく呼ばれていない関数を初回起動すると数百ミリ秒〜数秒かかることがある。Lambdaのプロビジョニング済み同時実行(Provisioned Concurrency)を使えばコールドスタートを回避できるけど、常時起動するぶんコストは上がるというトレードオフがあるんだ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「FaaS」って出てきたら「関数1個をクラウドに置いてイベントで呼び出す仕組みのことだな」と思えればだいたいOK!
📖 おまけ:英語の意味
「FaaS(Function as a Service)」 = 関数をサービスとして提供する
💬 「as a Service」シリーズの一員。IaaS・PaaS・SaaSと同じ命名パターンだよ
← 用語集にもどる