0
0

記事紹介:API に Lambda Monolith (別名:Lambdalith) を使うべきか?

Posted at

序文

バックエンドAPIから非同期処理を切り出したくLambdaで設計した際に、以下のようなディスカッションをした。

「1つのLambdaに色々な処理を詰め込むモノリスLambdaはアンチパターンと言われているけど、処理ごとに作るのも開発速度が遅くなってしんどそう」

その際にとても良い記事を見つけることが出来たのでメモ代わり&日本語の検索導線を増やしたい気持ちで紹介記事を起稿。

本題

紹介記事冒頭の意訳

この投稿では、モノリスのLambda API関数(別名Lambdalith)について、APIエンドポイントごとの単一目的のLambda関数と比較して、賛否両論を検討する。
"ベストプラクティス"に挑戦し、APIに関しては多くの場合モノリスLambda関数の方が優れていると主張する。

【重要】
この投稿は、APIに面したLambda関数にのみ適用できる。
それ以外のものには、単一目的の関数を使おう。

【TL;DR】
最初から範囲をAPIエンドポイントごとに制限するという議論は、細かすぎるし大袈裟で最適化も早すぎる。
範囲の境界は、従来のソフトウェアがそうであったように、API/サービスレベル全体であるべきだ。
AWSの高度な機能を使用せず、移植性を最高レベルにしたい場合は、Lambalithを使用するといい。
またこれは、単一目的Lambdaで実現したい要件を満たすための多くの抜け道がある。

余談

2023の某アドカレにほぼ上位互換の記事がありました。
https://zenn.dev/watany/articles/183d40f8e31a45

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0