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
新常識! Javascript×AWS Lambdaがアツい!!
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
watany
June 27, 2024
Technology
3
710
新常識! Javascript×AWS Lambdaがアツい!!
color is クラウドLT大会vol.9 で発表させていただいた内容になります。
https://saison-coloris.connpass.com/event/320707/
watany
June 27, 2024
Tweet
Share
More Decks by watany
See All by watany
ロボットのための工場に灯りは要らない
watany
11
3k
Agentic Coding 実践ワークショップ
watany
55
34k
たかが特別な時間の終わり / It's Only the End of Special Time
watany
37
11k
まだ間に合う! 2025年のhono/ssg事情
watany
4
980
AIのメモリー
watany
14
1.8k
AIエージェントが書くのなら直接CloudFormationを書かせればいいじゃないですか何故AWS CDKを使う必要があるのさ
watany
26
12k
Coding Agentに値札を付けろ
watany
3
1.1k
Vibe Codingをせずに Clineを使っている
watany
19
8.1k
ミリしらMCP勉強会
watany
4
1.2k
Other Decks in Technology
See All in Technology
Lambda Web AdapterでLambdaをWEBフレームワーク利用する
sahou909
0
170
AIエージェント、 社内展開の前に知っておきたいこと
oracle4engineer
PRO
2
160
ReactのdangerouslySetInnerHTMLは“dangerously”だから危険 / Security.any #09 卒業したいセキュリティLT
flatt_security
0
320
スケールアップ企業でQA組織が機能し続けるための組織設計と仕組み〜ボトムアップとトップダウンを両輪としたアプローチ〜
tarappo
1
170
生成AI活用でQAエンジニアにどのような仕事が生まれるか/Support Required of QA Engineers for Generative AI
goyoki
1
270
Sansanでの認証基盤内製化と移行
sansantech
PRO
0
580
進化するBits AI SREと私と組織
nulabinc
PRO
1
250
会社紹介資料 / Sansan Company Profile
sansan33
PRO
16
410k
2026-03-11 JAWS-UG 茨城 #12 改めてALBを便利に使う
masasuzu
2
400
JAWS DAYS 2026 AWS知識・技術力を使って隠された旗をゲットせよ!〜出張版「ごーとんカップ」〜 解説編
kaminashi
0
100
AlloyDB 奮闘記
hatappi
0
150
20260311 ビジネスSWG活動報告(デジタルアイデンティティ人材育成推進WG Ph2 活動報告会)
oidfj
0
350
Featured
See All Featured
Amusing Abliteration
ianozsvald
0
140
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
410
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
400
Color Theory Basics | Prateek | Gurzu
gurzu
0
260
Exploring anti-patterns in Rails
aemeredith
2
290
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.6k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Google's AI Overviews - The New Search
badams
0
930
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
290
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
150
Information Architects: The Missing Link in Design Systems
soysaucechin
0
830
Transcript
color is クラウドLT大会vol.9 新常識!JavaScript × AWS Lambdaがアツい!! 2024-06-27
自己紹介 • 渡邉 洋平(watany) ◦ NTTテクノクロス株式会社 ◦ JAWS-UG東京 運営 ◦
AWS Ambassadors (associate) • 合同で勉強会できる企業を探しています ◦ Jr. Champion/TopEngineer育成とか ◦ 普通にTechの勉強会とか
今日の目標 • AWS Lambda のJavaScript(TypeScript, Node.js)のトレンドを紹介する ◦ 従来、拘りなくLambdaを書く場合にはPythonがファーストチョイスだった(個人 研究) ◦
バックエンド、インフラでもJavaScript採用で効率化できそうなアップデート群を 紹介 • お詫び ◦ JavaScriptと言いつつ、TypeScript前提で話す
JavaScript × AWS Lambdaの新常識
JavaScript × AWS Lambdaの新常識 1. TypeScript × AWS CDK 2.
LLRT 3. Lambda Web Adaptor 4. Response Streaming
1. TypeScript × AWS CDK • AWS CDKとは? ◦ Framework
for CloudFormation ◦ 概要は右のグラレコが必要十分 • TypeScriptとは? ◦ JavaScriptのSuperset ◦ 強力かつ柔軟な型システム をJavascriptに付与 引用:使い慣れたプログラミング言語でクラウド環境を構築 ! AWS CDK をグラレコで解説 https://aws.amazon.com/jp/builders-flash/202309/awsgeek-aws-cdk/
1. TypeScript × AWS CDK AWS CDKは多言語対応とあるが…? • Toolネイティブ対応は”TypeScript” ◦
Python、GoなどはJsiiが変換して対応(まれにバグを踏む) • 2022年度の利用率は”72%”がJS/TS ◦ 2024年現在の肌感覚でも同様 ◦ JAWS-UG CDK支部も https://matthewbonig.com/posts/community-survey-2022/
1. TypeScript × AWS CDK 「NodejsFunction」でBundle部分をCDKに任せて、TypeScript ファーストのLambda開 発体験
JavaScript × AWS Lambdaの新常識 1. TypeScript × AWS CDK 2.
LLRT 3. Lambda Web Adaptor 4. Response Streaming
2. LLRT LLRT (Low Latency Runtime) • Node.js互換、WinterJS互換を目指し、AWSが開発するJS Runtime ◦
QuickJS + Rust ◦ 注)2024/6時点でBeta版
Cold Start:Node.js(1500ms) https://github.com/awslabs/llrt/tree/main/benchmarks
Cold Start:LLRT ( > 100ms) https://github.com/awslabs/llrt/tree/main/benchmarks
2. LLRT > LLRT offers up to over 10x faster
startup and up to 2x overall lower cost compared to other JavaScript runtimes running on AWS Lambda • つまりJS/TSのコードのままで ◦ ColdStart性能の改善 ▪ Go on AWS Lambdaと同等 ◦ メモリ使用量の改善 ▪ ≒ Costの改善
JavaScript × AWS Lambdaの新常識 1. TypeScript × AWS CDK 2.
LLRT 3. Lambda Web Adaptor 4. Response Streaming
3. Lambda Web Adaptor LambdaのEvents ⇔ HTTP Request/Response • Express.jsやNext.jsのWebフレームワークがAWS
Lambdaでそのまま動 く! https://aws.amazon.com/jp/blogs/compute/using-response-streaming-with-aws-lambda-web-adapter-to-optimize-performance/
3. Lambda Web Adaptor 安全かつ高速なLambda Extensions • Rust製で性能影響も軽微 ◦ 平均レイテンシーは
+0.8 ms 程度 ◦ p99 でも +4 ms 程度 • Docker on Lambdaなら1行足すだけ ◦ Managed Runtimeだと少し面倒
Extensionsのアーキテクチャ https://aws.amazon.com/jp/builders-flash/202301/lambda-web-adapter/ 3. Lambda Web Adaptor
JavaScript × AWS Lambdaの新常識 1. TypeScript × AWS CDK 2.
LLRT 3. Lambda Web Adaptor 4. Response Streaming
4. Response Streaming • 2024年時点で、世はLLM時代 ◦ つまり「ヌルヌル返却するやつ」時代ということ(?) • Lambda Response
Streaming ◦ FunctionsURLから、ペイロードをStreamingで返せる ◦ 最大20MB返せる(通常6MB)
4. Response Streaming 制約:動作条件 1.マネージドランタイム ◦ Node.js v16以降”のみ” 2.カスタムランタイムに実装 ◦
実装済はRust Runtime for AWS Lambdaのみ? 3.+ Lambda Extensions ◦ 後述のLambda Web Adaptorを使うと間接的に2.相当
4. Response Streaming Node.js Runtimeには、組み込みの独自関数が用意 https://aws.amazon.com/jp/blogs/news/introducing-aws-lambda-response-streaming/
4. Response Streaming Appendix. 組み込み関数は少し癖がある • 実装前に、↓のスライドを読むのがおススメ https://speakerdeck.com/watany/aws-lambda-response-streaming-shi-zhuang-qian-nisiritaiyatu
まとめ
まとめ • JS/TS × LambdaとCDKとで、技術スタックを統一しやすい • StreamingもNode.jsランタイムなら始めやすい • Lambda Web
AdaptorでJSの強力なWeb Flameworkを採用できる • LLRTが実用化されれば更なる最適化へ…! だから JavaScript × AWS Lambdaがアツい!!