AWS Lambdaとは?
- サーバレスを実現するためのプログラム実行環境を提供するサービス
Lambdaのメリット
- サーバ管理が一切不要
- ちょっとした処理を少ないセットアップで実現可能
- スケーラビリティをかなり自動で確保してもらえる
- 実行された時間の分しか料金がかからない
Lambdaのデメリット
- 特有の制限事項があるので、上手に活用するには慣れが必要
- プログラミング言語やフレームワークとの相性がある
- AWSのサービスと組み合わせて使うことが多く、AWSの知識が重要
- AWSにロックインされる
Lambda 関数の実装時の課題
- Lambda 関数の実装する時は、マネジメントコンソール上ではなく、ローカルでコードを書いてアップロードする流れにしたいことが多い。
API Gateway + Lambda によるWebAPI
- Lambdaを使ってサーバレスにWeb APIを実装する場合、『API Gateway』というサービスをトリガーとして使う
- API Gatewayというサービスがブラウザからのリクエストを受け止めて、Lambda関数に処理させるという流れになる
Serverless Frameworkとは?
- Serverless Frameworkは、Lambda関数のコード、トリガー設定、関連して使用するAWSのリソースなどを管理できるOSSのツールです
Serverless Frameworkには、以下のような特徴がある
- コマンド1つでLambda関数のデプロイが可能
- AWS Lambda以外にもGoogle Cloud FunctionsやAzure Functionsなどに対応
- プラグインが豊富で、よくある状況に簡単に対応が可能
- Cloud Formationの記法で、任意のAWSリソースの管理が可能
AWS Cloud9とは?
- AWS Cloud9は、Webブラウザ上でコードを実装できる、統合開発環境のこと
参考サイト
AWS Lambda / Serverless Framework 速習ハンズオン
AWS Lambdaの最初の一歩 関数をつくって実行しよう!