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 の向上。
    • データ加工用サーバの構築・運用コストの削減。

https://speakerdeck.com/sho3334/images-object-zozo

Case3. ログ処理

  • 概要
    • 収集したログの分析、抽出。
    • エラーや障害を検出した際の処理。
  • メリット
    • ログの一元化。
    • 可用性、拡張性の考慮が不要で設計・構築工数を削除。
    • 運用負荷も軽減。

https://www.youtube.com/watch?v=rsZjU5g_yXI

Case4. エッジコンピューティング

  • 概要
    • Lambda@Edge
    • オリジンサーバの代わりにユーザにより近いエッジロケーションでリクエストを処理することができる機能。主に CloudFront で使用。
  • メリット
    • ビューワに対して、コンテンツの配信を容易にカスタマイズできる。
    • より近接したエッジで処理を行うため低レイテンシー。
    • さまざまな用途
      • A/B テスト、ユーザの認証と認可、SEO 最適化など

https://aws.amazon.com/jp/lambda/edge/
https://dev.classmethod.jp/articles/a-b-testing-with-cloudfront-and-lambda-at-edge/

Case3. のログの処理は Case2. とマージしちゃっても良いかも。
乱暴な言い方かもしれないが、平たく言えば同じような使い方している気がする。

Case. 5 ファイル処理

  • 概要
    • S3 のイベントをトリガーとして Lambda 関数を実行する Push モデル。
  • メリット
    • ファイルのリサイズ、圧縮、バックアップなどが容易に実現できる。
    • 数値計算や文字列変換

https://speakerdeck.com/sho3334/images-object-zozo

このスクラップは2021/08/19にクローズされました
ログインするとコメントできます