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@Edgeを利用したサードパーティJavaScriptのカナリアリリース / Ca...
Search
Edward Fox
May 28, 2021
Technology
0
100
Lambda@Edgeを利用したサードパーティJavaScriptのカナリアリリース / Canary release using Lamdba@Edge
2021-05-28 @AWS Dev Alliance
Edward Fox
May 28, 2021
Tweet
Share
More Decks by Edward Fox
See All by Edward Fox
Priorityを制するものはローディングを制す
edwardkenfox
4
750
AWS re:Invent 2019 / Hackathon for Good 参加録
edwardkenfox
2
590
Repro basketball club
edwardkenfox
0
250
Introduction to UX Optimizer
edwardkenfox
0
110
フロントエンド開発の落とし穴 / Fallacies of Client Side Programming (2019ver)
edwardkenfox
0
330
僕とprototypeとJSONで / Me and prototype down by the JSON
edwardkenfox
0
150
クライアントサイド開発の落とし穴 / Fallacies of Client Side Programming
edwardkenfox
0
450
Beacon API ことはじめ 〜そしてkeepalive fetchへ〜 / Beacon API The Basics
edwardkenfox
0
1.1k
window.windowとは何か / What is window window
edwardkenfox
1
230
Other Decks in Technology
See All in Technology
Datadog On-Call と Cloud SIEM で作る SOC 基盤
kuriyosh
0
160
クレジットカードの不正を防止する技術
yutadayo
16
6.7k
こんな時代だからこそ! 想定しておきたいアクセスキー漏洩後のムーブ
takuyay0ne
4
550
開発者から見たLLMの進化 202511
ny7760
1
170
What's the recommended Flutter architecture
aakira
3
1.1k
Amazon ECS デプロイツール ecspresso の開発を支える「正しい抽象化」の探求 / YAPC::Fukuoka 2025
fujiwara3
11
1.8k
コンピューティングリソース何を使えばいいの?
tomokusaba
1
140
日々のSlackアラート確認運用をCustom Chat Modesで楽にした話 / 日々のSlackアラート確認運用をCustom Chat Modesで楽にした話
imamotohikaru
0
450
AI時代に必要なデータプラットフォームの要件とは by @Kazaneya_PR / 20251107
kazaneya
PRO
4
970
Copilotの精度を上げる!カスタムプロンプト入門.pdf
ismk
10
3.4k
Master Dataグループ紹介資料
sansan33
PRO
1
3.9k
マウントとるやつ、リリースするやつ
otsuki
1
120
Featured
See All Featured
Faster Mobile Websites
deanohume
310
31k
Rails Girls Zürich Keynote
gr2m
95
14k
GitHub's CSS Performance
jonrohan
1032
470k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Bash Introduction
62gerente
615
210k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
33
1.8k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.1k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
34
2.3k
Embracing the Ebb and Flow
colly
88
4.9k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Transcript
Lambda@Edge Λར༻ͨ͠ αʔυύʔςΟJavaScriptͷ ΧφϦΞϦϦʔε Edward Fox 2021/05/28 @AWS Dev Alliance
@edwardkenfox Edward Fox ɾΤϯδχΞ @ Reproגࣜձࣾ ɾWEBʗϒϥβٕज़શൠɺࢄॲཧ ɾόεέɺϏʔϧɺӉ 2/52
ࠓ͢͜ͱ: Lambda@Edge Λར༻͠ ҆શͳܗͰϦϦʔε͕Ͱ͖Δ Α͏ʹͳͬͨ 3/52
ࠓ͞ͳ͍͜ͱ: Lambda@Edge ͷػೳհ ͳͲ 4/52
1. αʔυύʔςΟJavaScriptͱ 2. ϦϦʔεͷ 3. ΧφϦΞϦϦʔε ͱ 4. Lambda@Edge Ͱͷ࣮ݱํ๏
5. ݁Ռ 6. AWS ͞Μͷཁ 5/52
1. αʔυύʔςΟJavaScriptͱ 2. ϦϦʔεͷ 3. ΧφϦΞϦϦʔε ͱ 4. Lambda@Edge Ͱͷ࣮ݱํ๏
5. ݁Ռ 6. AWS ͞Μͷཁ
αΠτʹຒΊࠐΜͰΒ͍ σʔλΛऩूͨ͠Γૹ৴͢Δ αʔυύʔςΟͷJavaScriptίʔυɻ Google Analyticsʹද͞ΕΔΑ͏ͳ λάࠂܭଌπʔϧ͕͜Εʹ͋ͨΔ 7/52
※ ฐࣾͰఏڙ͍ͯ͠Δ αʔυύʔςΟJavaScript Web SDKͱݺΕ͍ͯ·͢ 8/52
※ ࣮ࡍͷͷͱҟͳΓ·͢
Web SDK ʹมߋ͕͋Δͨͼʹ ϦϦʔεΛ࣮ࢪ͢Δ͕ repro-sdk.min.js ৗʹ ࠷৽όʔδϣϯΛࢀর͢Δ 10/52
None
1. αʔυύʔςΟJavaScriptͱ 2. ϦϦʔεͷ 3. ΧφϦΞϦϦʔε ͱ 4. Lambda@Edge Ͱͷ࣮ݱํ๏
5. ݁Ռ 6. AWS ͞Μͷཁ
৽͍͠όʔδϣϯΛϦϦʔε ͢Δͱ ଈ࣌ͯ͢ͷ ΫϥΠΞϯτͰಈ࡞Λ࢝ΊΔ 13/52
👍 ɾ͕͋ͬͨΒ͙͢ʹؾ͚Δ 👎 ɾ͕͋ͬͨͱ͖ͷඃ͕ਙେ 14/52
ڪාͷҰٿೖࠢϦϦʔε 😇 15/52
༷ʑͳϒϥβΣϒαΠτͰ ಈ࡞͢ΔαʔυύʔςΟ JavaScriptͱ͍͏ੑ࣭తʹɺ ΫϥΠΞϯτґଘͰى͖ΔΛ ͯ͢ࣄલʹ༧ଌ͢Δ͜ͱࠔ
=> ຊ൪ʹग़ͯ͠Έͳ͍ͱ ͔Βͳ͍ɻ ͰͳΔ҆͘શʹग़͍ͨ͠ 17/52
ͦΜͳͱ͖ͷͨΊͷ ΧφϦΞϦϦʔε 🐧 🐧 🐧 18/52
1. αʔυύʔςΟJavaScriptͱ 2. ϦϦʔεͷ 3. ΧφϦΞϦϦʔε ͱ 4. Lambda@Edge Ͱͷ࣮ݱํ๏
5. ݁Ռ 6. AWS ͞Μͷཁ
https://martinfowler.com/bliki/ CanaryRelease.html ͔ΒҾ༻ 20/52
1. 2. 3.
22/52
Web SDKʹ͓͚Δ ΧφϦΞϦϦʔεͷཁ݅ 23/52
1. Web SDKʹର͢ΔτϥϑΟοΫશମʹରͯ͠ ภΓͳ͘৽چόʔδϣϯΛࢄ͍ͤͨ͞ 2. ΫϥΠΞϯτ͝ͱʹ৽چόʔδϣϯΛ ͲͪΒ͔ʹݻఆ͍ͤͨ͞ 3. ৽چόʔδϣϯͷৼΓ͚ͷׂ߹Λࢦఆ ͍ͨ͠ɻ·ͨঃʑʹׂ߹Λม͍͑ͨɻ
24/52
1. αʔυύʔςΟJavaScriptͱ 2. ϦϦʔεͷ 3. ΧφϦΞϦϦʔε ͱ 4. Lambda@Edge Ͱͷ࣮ݱํ๏
5. ݁Ռ 6. AWS ͞Μͷཁ
26/52
27/52
None
1. αʔυύʔςΟJavaScriptͱ 2. ϦϦʔεͷ 3. ΧφϦΞϦϦʔε ͱ 4. Lambda@Edge Ͱͷ࣮ݱํ๏
5. ݁Ռ 6. AWS ͞Μͷཁ
1. Web SDKʹର͢ΔτϥϑΟοΫશମʹରͯ͠ ภΓͳ͘৽چόʔδϣϯΛࢄ͍ͤͨ͞ 2. ΫϥΠΞϯτ͝ͱʹ৽چόʔδϣϯΛ ͲͪΒ͔ʹݻఆ͍ͤͨ͞ 3. ৽چόʔδϣϯͷৼΓ͚ͷׂ߹Λ ࢦఆ͍ͨ͠ɻ·ͨঃʑʹׂ߹Λม͍͑ͨɻ
30/52
1. Web SDKʹର͢ΔτϥϑΟοΫશମʹରͯ͠ ภΓͳ͘৽چόʔδϣϯΛࢄ͍ͤͨ͞ 2. ΫϥΠΞϯτ͝ͱʹ৽چόʔδϣϯΛ ͲͪΒ͔ʹݻఆ͍ͤͨ͞ 3. ৽چόʔδϣϯͷৼΓ͚ͷׂ߹Λ ࢦఆ͍ͨ͠ɻ·ͨঃʑʹׂ߹Λม͍͑ͨɻ
30/52 👌👌👌
1. Web SDKʹର͢ΔτϥϑΟοΫશମʹରͯ͠ ภΓͳ͘৽چόʔδϣϯΛࢄ͍ͤͨ͞ 2. ΫϥΠΞϯτ͝ͱʹ৽چόʔδϣϯΛ ͲͪΒ͔ʹݻఆ͍ͤͨ͞ 3. ৽چόʔδϣϯͷৼΓ͚ͷׂ߹Λ ࢦఆ͍ͨ͠ɻ·ͨঃʑʹׂ߹Λม͍͑ͨɻ
30/52 👌👌👌 👌👌
1. Web SDKʹର͢ΔτϥϑΟοΫશମʹରͯ͠ ภΓͳ͘৽چόʔδϣϯΛࢄ͍ͤͨ͞ 2. ΫϥΠΞϯτ͝ͱʹ৽چόʔδϣϯΛ ͲͪΒ͔ʹݻఆ͍ͤͨ͞ 3. ৽چόʔδϣϯͷৼΓ͚ͷׂ߹Λ ࢦఆ͍ͨ͠ɻ·ͨঃʑʹׂ߹Λม͍͑ͨɻ
30/52 👌👌👌 👌👌 👌
1. αʔυύʔςΟJavaScriptͱ 2. ϦϦʔεͷ 3. ΧφϦΞϦϦʔε ͱ 4. Lambda@Edge Ͱͷ࣮ݱํ๏
5. ݁Ռ 6. AWS ͞Μͷཁ
None
None
ຖճίʔυΛॻ͖͑ͳ͚Ε ͍͚ͳ͍ͷ໘ 37/52
=> ͦ͏ͩɺڥมΛ͓͏ 38/52
None
None
None
None
😱 😱 😱 43/52
ཁ1: ڥมͷαϙʔτ 🙏 44/52
None
None
None
🤔 🤔 🤔 48/52
ཁ2: UIͷվળ 🙏 49/52
·ͱΊ 50/52
ɾLambda@Edge Λར༻ͯ͠ΧφϦΞ ϦϦʔεΛ࣮ݱ͠ɺ҆৺ɾ҆શͳܗͰ ϦϦʔεΛ࣮ࢪͰ͖ΔΑ͏ʹͳͬͨ ɾ͜ΕҎ֎ʹ Lambda@Edge ଟ͘ͷ Ϣʔεέʔεʹ͑ΔػೳͳͷͰɺ ࠓޙՄೳੑΛ୳͍͖͍ͬͯͨ 51/52
52/52
We are hiring!
None
None
None