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
RailsClub 2016
Search
Kir Shatrov
October 22, 2016
Programming
2
300
RailsClub 2016
Kir Shatrov
October 22, 2016
Tweet
Share
More Decks by Kir Shatrov
See All by Kir Shatrov
Running Jobs at Scale
kirs
1
190
Operating Rails in Kubernetes
kirs
3
400
Performance regressions in Ruby on Rails Core
kirs
0
200
Building a toolkit to detect performance regressions in Ruby on Rails core
kirs
3
5.2k
Развертывание веб-приложений и фреймворк Capistrano
kirs
1
260
Capistrano 3
kirs
4
2.6k
Other Decks in Programming
See All in Programming
実践!難読化ガイド
mitchan
0
120
今インフラ技術をイチから学び直すなら
yuhta28
1
130
Debugging: All you need to know (for simultaneous interpreting)
jmatsu
2
600
Web技術を駆使してユーザーの画面を「録画」する
yukukotani
13
6.5k
令和トラベルにおけるLLM活用事例:社内ツール開発から得た学びと実践
ippo012
0
120
rails_girls_is_my_gate_to_join_the_ruby_commuinty
maimux2x
0
190
Our Websites Need a Lifestyle Change, Not a Diet
ryantownsend
0
130
GoのIteratorに詳しくなってしまう
inatonix
1
200
Ruby Parser progress report 2024
yui_knk
2
220
ブラウザ互換の重要性 - あらゆるユーザーに価値を届けるために必要なこと
yamanoku
0
110
事業フェーズの変化に対応する 開発生産性向上のゼロイチ
masaygggg
0
180
1人で挑むSwiftコンパイラ 〜型システム入門編〜
s_shimotori
0
340
Featured
See All Featured
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
29
2.6k
A designer walks into a library…
pauljervisheath
201
24k
How To Stay Up To Date on Web Technology
chriscoyier
786
250k
Unsuck your backbone
ammeep
667
57k
Optimising Largest Contentful Paint
csswizardry
30
2.8k
Testing 201, or: Great Expectations
jmmastey
36
7k
Navigating Team Friction
lara
183
13k
The Straight Up "How To Draw Better" Workshop
denniskardys
230
130k
Making the Leap to Tech Lead
cromwellryan
128
8.8k
Robots, Beer and Maslow
schacon
PRO
157
8.1k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
326
21k
Build The Right Thing And Hit Your Dates
maggiecrowley
30
2.3k
Transcript
Monolithic Rails: deal with it Railsclub 2016 Kir Shatrov
Kir Shatrov Developer acceleration @ Shopify " Rails, Capistrano, RubyBench
None
Developer acceleration team
Rails Ruby Developer Tools
None
git clone … brew install postgres brew install redis bundle
install rake db:create
git clone … brew install postgres brew install redis bundle
install rake db:create где-то тут ломается nokogiri
git clone … brew install postgres brew install redis rake
db:create vagrant up
VM creation is slow VM has to be updated every
week from Chef Development in VM is slower VM file system has limitations for frontend stuff
None
The xhyve hypervisor is a port of bhyve to OS
X. It is built on top of Hypervisor.framework in OS X 10.10 Yosemite and higher, runs entirely in userspace, and has no other dependencies.
None
install Homebrew packages provision language and dependencies ruby, node, go
create and prepare database setup Git hooks
git clone … brew install postgres brew install redis rake
db:create dev up
None
Detect dangerous patterns ☠
Detect dangerous patterns changing existing migrations adding new gems changing
application configuration
None
⚓ CI ⚓
50 000
None
None
None
None
None
None
⚰ Rails upgrade
1. Make your application boot (fix gem conflicts) 2. Setup
two Gemfiles and two CI statuses 3. Fix failings tests 4. Deploy to 10% of nodes
None
None
None
1. Make your application boot (fix gem conflicts) 2. Setup
two Gemfiles and two CI statuses 3. Fix failings tests 4. Deploy to 10% of nodes
None
1. Make your application boot (fix gem conflicts) 2. Setup
two Gemfiles and two CI statuses 3. Fix failings tests 4. Gradually deploy
⏱ Application boot ⏱
$ rails new railsclub --skip-spring $ time bundle exec rails
runner "puts 1+1" 2 0.64s user 0.09s system 24% cpu 2.969 total
require 'activerecord' require '/Users/kir/Projects/shopify/vendor/bundle/gems/ activerecord-4.2.7.1/lib/activerecord.rb'
github.com/byroot/bootscale
Rails hacks
block any external calls from inside database transaction instrument Net::HTTP
by host lint database migrations circuit breaker
continuous improvements share as many tools as possible make people
happy
shopify.com/careers
@kirs @kirshatrov Спасибо!