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
330
2
Share
RailsClub 2016
Kir Shatrov
October 22, 2016
More Decks by Kir Shatrov
See All by Kir Shatrov
Running Jobs at Scale
kirs
1
230
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
6k
Развертывание веб-приложений и фреймворк Capistrano
kirs
1
300
Capistrano 3
kirs
4
3k
Other Decks in Programming
See All in Programming
ソースコード→AST→オペコード、の旅を覗いてみる
o0h
PRO
1
110
2026-04-15 Spring IO - I Can See Clearly Now
jonatan_ivanov
1
160
SREに優しいTerraform構成 modulesとstateの組み方
hiyanger
2
160
HTML-Aware ERB: The Path to Reactive Rendering @ RubyKaigi 2026, Hakodate, Japan
marcoroth
0
590
運転動画を検索可能にする〜Cosmos-Embed1とDatabricks Vector Searchで〜/cosmos-embed1-databricks-vector-search
studio_graph
1
560
PicoRuby for IoT: Connecting to the Cloud with MQTT
yuuu
2
720
属人化しないコード品質の作り方_2026.04.07.pdf
muraaano
0
290
GNU Makeの使い方 / How to use GNU Make
kaityo256
PRO
16
5.6k
How We Practice Exploratory Testing in Iterative Development( #scrumniigata ) / 反復開発の中で、探索的テストをどう実施しているか
teyamagu
PRO
3
510
20年以上続くプロダクトでも使い続けられる静的解析ツールを求めて
matsuo_atsushi
0
120
Liberating Ruby's Parser from Lexer Hacks
ydah
2
2.5k
Spec Driven Development | AI Summit Vilnius
danielsogl
PRO
1
130
Featured
See All Featured
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Building the Perfect Custom Keyboard
takai
2
740
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.4k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
530
A Modern Web Designer's Workflow
chriscoyier
698
190k
The World Runs on Bad Software
bkeepers
PRO
72
12k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
290
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
100
Rebuilding a faster, lazier Slack
samanthasiow
85
9.5k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.9k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
160
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2k
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 Спасибо!