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
610
スモールスタートで始めるためのLambda×モノリス(Lambdalith)
アキキー
April 17, 2025
Tweet
Share
More Decks by アキキー
See All by アキキー
AWS CDK初期設定のプラクティス集 with Projen
akihisaikeda
1
51
AWS CDKの推しポイント 〜CloudFormationと比較してみた〜
akihisaikeda
3
320
AI生成記事をリライトし満足度を上げようとしたら大変だった話
akihisaikeda
0
33
Amazon Q Developer CLIと一緒に最小権限の原則を守ったIAMポリシーを作ろう!
akihisaikeda
1
490
Amazon Bedrockマルチエージェントコラボレーションを諦めてLangGraphに入門してみた
akihisaikeda
1
400
JAWS_DAYS_2025_アーキテクチャ道場発表資料_ブラックサンダーズ
akihisaikeda
0
700
Amazon Bedrock Agentsで始める サーバーレスAIエージェント
akihisaikeda
0
140
Other Decks in Programming
See All in Programming
ソフトウェア品質を数字で捉える技術。事業成長を支えるシステム品質の マネジメント
takuya542
1
11k
Result型で“失敗”を型にするPHPコードの書き方
kajitack
5
600
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
430
dbt民主化とLLMによる開発ブースト ~ AI Readyな分析サイクルを目指して ~
yoshyum
3
810
「Cursor/Devin全社導入の理想と現実」のその後
saitoryc
0
770
PicoRuby on Rails
makicamel
2
120
PHP 8.4の新機能「プロパティフック」から学ぶオブジェクト指向設計とリスコフの置換原則
kentaroutakeda
2
750
Deep Dive into ~/.claude/projects
hiragram
12
2.4k
Hypervel - A Coroutine Framework for Laravel Artisans
albertcht
1
110
明示と暗黙 ー PHPとGoの インターフェイスの違いを知る
shimabox
2
480
AIプログラマーDevinは PHPerの夢を見るか?
shinyasaita
1
200
0626 Findy Product Manager LT Night_高田スライド_speaker deck用
mana_takada
0
160
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
20
1.3k
GitHub's CSS Performance
jonrohan
1031
460k
Become a Pro
speakerdeck
PRO
28
5.4k
Thoughts on Productivity
jonyablonski
69
4.7k
Fireside Chat
paigeccino
37
3.5k
How GitHub (no longer) Works
holman
314
140k
The Pragmatic Product Professional
lauravandoore
35
6.7k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
The Invisible Side of Design
smashingmag
301
51k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
5
260
Embracing the Ebb and Flow
colly
86
4.7k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
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