Closed8
AWS Lambda のユースケースについてまとめたい
ピン留めされたアイテム
きっかけ
AWS Lambda について割といろんなユースケースで使っているのでまとめてみることにした。
AWS Lambda とは?
サーバーのプロビジョニングや管理の必要なし(サーバーレス)に、コードをアップロードするだけ実行できるコンピューティングサービス。FaaS の代表的なサービス。
特徴
- 多くの言語をサポート
- Python, Node.js, Go, Java, Ruby, PowerShell, C#
- コンテナもサポート
- 自動化された管理
- OS の管理、パッチの適用が不要。
- CloudWatch でログの収集とモニタリング。
- 自動スケーリング
- リクエストに応じてスケーリングし、リクエスト数に上限はない。
- 従量課金制
- リクエスト数とコードを実行した時間によって課金が発生
-
さまざまなトリガー
- 今回の肝となりそう
インプット
公式のドキュメントを読む。
その他学習に利用した記事。
Case1. Web/モバイルアプリケーションのバックエンド
- 概要
- API Gateway に統合し、多層アーキテクチャを構築。
- メリット
- アプリケーションの機能改善、新規開発にフォーカス。
- リクエストに応じた自動スケーリングによる運用負荷を低減。
Case2. データの加工や分析
-
概要
- Lambda は他のさまざまな AWS サービスと連携が可能。
- キューやイベントなどを Lambda が読み取るパターンと逆に他のサービスが Lambda を呼び出すパターンがある。
-
メリット
- 各処理を疎結合に組み合わせることにより、実行失敗時の対策や多重実行の冪等性の確保がしやすい。
- 非同期実行による UX の向上。
- データ加工用サーバの構築・運用コストの削減。
Case3. ログ処理
- 概要
- 収集したログの分析、抽出。
- エラーや障害を検出した際の処理。
- メリット
- ログの一元化。
- 可用性、拡張性の考慮が不要で設計・構築工数を削除。
- 運用負荷も軽減。
Case4. エッジコンピューティング
- 概要
Lambda@Edge
- オリジンサーバの代わりにユーザにより近いエッジロケーションでリクエストを処理することができる機能。主に CloudFront で使用。
- メリット
- ビューワに対して、コンテンツの配信を容易にカスタマイズできる。
- より近接したエッジで処理を行うため低レイテンシー。
- さまざまな用途
- A/B テスト、ユーザの認証と認可、SEO 最適化など
Case3. のログの処理は Case2. とマージしちゃっても良いかも。
乱暴な言い方かもしれないが、平たく言えば同じような使い方している気がする。
Case. 5 ファイル処理
- 概要
- S3 のイベントをトリガーとして Lambda 関数を実行する Push モデル。
- メリット
- ファイルのリサイズ、圧縮、バックアップなどが容易に実現できる。
- 数値計算や文字列変換
このスクラップは2021/08/19にクローズされました