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
アキキー | Akihisa Ikeda
April 17, 2025
Programming
1.2k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
スモールスタートで始めるためのLambda×モノリス(Lambdalith)
アキキー | Akihisa Ikeda
April 17, 2025
More Decks by アキキー | Akihisa Ikeda
See All by アキキー | Akihisa Ikeda
ドリフトを絶対に許さない(?)CDK運用 / CDK Ops with Zero Tolerance for Drifts (?)
akihisaikeda
1
220
ECSアプリログをFireLensでコスト削減しようとしたけど諦めた話 in Fargate×Node.js
akihisaikeda
4
4.5k
ECR拡張スキャンでSBOMを収集して サプライチェーン攻撃の影響調査を 爆速で終わらせてみた
akihisaikeda
2
310
AWSはOSSをどのように 考えているのか?
akihisaikeda
1
180
最初からAWS CDKで技術検証してもいいんじゃない?
akihisaikeda
4
250
責任感のあるCloudWatchアラームを設計しよう
akihisaikeda
5
270
AWS CDKの推しポイントN選
akihisaikeda
1
340
地獄絵図!CDKプロジェクトを手動更新して生まれた大量のプロパティ差分を解消する方法
akihisaikeda
5
1.5k
AWS CDK初期設定のプラクティス集 with Projen
akihisaikeda
3
510
Other Decks in Programming
See All in Programming
AIと壁打ちしながら進めるコスト管理
fufuhu
2
1.5k
tsc.rip を支える技術 / Kyoto.なんか #8
susisu
0
160
Cloudflare is Agents
chimame
0
180
AWS Transform Customによる Spring Boot 2.xから4.xへのVerUp
satoshi256kbyte
2
100
How I Won Prize Money at a Hackathon Using Codex and Symphony Alpha
yasei_no_otoko
0
120
仕様駆動開発の消費期限
watany
20
8.9k
レビュー履歴をAIに食わせて、 Compose移行を加速するs
shihochan
0
200
書籍「プロフェッショナルAI駆動開発」紹介スライド
juntaromatsumoto
0
350
My Marp Sample
sinoue0108
0
110
仕様書を書く前にハーネスを作る - Agent Native開発は「探索を速く、判定を固く」
gotalab555
4
1.8k
Webエンジニアなのにブラウザの仕組みがわからないので、Pythonで自作してみた
tatsuki12
4
1k
使いながら育てる Claude Code — 開発フローの1コマンド化 × 繰り返し指摘の自動仕組み化
shiki_kakaku
1
1.9k
Featured
See All Featured
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
540
Code Reviewing Like a Champion
maltzj
528
40k
Exploring anti-patterns in Rails
aemeredith
3
470
How to Ace a Technical Interview
jacobian
281
24k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.6k
The Curse of the Amulet
leimatthew05
2
14k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
710
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
550
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
500
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
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