Lambdaについて全く知らなかったので、学んだことの概要をアウトプットしたく記事にしました。
AWS Lambdaとは?
Lambdaは、「サーバーレスコンピューティングサービス」です。
サーバーレスとは、ユーザーがサーバーの管理や運用を意識せずに運用することができるサービスで、Lambdaの実行環境はAWSが提供してくれます。
どんなときに使う?
Lambdaは、次のような状況で便利です。
- アクセスが予測できない時:Lambdaはイベント駆動型なので、特定のイベント(トリガー)が発生したときに自動的にコードを実行します。そのため、EC2のように1日中仮想サーバーのインスタンスを立ち上げて置く必要がなく、アクセスした回数分だけのコストで済みます。
- 短時間で完了するバックエンド処理:Webサービスのバックエンドとして使用できます。Lambdaは必要なときにコードを実行し、リクエスト数に応じて自動でスケールするので、インフラ管理を気にせずアプリケーションロジックに集中できます。
メリットとデメリット
-
メリット
- スケーラブル:Lambdaは自動でスケールするため、急にアクセスが増えた場合でも自動で対応可能。
- コスト効率:使った時間分だけ料金が発生するため、長時間動作しないアプリケーションに適している。
- インフラ管理不要:サーバーの設定やメンテナンスを気にすることなく、コードに集中できる。
-
デメリット
- 実行時間の制限:Lambdaは実行時間に制限があるため、長時間の処理には向いていない(最大15分)。
- エラーの解析が難しい:内部で行われる処理の大部分は隠されているため、Lambdaはモニタリングやエラー解析が難しいといわれている。
まだまだ勉強中で拙い部分もあるかと思いますが、自分の理解を深めるために書きました。読んでいただきありがとうございました!
参考記事