FaaS

読み:ふぁーす / 英語表記:Function as a Service

クラウドサービスの形態の1つ。利用者は、実行したい処理を関数(ファンクション)として登録するだけで、サーバの管理を意識せずに、イベントに応じてその処理を実行できる。サーバレスとも呼ばれる。

イマシルちゃんの解説

プログラムを動かすには、ふつう、サーバを用意して、OSを入れて、ずっと動かしておかないといけないよね。

FaaSでは、「写真がアップロードされたら、小さいサイズの画像を作る」みたいな処理を、関数として預けておくだけなんだ。
写真が届いたときだけ、クラウドが自動で関数を動かしてくれる。
サーバのお世話はいらないし、動いた分だけお金を払えばいいんだよ!

より深い解説

定義

FaaS(Function as a Service)は、利用者が作成したプログラムを、関数の単位でクラウド事業者の実行環境に配置し、HTTPのリクエストやファイルのアップロードなどのイベントをきっかけに実行させるサービスである。サーバの用意、OSの管理、負荷に応じた台数の増減(スケーリング)は、クラウド事業者が自動で行う。サーバそのものがなくなるわけではないが、利用者からは見えないため、サーバレスと呼ばれる。

代表的なサービスに、AWS Lambda、Azure Functions、Google Cloud Functions(Cloud Run functions)などがある。

特徴

特徴内容
サーバの管理が不要OSの更新、台数の調整などを意識しなくてよい
イベント駆動処理が必要になったときだけ起動する
自動スケーリング要求が増えれば、自動的に並列に実行される
従量課金実行した回数と時間の分だけ料金がかかる。何も実行しない時間は課金されない

注意点

注意点内容
コールドスタートしばらく使われていない関数を起動するとき、実行環境の準備に時間がかかり、応答が遅れることがある
実行時間の制限1回の実行時間に上限があり、長時間の処理には向かない
状態を持たない関数の実行ごとに環境が変わるため、データはデータベースやストレージに保存する
ベンダーロックイン事業者ごとの仕組みに依存しやすい

クラウドサービスの形態の比較

形態利用者が使うもの利用者が管理する範囲
IaaS演算機能、ストレージ、ネットワークなどの基盤OS、ミドルウェア、アプリケーション
PaaSアプリケーションを動かすためのプラットフォーム(OS、ミドルウェア)アプリケーション
FaaS関数の実行環境関数(プログラムの処理)
SaaS事業者が提供するアプリケーション設定、データ
DaaS仮想化したデスクトップ環境デスクトップの利用
説明当てはまる形態
演算機能、ストレージ、ネットワークなどをクラウドに配置して使うIaaS
仮想化したデスクトップ環境を遠隔地の端末から使うDaaS
クラウド事業者が提供するアプリケーションを使うSaaS
サーバの管理を意識せず、プログラムの実行環境を使うFaaS

実際の試験ではここに出る!

この用語が出てくる記事

↑