【さーばーれす】

サーバーレス とは?

💡 サーバーを「意識しない」クラウド活用法
📌 このページのポイント
サーバーレスの仕組み 従来型サーバー サーバー常時稼働 処理中 アイドル(無駄) 24時間365日課金 💰 固定コスト発生 コスト: 高い サーバーレス イベント 関数実行 停止 必要な時だけ起動 f f f 自動スケール コスト: 実行分のみ
サーバーレスの仕組み
ひよこ ひよこ

サーバーがないってこと?

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

サーバーはあるよ、ただクラウドプロバイダーが管理するから「自分で管理するサーバーがない」んだ。関数(コード)をアップロードするだけで、リクエストが来たら自動的に実行され、終わったらリソースが解放される。OS更新もスケーリングも全部おまかせだよ

ひよこ ひよこ

コスト的にはどう?

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

使った分だけ課金されるから、アクセスが少ないサービスでは圧倒的に安い。月に数百回しか実行しないバッチ処理なら月額数円で済むことも。ただし常時大量のリクエストがあるサービスでは、EC2のようにサーバーを立てた方が安くなることもあるよ

ひよこ ひよこ
ペンギン先生 ペンギン先生

しばらくリクエストがないと実行環境が破棄されて、次のリクエスト時に環境構築から始まるので数百ms〜数秒の遅延が発生することだよ。対策としてProvisioned Concurrency(事前にインスタンスを温めておく)や、SnapStart(Java向けの高速起動機能)がある。APIレスポンスタイムが厳しいサービスでは注意が必要だね

ひよこ ひよこ

どんな場面で使うべき?

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

Webhookの受信処理、②画像リサイズや動画変換などのイベント駆動処理、③定期バッチ(cronの代替)、④APIバックエンドAPI Gateway + Lambda)が定番。逆にWebSocket常時接続、長時間処理(15分超)、GPU利用には不向き。適材適所で選ぶのが大事だよ

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「サーバーレス」って出てきたら「サーバー管理なしでコードを実行できるクラウドサービス」と思えればだいたいOK!
📖 おまけ:英語の意味
「Serverless Computing」 = サーバーレスコンピューティング
💬 「サーバーがない」のではなく「サーバーを意識しなくていい」という意味だよ
← 用語集にもどる