$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Canary Deployments
Search
Yoshiki Nakagawa
September 28, 2016
Technology
0
540
Canary Deployments
Yoshiki Nakagawa
September 28, 2016
Tweet
Share
More Decks by Yoshiki Nakagawa
See All by Yoshiki Nakagawa
Amazon Bedrock で作る未来の開発サイクルと オペレーション戦略 / AWS Summit Japan 2025
yyoshiki41
0
920
MCP Documentation Server @AI Coding Meetup #1
yyoshiki41
2
3.9k
Go API クライアントの実装 〜Go Conference に載せれなかったTIPS〜
yyoshiki41
0
700
マルチテナントのアプリケーション実装 〜実践編〜
yyoshiki41
5
2.8k
Tests API
yyoshiki41
0
62
go-gmail-drafts
yyoshiki41
0
780
Graceful Upgrade for Go App
yyoshiki41
0
110
Other Decks in Technology
See All in Technology
Kiro Autonomous AgentとKiro Powers の紹介 / kiro-autonomous-agent-and-powers
tomoki10
0
470
生成AI活用の型ハンズオン〜顧客課題起点で設計する7つのステップ
yushin_n
0
160
AI-DLCを現場にインストールしてみた:プロトタイプ開発で分かったこと・やめたこと
recruitengineers
PRO
2
120
CARTAのAI CoE が挑む「事業を進化させる AI エンジニアリング」 / carta ai coe evolution business ai engineering
carta_engineering
0
1.3k
Databricks向けJupyter Kernelでデータサイエンティストの開発環境をAI-Readyにする / Data+AI World Tour Tokyo After Party
genda
1
120
大企業でもできる!ボトムアップで拡大させるプラットフォームの作り方
findy_eventslides
1
760
多様なデジタルアイデンティティを攻撃からどうやって守るのか / 20251212
ayokura
0
440
RAG/Agent開発のアップデートまとめ
taka0709
0
180
Challenging Hardware Contests with Zephyr and Lessons Learned
iotengineer22
0
200
コミューンのデータ分析AIエージェント「Community Sage」の紹介
fufufukakaka
0
490
Sansanが実践する Platform EngineeringとSREの協創
sansantech
PRO
2
850
Kubernetes Multi-tenancy: Principles and Practices for Large Scale Internal Platforms
hhiroshell
0
120
Featured
See All Featured
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.3k
A designer walks into a library…
pauljervisheath
210
24k
Code Reviewing Like a Champion
maltzj
527
40k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
What's in a price? How to price your products and services
michaelherold
246
13k
Designing for humans not robots
tammielis
254
26k
Optimizing for Happiness
mojombo
379
70k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
GitHub's CSS Performance
jonrohan
1032
470k
The Pragmatic Product Professional
lauravandoore
37
7.1k
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