【さーばーれす】

サーバーレス とは?

最終更新:
💡 基盤の運用を任せて、アプリづくりに集中

サーバー基盤の運用をサービス提供者に任せて、コードの実行やデータ管理を行う方式。サーバー自体は存在し、アプリの設定・権限・監視などは利用者が担う。

📌 このページのポイント
サーバーレス:運用の役割を分担利用者アプリのコード権限・設定監視・障害対応サービス提供者サーバー基盤用意・更新基盤の運用サーバーはある。基盤の運用を任せる
役割を分担するイメージ。費用や拡張の条件は、選ぶサービスと設定によって異なります。
ひよこ ひよこ
サーバーレスなら、サーバーはないの?
ペンギン先生 ペンギン先生
サーバーはあるよ。コードを動かすための基盤の用意や更新などを、サービス提供者が担うんだ。利用者はアプリのコードや設定を用意する。AWS Lambdaの関数実行が代表例だけど、データ管理なども含む広い考え方だよ。
ひよこ ひよこ
Lambdaでは、いつコードが動くの?
ペンギン先生 ペンギン先生
例えばファイルがアップロードされた、APIが呼ばれた、予定時刻になった、といったイベントで関数を実行できるよ。必要な連携を設定して使う。基盤を任せても、アプリの権限や同時実行の上限、監視は設計する必要があるんだ。
ひよこ ひよこ
使っていないときは、必ず無料?
ペンギン先生 ペンギン先生
いいえ。料金体系はサービスで違うよ。Lambdaの通常の関数実行では呼び出し回数と実行時間・割り当てメモリなどが関係する。Provisioned Concurrencyでは、初期化済みの実行環境を用意しておく容量にも料金がかかる。関連サービスも含めて比較しよう。
ひよこ ひよこ
ペンギン先生 ペンギン先生
新しい実行環境でコードやランタイムなどを初期化するときの待ち時間だよ。毎回必ず起きるわけではない。LambdaではProvisioned ConcurrencyやSnapStartが対策になるけれど、対応する実行環境や料金などの条件を確認して使おう。SnapStartは対応するJava・Python・.NETのランタイムで利用できるよ。
ひよこ ひよこ
長い処理も全部任せられる?
ペンギン先生 ペンギン先生
サービスと実行方式の制約を確認しよう。Lambdaの通常のタイムアウト上限は15分だけど、Managed Instancesの非同期呼び出しや一部のイベントソース経由では90分の上限がある。長時間処理などは、選んだ方式に合うかを確認する。サーバーレスならどんな処理も無制限、という意味ではないよ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「サーバーレス」って出てきたら「サーバー基盤の運用を提供者に任せて使う方式」と思えばだいたいOK!
📖 おまけ:英語の意味
「Serverless Computing」 = サーバーレスコンピューティング
💬 サーバー自体が存在しないのではなく、利用者が基盤の運用を提供者に任せることを表すよ。

参考資料

← 用語集にもどる