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
740
スモールスタートで始めるためのLambda×モノリス(Lambdalith)
アキキー
April 17, 2025
Tweet
Share
More Decks by アキキー
See All by アキキー
地獄絵図!CDKプロジェクトを手動更新して生まれた大量のプロパティ差分を解消する方法
akihisaikeda
4
770
AWS CDK初期設定のプラクティス集 with Projen
akihisaikeda
2
330
AWS CDKの推しポイント 〜CloudFormationと比較してみた〜
akihisaikeda
3
450
AI生成記事をリライトし満足度を上げようとしたら大変だった話
akihisaikeda
0
38
Amazon Q Developer CLIと一緒に最小権限の原則を守ったIAMポリシーを作ろう!
akihisaikeda
1
680
Amazon Bedrockマルチエージェントコラボレーションを諦めてLangGraphに入門してみた
akihisaikeda
1
520
JAWS_DAYS_2025_アーキテクチャ道場発表資料_ブラックサンダーズ
akihisaikeda
0
770
Amazon Bedrock Agentsで始める サーバーレスAIエージェント
akihisaikeda
0
160
Other Decks in Programming
See All in Programming
ソフトウェア設計の実践的な考え方
masuda220
PRO
3
500
開発生産性を上げるための生成AI活用術
starfish719
1
200
2分台で1500examples完走!爆速CIを支える環境構築術 - Kaigi on Rails 2025
falcon8823
3
3.4k
Domain-centric? Why Hexagonal, Onion, and Clean Architecture Are Answers to the Wrong Question
olivergierke
2
630
株式会社 Sun terras カンパニーデック
sunterras
0
250
複雑化したリポジトリをなんとかした話 pipenvからuvによるモノレポ構成への移行
satoshi256kbyte
1
850
CSC305 Lecture 03
javiergs
PRO
0
240
Back to the Future: Let me tell you about the ACP protocol
terhechte
0
130
アメ車でサンノゼを走ってきたよ!
s_shimotori
0
200
iOSエンジニア向けの英語学習アプリを作る!
yukawashouhei
0
180
iOSエンジニア向けの英語学習アプリを作る!
yukawashouhei
0
180
CSC509 Lecture 01
javiergs
PRO
1
430
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Making the Leap to Tech Lead
cromwellryan
135
9.5k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Practical Orchestrator
shlominoach
190
11k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Building Adaptive Systems
keathley
43
2.8k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
890
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.2k
Balancing Empowerment & Direction
lara
4
680
Done Done
chrislema
185
16k
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