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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Kir Shatrov
October 22, 2016
Programming
330
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
RailsClub 2016
Kir Shatrov
October 22, 2016
More Decks by Kir Shatrov
See All by Kir Shatrov
Running Jobs at Scale
kirs
1
240
Operating Rails in Kubernetes
kirs
3
500
Performance regressions in Ruby on Rails Core
kirs
0
230
Building a toolkit to detect performance regressions in Ruby on Rails core
kirs
3
6.1k
Развертывание веб-приложений и фреймворк Capistrano
kirs
1
300
Capistrano 3
kirs
4
3k
Other Decks in Programming
See All in Programming
AIだと陥りがちなJakarta EE最新技術への移行時の落とし穴と解決策
tnagao7
0
110
さぁV100、メモリをお食べ・・・
nilpe
0
140
エンジニアと一緒にテストコードの設計と実装を改善した話
mototakatsu
0
150
Go1.27で導入されるジェネリクスメソッドでできること
mackee
0
120
AI時代のUIはどこへ行く?その2!
yusukebe
21
7.1k
The ROI of Quarkus for Spring Boot Applications
hollycummins
0
110
RTSPクライアントを自作してみた話
simotin13
0
600
スマートグラスで並列バイブコーディング
hyshu
0
130
Semantic Version 単位で戦略を柔軟に変えて、パッケージアップデートを自動化する
daitasu
0
230
Webフレームワークの ベンチマークについて
yusukebe
0
160
Technical Debt: Understanding it Rightly, Engaging it Rightly #LaravelLiveJP
shogogg
0
220
ローカルLLMを使ってB2Bサービスを作っていての学び
yaotti
0
170
Featured
See All Featured
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
170
Evolving SEO for Evolving Search Engines
ryanjones
0
220
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
330
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
170
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
200
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
200
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.3k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
230
A Modern Web Designer's Workflow
chriscoyier
698
190k
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 Спасибо!