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
0
450
Canary Deployments
Yoshiki Nakagawa
September 28, 2016
Tweet
Share
More Decks by Yoshiki Nakagawa
See All by Yoshiki Nakagawa
Go API クライアントの実装 〜Go Conference に載せれなかったTIPS〜
yyoshiki41
0
570
マルチテナントのアプリケーション実装 〜実践編〜
yyoshiki41
4
1k
Tests API
yyoshiki41
0
41
go-gmail-drafts
yyoshiki41
0
750
Graceful Upgrade for Go App
yyoshiki41
0
73
Other Decks in Technology
See All in Technology
ACRiルーム最新情報とAMD GPUサーバーのご紹介
anjn
0
160
Datadog Cloud SIEMを使ってAWS環境の脅威を可視化した話/lifeistech-datadog-cloud-siem
gidajun
0
480
「我々はどこに向かっているのか」を問い続けるための仕組みづくり / Establishing a System for Continuous Inquiry about where we are
daitasu
0
170
AWSでRAGを作る法方
sonoda_mj
1
140
AI研修【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
130
AIアシスタントの活用で品質の向上と開発ワークフローのスピードアップ
nagix
1
210
サービス開発を前に進めるために 新米リードエンジニアが 取り組んだこと / Steps Taken by a Novice Lead Engineer to Advance Service Development
nologyance
0
180
ギークの理想が7つ集まるエムスリーで夢を叶えよう - エムスリー株式会社
m3_engineering
1
260
Azure OpenAI Service Dev Day / LLMでできる!使える!生成AIエージェント
masahiro_nishimi
3
800
テスト・設計研修【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
170
エンジニアの生存戦略 〜クラウド潮流の経験から紐解く技術トレンドのメカニズムと乗りこなし方〜
shimy
9
1.9k
[2024最新版]AWS Control Towerを使ったセキュアなマルチアカウント環境の作り方
hiashisan
0
270
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
239
11k
For a Future-Friendly Web
brad_frost
173
9.2k
Unsuck your backbone
ammeep
666
57k
A better future with KSS
kneath
231
17k
Building Better People: How to give real-time feedback that sticks.
wjessup
357
18k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
23
1.9k
Side Projects
sachag
451
42k
Product Roadmaps are Hard
iamctodd
PRO
48
10k
StorybookのUI Testing Handbookを読んだ
zakiyama
15
4.9k
How GitHub Uses GitHub to Build GitHub
holman
471
290k
Robots, Beer and Maslow
schacon
PRO
157
8.1k
Code Review Best Practice
trishagee
58
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