サーバーレスとは、
 開発者がサーバーを管理する必要がない(サーバーがないわけではない)
 FaaS(Function as a Service)

AWS Lambda
DynamoDB
AWS Cognito
AWS API Gateway
Amazon S3
AWS SNS & SQS
AWS Kinesins Data Firehose
Aurora Serverless
Step Functions
Fargate


AWS Lambda

仮想機能(サーバーの管理が必要ない)
オンデマンドで実行
自動化されたスケーリング!

価格設定:リクエスト課金体系
 リクエスト数 1,000,000件のAWS Lambdaリクエストまで無料 超過時 100万リクエストあたり0.20ドル
 計算時間   400,000GB・秒のコンピュートタイムまで無料 超過時 60,000GB・秒につき1ドル

非常に多くのAWSサービスと統合

多くのプログラミング言語に対応
 Node.js Python Java C#(.NET Core) Golang C#/Powershell Ruby カスタムランタイムAPI
 コンテナイメージ: 基本的にECS/Fargateが向いている

AWS CloudWatchによる簡単なモニタリング
機能ごとのリソースを簡単に増やせる
実行
 メモリ割当て:128MB~10GB(RAMを増やすとCPUやNWも改善される)
 最大実行時間:900秒(15分)
 リクエスト/レスポンスデータサイズ:最大6MB
 環境変数:4KB
 実行環境のディスク容量(/tmp内):512MB
 並列実行回数:1,000(リージョン毎・増加可能)
デプロイ
 ラムダ関数の展開サイズ
  圧縮された(.zip):50MB
  圧縮されていない(コードと依存ライブラリ):250MB
 起動時に他のファイルをロードするために/tmpディレクトリを使用可能(512MB)
 環境変数:4KB


Lambda@Edge
 CloudFrontを使ってCDNを導入した場合、
 CloudFrontのリクエストやレスポンスをLambdaで変えることができる

     ①Viewer Request     ②Origin Request
ユーザー         CloudFront       オリジン(S3)
     ④Viewer Response    ③Origin Response


DynamoDB