Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
スモールスタートで始めるためのLambda×モノリス(Lambdalith)
Search
アキキー
April 17, 2025
Programming
2
490
スモールスタートで始めるためのLambda×モノリス(Lambdalith)
アキキー
April 17, 2025
Tweet
Share
More Decks by アキキー
See All by アキキー
AI生成記事をリライトし満足度を上げようとしたら大変だった話
akihisaikeda
0
1
Amazon Q Developer CLIと一緒に最小権限の原則を守ったIAMポリシーを作ろう!
akihisaikeda
1
430
Amazon Bedrockマルチエージェントコラボレーションを諦めてLangGraphに入門してみた
akihisaikeda
1
330
JAWS_DAYS_2025_アーキテクチャ道場発表資料_ブラックサンダーズ
akihisaikeda
0
630
Amazon Bedrock Agentsで始める サーバーレスAIエージェント
akihisaikeda
0
120
Other Decks in Programming
See All in Programming
Devinで実践する!AIエージェントと協働する開発組織の作り方
masahiro_nishimi
6
1.8k
Cache Strategies with Redisson & Exposed
debop
0
120
Design Pressure
hynek
0
1.4k
VibeCoding時代のエンジニアリング
daisuketakeda
0
300
ユーザーにサブドメインの ECサイトを提供したい (あるいは) 2026年函館で一番熱くなるかもしれない言語の話
uvb_76
0
160
Boast Code Party / RubyKaigi 2025 After Event
lemonade_37
0
300
ts-morph実践:型を利用するcodemodのテクニック
ypresto
1
470
Rethinking Data Access: The New httpResource in Angular
manfredsteyer
PRO
0
190
CRUD から CQRS へ ~ 分離が可能にする柔軟性
tkawae
0
200
私のRubyKaigi 2025 Kaigi Effect / My RubyKaigi 2025 Kaigi Effect
chobishiba
1
200
JSAI2025 RecSysChallenge2024 優勝報告
unonao
1
290
CursorとDevinが仲間!?AI駆動で新規プロダクト開発に挑んだ3ヶ月を振り返る / A Story of New Product Development with Cursor and Devin
rkaga
5
1.8k
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
329
21k
Making the Leap to Tech Lead
cromwellryan
133
9.3k
Reflections from 52 weeks, 52 projects
jeffersonlam
349
20k
Become a Pro
speakerdeck
PRO
28
5.3k
Side Projects
sachag
453
42k
Designing for Performance
lara
608
69k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
450
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Visualization
eitanlees
146
16k
Git: the NoSQL Database
bkeepers
PRO
430
65k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
19
1.2k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.6k
Transcript
JAWS-UG 彩の国埼玉支部 #0 ~新たなコンセプト、新たなメンバーで ゼロから創設!~ スモールスタートで始めるためのLambda × モノリス (Lambdalith) 2025.04.17(木)
池田 晃尚(@akikii__) 1
自己紹介 アキキー(池田 晃尚) ALH株式会社(SES) AWSエンジニア 好きなサービス:CDK, Bedrock 出身:石川県 金沢市 趣味:コーヒー
スモールスタートで始めるためのLambda × モノリス(Lambdalith) JAWS-UG 彩の国埼玉支部 #0 ~新たなコンセプト、新たなメンバーで ゼロ から創設!~ 2
スモールスタートの課題 スモールスタートで始めるためのLambda × モノリス(Lambdalith) JAWS-UG 彩の国埼玉支部 #0 ~新たなコンセプト、新たなメンバーで ゼロから創設!~ 3
スモールスタートとは 小規模で素早く始めること ユースケース 個人開発 概念実証 新規事業 スモールスタートで始めるためのLambda × モノリス(Lambdalith) JAWS-UG
彩の国埼玉支部 #0 ~新たなコンセプト、新たなメンバーで ゼロ から創設!~ 4
スモールスタートで個人的に重視したいポイント コスト ... 小規模なのでなるべく費用を抑えたい! ポータビリティ ...規模が大きくなった時に構成変更・移行しやすくしたい! 設定の容易さ ... 需要の予測が立てづらいので簡単に設定したい! デプロイの容易さ
... 出来上がったものをすぐにデプロイしたい! スモールスタートで始めるためのLambda × モノリス(Lambdalith) JAWS-UG 彩の国埼玉支部 #0 ~新たなコンセプト、新たなメンバーで ゼロから創設!~ 5
スモールスタートにおけるバックエンドAWS構成のお話をします スモールスタートで始めるためのLambda × モノリス(Lambdalith) JAWS-UG 彩の国埼玉支部 #0 ~新たなコンセプト、新たなメンバーで ゼロから創設!~ 6
よくある構成①: ALB + ECSパターンの課題 コスト...ECSタスクが起動している限りコストがかかる 設定の容易さ...構成要素が多く複雑 スモールスタートで始めるためのLambda × モノリス(Lambdalith) JAWS-UG
彩の国埼玉支部 #0 ~新たなコンセプト、新たなメンバーで ゼロから創設!~ 7
よくある構成②: API Gateway + Lambdaパターンの課題 ポータビリティ...Lambdaにアプリを載せるのは独自のコードが必要 デプロイの容易さ ...共通コードのデプロイが面倒。追加のAPIを作る時追加のLambdaが必要 その他...API Gatewayの制限時間が29秒(生成AIアプリは30秒を超えがち)
→ クォータ制限緩和できるようになったみたいです! 参考:[アップデート] Amazon API Gateway の統合タイムアウトを 29 秒より長く 設定出来るようになったので、申請から設定までやってみた スモールスタートで始めるためのLambda × モノリス(Lambdalith) JAWS-UG 彩の国埼玉支部 #0 ~新たなコンセプト、新たなメンバーで ゼロから創設!~ 8
Lambdalithパターンという選択肢 スモールスタートで始めるためのLambda × モノリス(Lambdalith) JAWS-UG 彩の国埼玉支部 #0 ~新たなコンセプト、新たなメンバーで ゼロから創設!~ 9
Lambdalithとは Lambda + Monolith(モノリス)を組み合わせた造語 単一のLambdaを利用してモノリシックに利用するパターン Next.jsやHono、FastAPIなどの使い慣れたWebフレームワークを利用するために、 Lambda Web Adapterを利用 スモールスタートで始めるためのLambda
× モノリス(Lambdalith) JAWS-UG 彩の国埼玉支部 #0 ~新たなコンセプト、新たなメンバーで ゼロから創設!~ 10
Lambdalithパターンはスモールスタートに向いているか? コスト...従量課金方式なので低コストから利用可能! ポータビリティ...Lambda以外の環境でも利用可! 設定の容易さ...構成要素が少なく、設定がシンプル! デプロイの容易さ...アプリのデプロイ対象はコンテナイメージ1つだけ! スモールスタートで始めるためのLambda × モノリス(Lambdalith) JAWS-UG 彩の国埼玉支部
#0 ~新たなコンセプト、新たなメンバーで ゼロから創設!~ 11
Q: Lambdalithの実装、大変なんでしょ? A: Lambdaをコンテナイメージでデプロイ + Dockerfileに1行追加するだけでOKです! 参考:Lambda Web Adapter でウェブアプリを
(ほぼ) そのままサーバーレス化する スモールスタートで始めるためのLambda × モノリス(Lambdalith) JAWS-UG 彩の国埼玉支部 #0 ~新たなコンセプト、新たなメンバーで ゼロから創設!~ 12
LambdalithでToDoアプリ作ってみた スモールスタートで始めるためのLambda × モノリス(Lambdalith) JAWS-UG 彩の国埼玉支部 #0 ~新たなコンセプト、新たなメンバーで ゼロから創設!~ 13
ToDOアプリのAWS構成 フロントエンド:CloudFront + S3(React) バックエンド:CloudFront + Lambda(Express.js) データベース:Aurora for PostgreSQL
スモールスタートで始めるためのLambda × モノリス(Lambdalith) JAWS-UG 彩の国埼玉支部 #0 ~新たなコンセプト、新たなメンバーで ゼロから創設!~ 14
ToDoアプリを動かしてみた 1つのLambda上で動いてる! スモールスタートで始めるためのLambda × モノリス(Lambdalith) JAWS-UG 彩の国埼玉支部 #0 ~新たなコンセプト、新たなメンバーで ゼロから創設!~
15
Lambdalithの課題 高トラフィック時にスロットリングが発生する コールドスタートが発生する 実行時間の上限が15分 リクエストサイズの上限が6MB ...など、Lambda実行環境による制限がある スモールスタートで始めるためのLambda × モノリス(Lambdalith) JAWS-UG
彩の国埼玉支部 #0 ~新たなコンセプト、新たなメンバーで ゼロから創設!~ 16
...そこまで気にする段階になったら Lambdaじゃなくてよくない? ということでECSに置き換えちゃおう! スモールスタートで始めるためのLambda × モノリス(Lambdalith) JAWS-UG 彩の国埼玉支部 #0 ~新たなコンセプト、新たなメンバーで
ゼロから創設!~ 17
ToDOアプリのAWS構成(ECS版) フロントエンド:CloudFront + S3(React)...変更なし バックエンド:CloudFront + ALB + ECS(Express.js)...変更あり! データベース:Aurora
for PostgreSQL...変更なし スモールスタートで始めるためのLambda × モノリス(Lambdalith) JAWS-UG 彩の国埼玉支部 #0 ~新たなコンセプト、新たなメンバーで ゼロから創設!~ 18
その他変更点 アプリ...変更なし! Dockerfile...Lambda Web Adapterの1行を削除 スモールスタートで始めるためのLambda × モノリス(Lambdalith) JAWS-UG 彩の国埼玉支部
#0 ~新たなコンセプト、新たなメンバーで ゼロから創設!~ 19
ToDoアプリ動かしてみた(再) アプリの変更なしにECSへの載せ替えができた!!! スモールスタートで始めるためのLambda × モノリス(Lambdalith) JAWS-UG 彩の国埼玉支部 #0 ~新たなコンセプト、新たなメンバーで ゼロから創設!~
20
まとめ LambdalithパターンでスモールスタートにWebアプリが開発できる! Lambdalithに必要なLambda Web Adapterは、とても簡単に導入できる! ECSにアプリケーションの変更なく載せ替えできる! スモールスタートで始めるためのLambda × モノリス(Lambdalith) JAWS-UG
彩の国埼玉支部 #0 ~新たなコンセプト、新たなメンバーで ゼロから創設!~ 21