【さーばーれす】

サーバーレス とは?

最終更新:
💡 サーバーを「意識しない」クラウド活用法
📌 このページのポイント
サーバーレスの仕組み 従来型サーバー サーバー常時稼働 処理中 アイドル(無駄) 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」 = サーバーレスコンピューティング
💬 「サーバーがない」のではなく「サーバーを意識しなくていい」という意味だよ
← 用語集にもどる