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
320
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
220
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
5.9k
Развертывание веб-приложений и фреймворк Capistrano
kirs
1
290
Capistrano 3
kirs
4
2.9k
Other Decks in Programming
See All in Programming
オブザーバビリティ駆動開発って実際どうなの?
yohfee
3
640
AI時代のソフトウェア開発でも「人が仕様を書く」から始めよう-医療IT現場での実践とこれから
koukimiura
0
120
文字コードの話
qnighy
43
16k
コーディングルールの鮮度を保ちたい / keep-fresh-go-internal-conventions
handlename
0
120
Premier Disciplin for Micro Frontends Multi Version/ Framework Scenarios @OOP 2026, Munic
manfredsteyer
PRO
0
200
RubyとGoでゼロから作る証券システム: 高信頼性が求められるシステムのコードの外側にある設計と運用のリアル
free_world21
0
140
社内規程RAGの精度を73.3% → 100%に改善した話
oharu121
12
6.8k
izumin5210のプロポーザルのネタ探し #tskaigi_msup
izumin5210
1
500
Go1.26 go fixをプロダクトに適用して困ったこと
kurakura0916
0
320
Agent Skills Workshop - AIへの頼み方を仕組み化する
gotalab555
13
7.5k
朝日新聞のデジタル版を支えるGoバックエンド ー価値ある情報をいち早く確実にお届けするために
junkiishida
1
300
日本だけで解禁されているアプリ起動の方法
ryunakayama
0
360
Featured
See All Featured
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Color Theory Basics | Prateek | Gurzu
gurzu
0
220
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
0
2.4k
Being A Developer After 40
akosma
91
590k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
190
Become a Pro
speakerdeck
PRO
31
5.8k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.3k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
110
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.1k
Amusing Abliteration
ianozsvald
0
120
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
130
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1k
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 Спасибо!