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の推しポイント 〜CloudFormationと比較してみた〜
akihisaikeda
3
320
AI生成記事をリライトし満足度を上げようとしたら大変だった話
akihisaikeda
0
33
Amazon Q Developer CLIと一緒に最小権限の原則を守ったIAMポリシーを作ろう!
akihisaikeda
1
490
Amazon Bedrockマルチエージェントコラボレーションを諦めてLangGraphに入門してみた
akihisaikeda
1
390
JAWS_DAYS_2025_アーキテクチャ道場発表資料_ブラックサンダーズ
akihisaikeda
0
700
Amazon Bedrock Agentsで始める サーバーレスAIエージェント
akihisaikeda
0
140
Other Decks in Programming
See All in Programming
初学者でも今すぐできる、Claude Codeの生産性を10倍上げるTips
s4yuba
14
8.8k
WebViewの現在地 - SwiftUI時代のWebKit - / The Current State Of WebView
marcy731
0
110
たった 1 枚の PHP ファイルで実装する MCP サーバ / MCP Server with Vanilla PHP
okashoi
1
220
エラーって何種類あるの?
kajitack
5
340
20250704_教育事業におけるアジャイルなデータ基盤構築
hanon52_
5
560
システム成長を止めない!本番無停止テーブル移行の全貌
sakawe_ee
1
160
Select API from Kotlin Coroutine
jmatsu
1
220
Google Agent Development Kit でLINE Botを作ってみた
ymd65536
2
220
GitHub Copilot and GitHub Codespaces Hands-on
ymd65536
2
140
生成AIコーディングとの向き合い方、AIと共創するという考え方 / How to deal with generative AI coding and the concept of co-creating with AI
seike460
PRO
1
350
#QiitaBash MCPのセキュリティ
ryosukedtomita
0
900
VS Code Update for GitHub Copilot
74th
2
600
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
270
20k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
810
Code Reviewing Like a Champion
maltzj
524
40k
A Tale of Four Properties
chriscoyier
160
23k
Rails Girls Zürich Keynote
gr2m
94
14k
The Language of Interfaces
destraynor
158
25k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.6k
Done Done
chrislema
184
16k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
48
2.9k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.7k
Facilitating Awesome Meetings
lara
54
6.4k
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