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
940
Building Resilient Services
dmathieu
0
100
Easily monitor your product data
dmathieu
0
37
Play with ruby threads
dmathieu
2
94
Other Decks in Programming
See All in Programming
ファイル先頭の use の意味、説明できますか? 〜PHP の namespace と autoloading の関係を正しく理解しよう〜 / namespace and autoloading in php
okashoi
2
470
Ruby製社内ツールのGo移行
bgpat
2
260
[スクリプト] Swiftの型推論を学ぼう
omochi
0
110
WebComponentsで フレームワークを1ページに共存させる
webuilder240
0
150
Deep Dive 大規模システムアーキテクチャ/開発組織エンジニアリング / Deep Dive Large-Scale System Architecture, Development Organization Engineering
nrslib
15
2.9k
IntelliJ IDEA を知らなかった 自分に教えたい小ネタ集 / IntelliJ IDEA Hints for My Past Self
mackey0225
3
150
Docker ハンズオン / docker-hands-on
suzukihoge
51
16k
OpenTelemetry のサービスという概念について
azukiazusa1
1
380
AppDeveloperCon 2024 EU: Building polyglot developer experiences in 2024
salaboy
0
370
PHPerKaigi 2024〜10年以上動いているレガシーなバッチシステムを Kubernetes(Amazon EKS) に移行する取り組み〜
tshinowpub
1
220
PHP8の機能を使って堅牢にコードを書く
fendo181
6
2.6k
実践!RDRAを活用した既存システムの仕様変更 / Specification Changes in Existing Systems Utilizing RDRA
imamotohikaru
0
1.9k
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
160
13k
What’s in a name? Adding method to the madness
productmarketing
PRO
14
2.6k
Fantastic passwords and where to find them - at NoRuKo
philnash
35
2.4k
Build The Right Thing And Hit Your Dates
maggiecrowley
23
1.9k
The Mythical Team-Month
searls
214
42k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
225
51k
Faster Mobile Websites
deanohume
296
30k
Building Effective Engineering Teams - LeadDev
addyosmani
25
1.8k
What's in a price? How to price your products and services
michaelherold
236
11k
Web development in the modern age
philhawksworth
201
10k
Done Done
chrislema
178
15k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
14
1.3k
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