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のカナリアリリース / Canary release using Lamdba@Edge
Search
Edward Fox
May 28, 2021
Technology
0
55
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
520
AWS re:Invent 2019 / Hackathon for Good 参加録
edwardkenfox
2
470
Repro basketball club
edwardkenfox
0
200
Introduction to UX Optimizer
edwardkenfox
0
76
フロントエンド開発の落とし穴 / Fallacies of Client Side Programming (2019ver)
edwardkenfox
0
240
僕とprototypeとJSONで / Me and prototype down by the JSON
edwardkenfox
0
100
クライアントサイド開発の落とし穴 / Fallacies of Client Side Programming
edwardkenfox
0
310
Beacon API ことはじめ 〜そしてkeepalive fetchへ〜 / Beacon API The Basics
edwardkenfox
0
980
window.windowとは何か / What is window window
edwardkenfox
1
190
Other Decks in Technology
See All in Technology
サーバーレスAPI(API Gateway+Lambda)とNext.jsで 個人ブログを作ろう!
shuntaka
PRO
0
560
セキュリティ研修 Day1【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
150
20240724_cm_odyssey_hibiyatech
hiashisan
0
110
エンジニア向け会社紹介資料
caddi_eng
14
220k
スタートアップにおける組織設計とスクラムの長期戦略 / Scrum Fest Kanazawa 2024
yoshikiiida
13
3.6k
E2Eテスト自動化プラットフォームにおけるAIの活用
shift_evolve
0
180
目標設定は好きですか? アジャイルとともに目標と向き合い続ける方法 / Do you like target Management?
kakehashi
10
3k
DDDにおける認可の扱いとKotlinにおける実装パターン / authorization-for-ddd-and-kotlin-implement-pattern
urmot
4
390
さらに高品質・高速化を目指すAI時代のテスト設計支援と、めざす先 / AI Test Lab vol.1
shift_evolve
0
190
推薦システムを本番導入する上で一番優先すべきだったこと~NewsPicks記事推薦機能の改善事例を元に~
morinota
0
120
ペパボのオブザーバビリティ研修2024 説明資料
kesompochy
0
1.1k
Git 研修 Basic【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
310
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
506
110k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
360
22k
Designing with Data
zakiwarfel
96
5k
The Power of CSS Pseudo Elements
geoffreycrofte
64
5.2k
A Tale of Four Properties
chriscoyier
155
22k
Web Components: a chance to create the future
zenorocha
307
41k
Pencils Down: Stop Designing & Start Developing
hursman
118
11k
Fontdeck: Realign not Redesign
paulrobertlloyd
79
5.1k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
189
16k
The Invisible Customer
myddelton
117
13k
Unsuck your backbone
ammeep
666
57k
WebSockets: Embracing the real-time Web
robhawkes
59
7.2k
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