そもそもAWSのLambdaとは?
サーバーのプロビジョニング、管理なしにコードを実行できるAWSが提供するサーバーレスコンピューティングサービス。
基本的にどのようなタイプのアプリケーションのコードも実行できる。
ちなみにサーバーレスというのはこちらがサーバーを用意する必要がなく、実行基盤はAWS側で管理されるということでサーバー自体が必要ないということではないです。
プロビジョニング
→必要なものを準備・提供すること、またはその作業工程、リソースのこと
Lambdaの特徴
その1 LambdaはFaaS(Function as a Service)の一つ
FaaSとは
・FaaSは「Function-as-a-Service」の略で、サーバーレスアーキテクチャの一形態
・オートスケーリング
→ 作成したプログラムに合わせて自動的にサーバーを拡大、縮小(オートスケーリング)する機能。
・イベントドリブン方式
→ 基本的にイベントごとに実行させるコードを書く方式
なんらかのイベントが発生した時に、初めて処理が実行される。
コードの実行に必要なリソースのみを割り当て、使用されない時にはリソースを割り当てられないのが特徴
その2 DB連携
NoSQLのAmazon DynamoDBやAmazon RDSも連携可能。
Lambdaのメリット
メリット
コスト効率
・未使用時はコストがかからず、実行時間と使用リソース量に基づいてのみ料金が発生する料金形態
自動スケーリング
・関数はイベントの量に合わせ自動的にスケールアップ、ダウンする
開発者の運用が楽に
・サーバーレスのため、サーバーの管理、スケーリングなどを気にせず開発に集中できる。
まとめ
・AWSのLambdaはサーバーなどのインフラを管理する必要なく、運用負荷を減らし、簡単にDBに対してのコード実行などのバックエンドしょrが可能になり、より開発に集中できるようになる。