AWS Lambda
https://gyazo.com/9c319fa75be36fc91d4b369840739aac
イベント
に反応して
バックエンド
コードを
コンテナ
内で実行する
コンピューティング
サービス
.
イベント
数に応じて
AutoScaling
する.
フロント
の
アプリケーション
から
Amazon_API_Gateway
経由で呼び出すことができる.
ブラウザ
が特定の
イベント
を
トリガー
に
Amazon_API_Gateway
の
エンドポイント
に
HTTPS
リクエスト
を送信.
Amazon API Gateway
が
AWS_Lambda
を起動.
AWS_Lambda
は(
Amazon_DynamoDB
から読み込みなど)処理を行い
JSON
を
Amazon API Gateway
に返す.
Amazon API Gateway
が
ブラウザ
に
HTTP
レスポンス
を返す.
ブラウザ
が
レスポンス
を元に
レンダリング
を行う.
データ
整形・変換
ブラウザ
が
画像
を
S3バケット
に
アップロード
アップロード
を
トリガー
として
AWS_Lambda
が起動する.
AWS_Lambda
が
S3バケット
から画像を取得,
サムネイル
を作成する.
定期的な処理
Amazon_CloudWatch
が定期的に
AWS_Lambda
を起動する.
Amazon_EC2
で
cron
処理していた部分は
AWS_Lambda
に
オフロード
できる.
コスト
,
実行時間
で有利.
以下の
プログラミング言語
をサポートしている.
Java
C#
Go
Python
PowerShell
Ruby
Node.js
リクエスト
とコード実行時間でコストが定まる.
Amazon RDS
との組み合わせは一般に
アンチパターン
であるとされている.
AWS_Lambda
は
イベント
や
リクエスト
のたびに
コンテナ
を起動し
コネクション
を貼るため,同時接続数に限りがある
RDBMS
とは相性が悪い.
RDS Proxy
の登場で
コネクションプール
を
コンテナ
間で共有できるようになったが,これを利用するための
コスト
の
オーバーヘッド
がある.