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
130
0
Share
Lambda@Edgeを利用したサードパーティJavaScriptのカナリアリリース / Canary release using Lamdba@Edge
2021-05-28 @AWS Dev Alliance
Edward Fox
May 28, 2021
More Decks by Edward Fox
See All by Edward Fox
Priorityを制するものはローディングを制す
edwardkenfox
4
810
AWS re:Invent 2019 / Hackathon for Good 参加録
edwardkenfox
2
630
Repro basketball club
edwardkenfox
0
290
Introduction to UX Optimizer
edwardkenfox
0
140
フロントエンド開発の落とし穴 / Fallacies of Client Side Programming (2019ver)
edwardkenfox
0
370
僕とprototypeとJSONで / Me and prototype down by the JSON
edwardkenfox
0
180
クライアントサイド開発の落とし穴 / Fallacies of Client Side Programming
edwardkenfox
0
510
Beacon API ことはじめ 〜そしてkeepalive fetchへ〜 / Beacon API The Basics
edwardkenfox
0
1.2k
window.windowとは何か / What is window window
edwardkenfox
1
270
Other Decks in Technology
See All in Technology
Spring Boot における AOT Cache 活用テクニックと 起動時間改善事例
ntt_dsol_java
0
190
GitHub Copilot CLIでWebアクセシビリティを改善した話
tomokusaba
0
140
Java正規表現エンジン(NFA)の仕組みと パフォーマンスを維持するための最適化手法
takeuchi_132917
0
160
ChatworkとBPaaS 異なる特性で学んだAI機能開発の ベストプラクティス
kubell_hr
2
590
テストコードのないプロジェクトにテストを根付かせる
tttol
1
240
製造業のクラウド活用最適解〜AI,DXを加速するデータ基盤の作り方〜
hamadakoji
0
190
ルールやカスタム機能、どう使う?理想の出力を引き出すために今知りたいIBM Bob 5つの機能
muehara
0
170
JJUG CCC 2026 Spring AI時代の開発こそ標準化を武器に! ― 方式・プロセス・プラットフォームの標準化
s27watanabe
2
650
地元にいないローカルオーガナイザーの立ち回り
uvb_76
1
420
サプライチェーンセキュリティの空白地帯 - 信頼できる”依存性”の未来を考える
rung
PRO
2
600
脅威をエンジニアリングの糧にして:恐怖を乗り越えた先にあったもの / Turn threats into fuel for engineering: what lay beyond overcoming fear
nrslib
1
360
食べログのサーキットブレーカー導入を振り返って
atpons
1
160
Featured
See All Featured
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
300
Git: the NoSQL Database
bkeepers
PRO
432
67k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.4k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
150
Paper Plane (Part 1)
katiecoart
PRO
0
8.1k
Producing Creativity
orderedlist
PRO
348
40k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
350
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
GraphQLとの向き合い方2022年版
quramy
50
15k
Agile that works and the tools we love
rasmusluckow
331
21k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
160
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
370
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