サーバーレスアンチパターン今昔物語 【学習メモ】
AWS Japanの@Keisuke69 さんによるオンライン勉強会 (サーバーレスアンチパターン今昔物語) に参加しました。個人的な学習メモです。
【Lambda × RDS】 過去のサーバーレスアンチパターン
※ RDSというかRDBMS全般
----------------------------
■ Lambda は同時にリクエストがくると水平方向にスケールアウトする
たとえば1,000リクエストがきたとしたら、Lambda 関数のコンテナが1,000個立ち上がる
■ Lambda → RDSへの接続にめっちゃ負荷がかかる
■ でもLambda はステートレスだから、コネクションプール的なことができない
■ 大量のリクエストに耐えられるめっちゃ巨大なDBを準備するのもあんまコスト的に現実的ではない
(せっかくLambda で使った分だけ課金にしてるのに、ずっとDB立ち上げといたらあんま意味ない)
----------------------------
詳細な解説は@Keisuke69 さんの記事をごらんください。
▼ なぜAWS LambdaとRDBMSの相性が悪いかを簡単に説明する
https://www.keisuke69.net/entry/2017/06/21/121501
【Lambda × RDS】 上記の問題が解消されたらしい
■ RDS Proxy というプロキシが登場した
https://aws.amazon.com/jp/rds/proxy/
■ Lambda がRDS Proxy を呼べるようになったから、Lambda とRDSの相性が劇的に改善された
質問タイムから一部メモ
【Q】解決したアンチパターンがある中で、新アンチパターンみたいなものを出して欲しいです。
→ 【A】 Lambda から EFSにアクセスできるようになったけど
ステートフルなアプリケーションになりそうだから、あんまりおすすめしない
【Q】簡単なバッチを作るとして Fargate と Lambda どういう使い分けをしたらいいですか?
→ 【A】バッチ処理が15分以上かかるならおのずとFargate。他はLambda
感想
AWS に明るくない自分に理解できるかな... と思いつつ参加したのですが、@Keisuke69 さんのご説明は大変わかりやすかったです。
過去のアンチパターンがアップデートによって改善されるのはすばらしいですね。
また、勉強会の枠が30分間のというのも良かったです。
集中力が続くのと、だらけないという気づきがありました。
先に勉強しなきゃいけないことがまだまだいっぱいあるので、RDS Proxy を深掘りするのはいったん置いておきます。
存在を知っておいて、必要になったとき改めて深掘りします!
この記事が気に入ったらサポートをしてみませんか?