AWS Lambdaって何?
サーバーを自分で用意しなくても、コードだけ書いてアップロードすれば実行してくれるAWSのサービスだよ。「サーバーレス」の代表的なサービスだね。
EC2とどう違うの?
EC2は「仮想サーバーを借りる」サービスだから、OSの設定やアップデートも自分でやる。Lambdaはその辺を全部AWSがやってくれて、自分はコードだけに集中できる。代わりに1回の実行時間が最大15分という制限があるよ。
どんなときに使うの?
典型的なのは、API Gatewayと組み合わせたWebのバックエンドAPI、S3に画像がアップロードされたら自動でサムネイルを作る処理、定期的なデータ集計バッチなど。「何かが起きたらコードを実行する」というイベント駆動の処理に向いてるよ。
料金はどうなるの?
リクエスト数と実行時間(ミリ秒単位)で課金される。毎月100万リクエストまで無料枠があるから、個人開発やスタートアップにはかなり嬉しい。ただし注意点もあって、「コールドスタート」という初回起動時の遅延が発生する。しばらく呼ばれていないLambdaは実行環境が破棄されるから、次のリクエスト時に環境構築から始まる。これがリアルタイム性の高いAPIだと問題になることがある。Provisioned Concurrencyで事前にウォームアップする方法もあるけど、常時課金になるからサーバーレスの「使った分だけ」というメリットとのトレードオフになるんだ。