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
Let's deploy on fridays
Search
Damien Mathieu
November 08, 2016
Programming
0
170
Let's deploy on fridays
Damien Mathieu
November 08, 2016
Tweet
Share
More Decks by Damien Mathieu
See All by Damien Mathieu
The 12Factor App
dmathieu
1
950
Building Resilient Services
dmathieu
0
110
Easily monitor your product data
dmathieu
0
38
Play with ruby threads
dmathieu
2
100
Other Decks in Programming
See All in Programming
feature環境をGitHub ActionsとCloudFormationでいい感じに管理する
nealle
2
310
Async Await: Mastering Python's Time-Bending Tricks - EuroPython2024
yanbo
1
290
DDDを志して3年経ったら「DDDの皮を被ったクリーンアーキテクチャ」になった話【デブサミ2024夏】
texmeijin
1
620
実用的かつリーズナブルな 「Azure × Gemini × LINE」~キャラクターBot 実装ライブデモ~
tomodo_ysys
1
170
Composing an API the *right* way (Droidcon Berlin 2024)
zsmb
1
450
リハビリmruby
kishima
1
160
CSC307 Lecture 14
javiergs
PRO
0
220
CSC307 Lecture 12
javiergs
PRO
0
220
Jetpack for KMP
fornewid
1
290
AWS初心者ってどうやってAWSを学ぶ?〜アプリエンジニアがやってよかったアーキテクチャ学習方法〜
yamanashi_ren01
0
190
Folding Cheat Sheet #7
philipschwarz
PRO
0
150
英語
s_shimotori
1
220
Featured
See All Featured
Writing Fast Ruby
sferik
623
60k
Creatively Recalculating Your Daily Design Routine
revolveconf
214
11k
Pencils Down: Stop Designing & Start Developing
hursman
118
11k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
23
1.9k
How GitHub (no longer) Works
holman
305
140k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
20
7.2k
Principles of Awesome APIs and How to Build Them.
keavy
124
16k
Atom: Resistance is Futile
akmur
261
25k
Building an army of robots
kneath
301
42k
Fantastic passwords and where to find them - at NoRuKo
philnash
42
2.7k
The Illustrated Children's Guide to Kubernetes
chrisshort
39
47k
Web Components: a chance to create the future
zenorocha
307
41k
Transcript
Let’s deploy on fridays I’m not slacking off, I’m deploying.
None
None
None
None
None
None
None
None
None
None
None
None
Build instance • Poll, waiting for a build • Process
a build • Build a container • Release the container
None
Can you see it? Change is coming
None
None
None
Build instance • Poll, waiting for a build • Process
a build • Build a container • Release the container
Build instance • Poll, waiting for a build • Build
a container • Release the container • Process a build
Build instance • Poll, waiting for a build • Process
a build • Build a container • Release the container
None
None
None
None
Upgrade API version Upgrade fetching posts Upgrade fetching users Use
uuids
Team Communication
Upgrade API version Upgrade fetching posts Upgrade fetching users Use
uuids
None
None
git revert
None
DEPLOY!!!
None
Canary deploys
Request Server A Server B Router
Request Server A Server B Router 50% 50%
Request Server A Server B Router 50% 50%
Request Server A Server B Router 33% 33% Server C
33%
github.com/dmathieu/sidekiq-canary
Refactoring and benchmarking
None
Customer-facing changes
None
Granularity
None
Multitask
Gradual rollouts
Request 99% 1% Old code path New code path Server
def partial_roll?(id) id % 100 < 1 end if partial_roll?(user_id)
call_new_method else call_old_method end
Refactoring and benchmarking
Customer-facing changes
Feature flags
None
Going further
None
None
None
bit.ly/ deploy-friday
Thank you Damien MATHIEU
None
Thank you Questions?
[email protected]
dmathieu