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
Canary Deployments
Search
Yoshiki Nakagawa
September 28, 2016
Technology
590
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Canary Deployments
Yoshiki Nakagawa
September 28, 2016
More Decks by Yoshiki Nakagawa
See All by Yoshiki Nakagawa
Amazon Bedrock で作る未来の開発サイクルと オペレーション戦略 / AWS Summit Japan 2025
yyoshiki41
0
1.3k
MCP Documentation Server @AI Coding Meetup #1
yyoshiki41
2
4.2k
Go API クライアントの実装 〜Go Conference に載せれなかったTIPS〜
yyoshiki41
0
770
マルチテナントのアプリケーション実装 〜実践編〜
yyoshiki41
5
3.1k
Tests API
yyoshiki41
0
80
go-gmail-drafts
yyoshiki41
0
810
Graceful Upgrade for Go App
yyoshiki41
0
150
Other Decks in Technology
See All in Technology
When Does a Local Qwen Start to Break
morshoto
0
160
「重なり」は迎える側がつくる ― 人もAIエージェントも歓迎するプロダクトエンジニアリング ―
go0517go
PRO
0
220
現場に行くだけでは足りない——プロダクトエンジニアが業務の流れを捉える観点と、その鍛え方
takumiengineering
0
220
データエンジニアの困りごとをDevinと一緒に解消する
10xinc
2
770
[RSJ26] Flow as Flow: Modeling Robot Velocity Fields as Probability Velocity Fields
keio_smilab
PRO
0
190
Webとヘルスデータ
yukukotani
0
170
AI時代におけるプロダクト横断勉強会の設計
zozotech
PRO
0
150
Jetpack Compose で挑む新聞紙面UI ─ 複合ジェスチャー・ポリゴン記事領域・適応的ページ構成という3つの壁/droidkaigi2026
nikkei_engineer_recruiting
0
170
Claude Codeで開発以外の業務も爆速化しよう!
minorun365
PRO
12
9.6k
Self Healing Rollouts: Automating Production Fixes with Agentic AI
kdubois
0
140
[RSJ26] NarrativeFlow: Flow-Based Vision-Language-Action Model Using Robot Velocity Fields
keio_smilab
PRO
0
150
Bet AI Day 2026丨AIを「使う」から、AIが「働く」へ ― LayerXが進める「組織AI」の社会実装
layerx
PRO
2
2k
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1033
470k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
550
Are puppies a ranking factor?
jonoalderson
2
3.9k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
570
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
400
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
RailsConf 2023
tenderlove
30
1.5k
What's in a price? How to price your products and services
michaelherold
247
13k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
970
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
680
Being A Developer After 40
akosma
91
590k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Transcript
Canary Deployments ! Move Fast, Fail Fast (and Small) Sep
/ 26 / 2016 1
AboutMe @yyoshiki41 Yoshiki Nakagawa Infrastructure Engineer, pairs Division Tech »
Golang » Middleware, AWS 2
What is the canary server ? By 4028mdk09 (Own work)
[CC BY-SA 3.0], via Wikimedia Commons 3
Canary Server tl;dr σϓϩΠϓϩϏδϣχϯάΛ͍͖ͳΓ ϓϩμΫγϣϯڥͷશମͰͳ͘ɺઌ ߦͯ͠Ұ෦ʹରͯ͠ߦ͍ɺ ͜Ε͕దԠ͞ΕͨͷΛʮΧφϦΞαʔ όʯͱݺͿɻ Ұ෦ͷΫϥελʹΑΔݕূͰɺࣦഊ࣌ ͷμϝʔδΛগͳ͘͢Δߟ͑ํɻ
ϑΟʔυόοΫΛ͍ͪૣ͘ड͚औΕΔɻ 4
߭ͰͷಟΨεݕʹɺΧφϦΞ͕ ΘΕͨ͜ͱʹ༝དྷ͢Δɻ ͍ΘΏΔ߭ͷΧφϦΞɺ߭ʹ͓ ͍ͯ͠͠ൃੜ͢ΔϝλϯҰࢎԽ ૉͱ͍ͬͨଉΨεಟΨεૣظൃ ݟͷͨΊͷܯใͱͯ͠༻͞Εͨɻຊ छͭͶʹ͍͑ͣͬͯ͞ΔͷͰɺҟৗൃ ੜʹઌۦ͚·ͣ໐͖͕ࢭΉɻͭ· ΓةݥͷΛͱࣖͰ֬ೝͰ͖Δॴ ͕ॏๅ͞ΕɺಟΨεݕʹ༻͍ΒΕ
ͨɻ wikipedia ΑΓ 5
Use Cases 6
Application » มߋͨ͠ΞϓϦέʔγϣϯίʔυΛຊ൪σϓϩΠͯ͠ݕূ͍ͨ͠ » ৽ػೳͷఆ͍ͯ͠ͳ͍όάΛ࠷খݶʹ͍͗ͨ / ෛՙΛݕূ͍ͨ͠ Infra » ৽͍͠ϛυϧΣΞΛࢼ͍ͨ͠
» ϛυϧΣΞͷϓϩϏδϣχϯάมߋલޙͷมԽΛݕূ͍ͨ͠ 7
Use Cases in pairs Ansible commands! $ ansible-playbook -i hosts/pairs-jp/prod
--limit web-canary playbook_pairs/delivery.yml --extra-vars="pkg_dir=v160101010101-10f29c9" That's all! 8
Use Cases in Netflix σϓϩΠαΠΫϧʹΧφϦΞΫϥελͷσϓϩΠؚ͕·Ε͓ͯΓɺ ϨϙʔςΟϯά(Canary analysis report) => શମެ։͢Δ͔൱͔ͷδϟ
οδ (Canary Score) ·Ͱ͕ࣗಈԽ͞Ε͍ͯ·͢ɻ ඦͱ͍͏Α͏ͳنΛӡ༻͍ͯ͘͠͏͑Ͱɺ શࢮઈରʹආ͚ͳ͚ΕͳΒͳ͍͜ͱΛߟ͑ΔͱࣗવͳྲྀΕɻ 9
Development & Deployment Flow ެࣜϒϩά ʮDeploying the Netflix APIʯ 10
Containers Containerͱͷ૬ੑ͕ྑ͍ͷͰɺ Container as a serviceɺCI/CDαʔ ϏεʹΈࠐ·Ε͍ͯΔͷଟ͍ɻ e.g.) Kubernetes 11
Caution ޓΛऔΕ͍ͯͳ͍ͷɺΧφϦΞαʔόͷσϓϩΠ͕ग़དྷͳ͍ɻ e.g.) ৽͍͠APIϦΫΤετΛ͛ΔΫϥΠΞϯτଆͷίʔυؚΉ ! 12
Others ຊ൪ڥ(ಉ)ͰͷݕূΛߦ͍͍ͨ߹ɺ ΧφϦΞαʔόͰͳ͘γϟυʔϓϩΩγΛ༻͍Δख๏ϝδϟʔɻ e.g.) cookpad/Kage 13
Move Fast, Fail Fast (and Small) ߭ (ຊ൪ڥ) ʹɺةݥ͕͍ͬͺ͍Ͱ͢ɻ શ໓Λආ͚ΔҝʹɺΧφϦΞͷॿ͚ΛआΓ·͠ΐ͏
! (ͪΖΜɺΧφϦΞࢮͳͤͳ͍͜ͱ͕ϕετͰ͕͢ɻ) 14