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 Release with Argo Rollouts #ふくばねてす / can...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Manabu Matsuzaki
January 17, 2020
Programming
1.2k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Canary Release with Argo Rollouts #ふくばねてす / canary-release-with-argo-rollouts
#ふくばねてす node-3
https://fukubernetes.connpass.com/event/159429/
Manabu Matsuzaki
January 17, 2020
More Decks by Manabu Matsuzaki
See All by Manabu Matsuzaki
Spring BootユーザのためのArmeria入門 #jsug / Introduce to Armeria for Spring users
matsumana
0
3k
Getting started Central Dogma with Golang #fukuokago #umedago / getting-started-central-dogma-with-golang
matsumana
0
970
Micrometer入門 #javaq / introduce-to-micrometer
matsumana
1
3k
ArmeriaとCentral Dogmaから学ぶ、マイクロサービスに必要な機能 #edayfuk / lean-from-armeria-and-central-dogma
matsumana
0
4.7k
SREcon19 Americas 参加レポート #srefukuoka / srecon19-americas-report
matsumana
0
940
SRE入門 & チームで取り組んでいるSRE #srefukuoka / introduce-to-sre
matsumana
0
1.4k
Introduce to Armeria and Central Dogma #GWD_Nulab / introduce-to-armeria-and-central-dogma
matsumana
0
610
Connector/JでMaster/Slave Replication構成のMySQLに接続する #mysql_casual_fukuoka /connector-j-master-slave-replication
matsumana
0
1.6k
ユーザ目線でのPrometheus #mackerel_ug /monitoring-prometheus
matsumana
1
3.9k
Other Decks in Programming
See All in Programming
Webエンジニアなのにブラウザの仕組みがわからないので、Pythonで自作してみた
tatsuki12
4
1.7k
Kiroで創り、AgentCoreで繋ぐ!AWSで実践する「AI-DLC」から「AIエージェント統合」までの最新地図
licux
2
260
T3DD26: From RAGs to Riches
martinhelmich
0
140
20260828_品質と開発生産性を両立させる、AI時代のE2Eテストの考え方
magicpod
0
130
変化を抱擁するドキュメントの作り方 - ビジネスルール駆動開発がもたらす、コードとの新しい関係
ioki
2
100
AIと壁打ちしながら進めるコスト管理
fufuhu
2
1.9k
DynamoDBの基礎を振り返りながらベクトル検索機能を理解する
musan
3
260
The Good Stuff, Not the Slop: Engineering High-Quality Android Apps with Modern AI Tooling
danybony
0
120
iOS開発×AI駆動開発 〜最近使って便利だったスキルの話〜
nogu66
0
140
ソフトウェアエンジニアにとっての生成AI - 特性を知って使い倒す / generative ai for software enginner
kishida
7
2.3k
AI駆動開発にグラフDBを重ねてみた
satoshi256kbyte
2
720
이 함수, 실패하면 어떻게 되나요? null부터 Rich Errors까지, Kotlin 에러 처리 15년
haeti2
0
120
Featured
See All Featured
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.2k
Faster Mobile Websites
deanohume
310
32k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
680
Measuring & Analyzing Core Web Vitals
bluesmoon
9
990
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.2k
エンジニアに許された特別な時間の終わり
watany
108
250k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
390
Deep Space Network (abreviated)
tonyrice
0
290
New Earth Scene 8
popppiees
3
2.5k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Ethics towards AI in product and experience design
skipperchong
2
360
BBQ
matthewcrist
89
10k
Transcript
Canary Release with Argo Rollouts ;͘Ͷͯ͢ node-3 2020/01/15 @matsumana
Self Introduction • Nameɿ Manabu Matsuzaki • Work atɿ LINE
Fukuoka Corporation • Roleɿ SRE • Twitterɿ @matsumana
Agenda • What is Canary Release? • Introduce to CI/CD
• CI/CD with GitOps • Canary Release with Argo Rollouts
What is Canary Release?
From `The Site Reliability Workbook` • Chapter 16 - Canarying
Releases https://landing.google.com/sre/workbook/chapters/canarying- releases/ • શମʹҰʹσϓϩΠ͢ΔࣄɺΤϥʔόδΣοτΛૣ͘ݮΒ͢Ϧ εΫ͕͋Δ • ࣮ࡍͷτϥϑΟοΫͷҰ෦͚ͩΛ৽όʔδϣϯʹެ։͢Δ • มߋ͕࣮ࡍͷτϥϑΟοΫʹ͞Β͞ΕΔͨΊɺϢχοτςετෛ ՙςετͳͲͰݟ͚ͭΒΕͳ͍ΛಛఆͰ͖Δ
Introduce to CI/CD
ϦϦʔεͷࣗಈԽ • The Site Reliability Workbook - Chapter 16 -
Canarying Releases https://landing.google.com/sre/workbook/chapters/canarying- releases/ • ϦϦʔε͕ࣗಈԽ͞ΕΔͱɺΑΓසൟʹϦϦʔεͰ͖Δ • ϦϦʔεՌʹόϯυϧ͞ΕΔมߋ͕গͳ͘ͳΓɺόά͕ൃੜ͠ ͨ߹ʹΑΓૣ͘؆୯ʹϩʔϧόοΫͰ͖ΔΑ͏ʹͳΔ • ૣ͍ϦϦʔεαΠΫϧʹΑΓɺ৽͍͠ػೳΛૣ͘Ϣʔβʔʹಧ͚Δ
ϦϦʔεͷࣗಈԽ • The Site Reliability Workbook - Chapter 16 -
Canarying Releases https://landing.google.com/sre/workbook/chapters/canarying- releases/
CI/CD with GitOps
Guide To GitOps • Guide To GitOps https://www.weave.works/technologies/gitops/ • ࣗಈԽʹΑΔੜ࢈ੑͷ্
• GitʹΑΔ҆ఆͨ͠࠶ݱՄೳͳϩʔϧόοΫ • GitʹΑΔηΩϡϦςΟ/มߋ • ͚ࠪͷϩάʢ୭͕ɺ͍ͭɺԿΛมߋ͔ͨ͠ɺetc…ʣ • ϝϧτμϯ࣌ɺGit repo(single source of truth)Λݩʹ͍࣌ؒͰ෮چՄೳ • etc…
Guide To GitOps • Guide To GitOps https://www.weave.works/technologies/gitops/
Canary Release with Argo Rollouts
Argo Rollouts • Argo Rollouts - Overview https://argoproj.github.io/argo-rollouts/ • ඪ४ͷDeploymentsϦιʔεʹRollingUpdateRecreateͱ͍͏σ
ϓϩΠઓུ͕ఏڙ͞Ε͍ͯ·͕͢ɺArgo RolloutsRolloutͱݺΕ ΔΧελϜϦιʔεʹΑͬͯɺk8sʹBlue GreenCanaryͳͲͷ ՃͷσϓϩΠઓུΛఏڙ͠·͢ • Still alpha…
Argo Rollouts’ features • Canary • ίϚϯυʹΑΔखಈPromote • Ұఆ࣌ؒͬͯࣗಈPromote
Argo Rollouts’ features • Traffic management • ύʔηϯςʔδࢦఆʹΑΔCanaryͷτϥϑΟοΫྲྀྔ੍ޚ • ϔομʔϕʔεͷτϥϑΟοΫ੍ޚ
• τϥϑΟοΫΛϛϥʔϦϯά͠ɺCanaryʹฒߦͯ͠ྲྀ͢ ʢϨεϙϯεແࢹ͞ΕΔʣ • BlueGreen • etc…
Argo Rollouts’ features • Canary • ৽όʔδϣϯͷϝτϦΫεʹج͍ͮͯࣗಈPromote • APIͷΤϥʔׂ߹ɺΤϥʔϩάͷྔɺetc… •
KayentaͬΆ͍ • GoogleͱNetflixɺΧφϦΞϦϦʔεੳπʔϧʮKayentaʯΦʔϓϯ ιʔεͰެ։ɻ৽ͨʹσϓϩΠͨ͠ϦϦʔεʹ͕ͳ͍͔Λࣗಈ ੳ https://www.publickey1.jp/blog/18/googlenetflixkayenta.html
manifest fileʢྫʣ • https://argoproj.github.io/argo-rollouts/features/canary/ • https://argoproj.github.io/argo-rollouts/features/analysis/ • https://gist.github.com/matsumana/0f04c9c8afdccccecb71ad4aaad796d9
Argo CD + Argo Rollouts Ͱ࣮ݱ͢Δ Canary Release with GitOps
Λߟ͑ͯΈΔ
શମߏʢྫʣ
Thank you :)