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
180
Let's deploy on fridays
Damien Mathieu
November 08, 2016
Tweet
Share
More Decks by Damien Mathieu
See All by Damien Mathieu
Open-source sans Burn Out ? Le modèle CNCF
dmathieu
0
8
The 12Factor App
dmathieu
1
960
Building Resilient Services
dmathieu
0
120
Easily monitor your product data
dmathieu
0
41
Play with ruby threads
dmathieu
2
110
Other Decks in Programming
See All in Programming
[JAWS DAYS 2025] 最近の DB の競合解決の仕組みが分かった気になってみた
maroon1st
0
230
보일러플레이트 코드가 진짜 나쁜 건가요?
gaeun5744
0
310
高セキュリティ・高耐障害性・サブシステム化。そして2億円
tasukulab280
2
490
コードジェネレーターで 効率的な開発をする / Efficient development with code generators
linyows
0
150
「その気にさせる」エンジニアが 最強のリーダーになる理由
gimupop
3
370
技術好きなエンジニアが "リーダーへの進化" によって得たものと失ったもの
pospome
4
1.2k
⚪⚪の⚪⚪をSwiftUIで再現す る
u503
0
160
Goで作るChrome Extensions / Fukuoka.go #21
n3xem
2
2.1k
生産性アップのためのAI個人活用
kunoyasu
0
420
フロントエンドのチューニングに挑戦してみる
jdkfx
0
110
たのしいSocketのしくみ / Socket Under a Microscope
coe401_
9
1.5k
機能が複雑化しても 頼りになる FactoryBotの話
tamikof
1
280
Featured
See All Featured
Unsuck your backbone
ammeep
669
57k
How GitHub (no longer) Works
holman
314
140k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
366
25k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.3k
The Cost Of JavaScript in 2023
addyosmani
48
7.5k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.7k
The Pragmatic Product Professional
lauravandoore
32
6.5k
Music & Morning Musume
bryan
46
6.4k
Visualization
eitanlees
146
15k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.1k
Git: the NoSQL Database
bkeepers
PRO
429
65k
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