TERM 031
Serverless
サーバー管理を任せ、実行単位でアプリを動かす
Serverlessは、サーバーの調達・OS管理・基本的な拡張をクラウド提供者へ任せ、関数やコンテナなどの処理単位を実行するクラウド利用形態です。サーバーが存在しないという意味ではありません。
サーバー管理を抽象化し、実行した分だけ利用する形態の全体像。
CONTENTSこの記事の目次+
QUICK OVERVIEW
30秒でつかむ
基盤管理の委譲
OS更新、冗長化、基本スケールをサービス側が担います。
イベント起点
HTTPやQueueなどの発生時に必要な処理を実行します。
利用量ベース
実行時間や要求数など、消費した単位に応じて課金されます。
01 — DEFINITION
Serverlessとは
何か
Serverlessは、サーバーの調達・OS管理・基本的な拡張をクラウド提供者へ任せ、関数やコンテナなどの処理単位を実行するクラウド利用形態です。サーバーが存在しないという意味ではありません。
02 — HOW IT WORKS
仕組みを
3段階で見る
細部へ入る前に、入力から結果までの役割を順番に捉えます。
要求やイベントが届く
HTTP、メッセージ、時刻などが実行のきっかけになる。
→必要な実行環境を用意
基盤が負荷に応じてインスタンスを起動・増減する。
→処理して終了
結果を返し、利用がなければ資源を縮小する。
Serverlessを理解するときの、最小の処理単位です。
03 — ESSENTIALS
押さえるべき
3つの要点
名前だけでなく、この3点の関係まで理解すると実装へつなげやすくなります。
基盤管理の委譲
OS更新、冗長化、基本スケールをサービス側が担います。
イベント起点
HTTPやQueueなどの発生時に必要な処理を実行します。
利用量ベース
実行時間や要求数など、消費した単位に応じて課金されます。
04 — REAL WORLD EXAMPLE
画像アップロード後にサムネイルを作る
画像が来ない時間も専用サーバーを待機させる必要はありません。
- 01
Storageへの追加をイベントとして受け取る
- 02
関数が起動して画像を縮小する
- 03
生成物を保存し処理記録を残す
05 — WATCH OUT
理解するときの
注意点
便利な仕組みほど、守備範囲と失敗の前提を明確にします。
実行上限と起動遅延を確認する
長時間処理や厳しい低遅延要件には別構成が適する場合があります。
外部サービス依存を監視する
基盤が管理されても、データベース接続や失敗再試行の設計は必要です。
IN ONE SENTENCE
Serverlessとは?
サーバー管理を抽象化し、実行した分だけ利用する形態。
