サーバーレスはサーバー管理不要でコードを実行できるクラウドモデル。FaaS・BaaS・AWS Lambda・コールドスタート問題・コンテナとの使い分けを解説します。
サーバーレス(Serverless)とは、開発者がサーバーを意識することなくコードを実行できるクラウドコンピューティングモデルです。「サーバーレス」という名前ですが実際にはサーバーは存在します。クラウドプロバイダーがサーバーの管理・スケーリング・メンテナンスをすべて担当し、開発者は書いたコードを実行するだけです。使った時間・リクエスト数に応じた従量課金が特徴です。
サーバーレス(Lambdaなど)はイベント駆動・短時間処理・スケールが読めない処理に向いています。コンテナ(ECS・K8s)は常時稼働・長時間処理・より細かいリソース制御が必要な場合に向いています。多くの現場では両者を組み合わせて使います。
AWS LambdaのProvisioned Concurrencyを使うと、あらかじめ関数をウォームアップ状態にできます。また、メモリを多めに設定する・関数のサイズを小さくするなどの方法もあります。
実行時間が15分以上かかる処理・大量メモリが必要な処理・WebSocket等の持続接続が必要なケース・高頻度に実行されコールドスタートが致命的になるケースには向いていません。
ITエンジニア向け転職サービス2強を並行利用するのが最も効果的です。
※どちらも完全無料。登録だけで市場価値を確認できます。