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
960
Building Resilient Services
dmathieu
0
110
Easily monitor your product data
dmathieu
0
39
Play with ruby threads
dmathieu
2
110
Other Decks in Programming
See All in Programming
tsconfig.jsonの最近の新機能 ファイルパス編
uhyo
6
1.6k
利用者視点で考える、イテレータとの上手な付き合い方
syumai
4
220
Pydantic x Database API:turu-pyの開発
yassun7010
1
550
(Deep|Web) Link support with expo-router
mrtry
0
170
DevFest Android in Korea 2024 - 안드로이드의 문단속 : 앱을 지키는 암호화 이야기
mdb1217
1
140
RDBの世界をぬりかえていくモデルグラフDB〜truncus graphによるモデルファースト開発〜
jurabi
0
170
NANIMACHI
naokiito
0
940
Rails 8 Frontend: 10 commandments & 7 deadly sins in 2025
yshmarov
1
620
Beyond Laravel Octane - Hyperf for Laravel Artisans
albertcht
1
120
クラウドサービスの 利用コストを削減する技術 - 円安の真南風を感じて -
pyama86
3
370
Unlocking Python's Core Magic
leew
0
120
Pythonによるイベントソーシングへの挑戦と現状に対する考察 / Challenging Event Sourcing with Python and Reflections on the Current State
nrslib
3
1.2k
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
334
57k
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
A Philosophy of Restraint
colly
202
16k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
327
21k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
6.8k
How to Ace a Technical Interview
jacobian
275
23k
How to train your dragon (web standard)
notwaldorf
87
5.6k
Done Done
chrislema
181
16k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
45
2k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
27
1.9k
Testing 201, or: Great Expectations
jmmastey
38
7k
How to Think Like a Performance Engineer
csswizardry
16
1k
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