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
Taming large Rails apps with Mutations
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Gavin Joyce
September 02, 2015
Programming
2
380
Taming large Rails apps with Mutations
A lightning talk that I gave at Full Stack Fest
Gavin Joyce
September 02, 2015
Tweet
Share
More Decks by Gavin Joyce
See All by Gavin Joyce
Scaling Ember at Intercom - EmberCamp London
gavinjoyce
1
230
Taming Content Editable with Ember.js - Ember NYC
gavinjoyce
1
120
Taming Content Editable with Ember.js
gavinjoyce
1
370
Other Decks in Programming
See All in Programming
SourceGeneratorのマーカー属性問題について
htkym
0
210
Java 21/25 Virtual Threads 소개
debop
0
200
ポーリング処理廃止によるイベント駆動アーキテクチャへの移行
seitarof
3
1.1k
S3ストレージクラスの「見える」「ある」「使える」は全部違う ─ 体験から見た、仕様の深淵を覗く
ya_ma23
0
830
Fundamentals of Software Engineering In the Age of AI
therealdanvega
2
280
コーディングルールの鮮度を保ちたい / keep-fresh-go-internal-conventions
handlename
0
220
PHP 7.4でもOpenTelemetryゼロコード計装がしたい! / PHPerKaigi 2026
arthur1
1
340
Vuetify 3 → 4 何が変わった?差分と移行ポイント10分まとめ
koukimiura
0
170
Takumiから考えるSecurity_Maturity_Model.pdf
gessy0129
1
150
20260313 - Grafana & Friends Taipei #1 - Kubernetes v1.36 的開發雜記:那些困在 Alpha 加護病房太久的 Metrics
tico88612
0
220
[SF Ruby Feb'26] The Silicon Heel
palkan
0
120
OTP を自動で入力する裏技
megabitsenmzq
0
120
Featured
See All Featured
So, you think you're a good person
axbom
PRO
2
2k
The Cult of Friendly URLs
andyhume
79
6.8k
Making the Leap to Tech Lead
cromwellryan
135
9.8k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
410
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.4k
Crafting Experiences
bethany
1
90
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
Everyday Curiosity
cassininazir
0
170
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
480
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
110
Building AI with AI
inesmontani
PRO
1
810
HDC tutorial
michielstock
1
570
Transcript
Taming large Rails apps with Mutations @gavinjoyce
We're on a mission to make internet business personal.
Mutations
DB Controller View Model
DB Controller View Client Application Model
DB Controller View Ember.js App Model iOS App iOS SDK
Android App Android SDK Customer Apps
DB Controller Ember.js App Model iOS App iOS SDK Android
App Android SDK Customer Apps
DB API Ember.js App Model iOS App iOS SDK Android
App Android SDK Customer Apps
DB Ember.js App Model iOS App iOS SDK Android App
Android SDK Customer Apps Mobile APIs Ember APIs Public APIs v1 v2 v3
MySQL Ember.js App Model iOS App iOS SDK Android App
Android SDK Customer Apps Mobile APIs Ember APIs Public APIs v1 v2 v3 DynamoDB Mongo Memcached Redis
MySQL Ember.js App 100+ Models iOS App iOS SDK Android
App Android SDK Customer Apps Mobile APIs Ember APIs Public APIs v1 v2 v3 DynamoDB Mongo Memcached Redis
Ember.js App 100+ Models iOS App iOS SDK Android App
Android SDK Customer Apps Mobile APIs Ember APIs Public APIs v1 v2 v3 DB
Ember.js App 100+ Models iOS App iOS SDK Android App
Android SDK Customer Apps API DB
Client 100+ Models API DB
100+ Models API DB
100+ Models DB
200+ Models DB Large surface area Callback hell Brittle Problematic
with 40+ Engineers
Mutations
None
None
100+ Models DB
Models DB Internal API We use mutations to create REST
like internal interfaces to our core services
Models DB
Models DB User API
Models DB User API Message API
Models DB User API Message API Conversation API
Models DB User API Message API Conversation API These are
logically decoupled
Models DB User API Message API Conversation API Mobile APIs
Ember APIs Public APIs v1 v2 v3
Models DB User API Message API Conversation API Mobile APIs
Ember APIs Public APIs v1 v2 v3 We also use mutations to define our external APIs
Rails App Models DB User API Message API Conversation API
Ember.js App iOS App iOS SDK Android App Android SDK Customer Apps Mobile APIs Ember APIs Public APIs v1 v2 v3
If you have any questions... @gavinjoyce
Thanks for listening! @gavinjoyce