SlideShare a Scribd company logo
Yo!
I AM DANIELIUS VISOCKAS
dvisockas
I AM FROM LITHUANIA
MIGRATING FROM
MONOLITHIC RAILS
“
"Good frameworks are extractions,
not inventions"
◦ @dhh.
RAILS: THE GOOD PARTS
Routing
Models
Persistence (migrations, schema)
Mailers
MVC
IT IS A MONOLITH
And that is not a good thing, you know.
DEPLOYMENT
MAINTAINING
SCALING
WE HAD A RAILS APP
And Sinatra for the API
SOMETHING LIKE THIS
WE NEED TO GO BACK
LEARN FROM THE HISTORY OF THE EARTH
Splitting into services
CURE FROM MONOLITHS
Let’s talk lasers
Or if you prefer I can call it frontend
WE DID NOT LIKE THAT PART OF RAILS
What has a normal structure?
There are many more choices
We chose
Late extractionEarly abstraction
CURRENT SITUATION
RailsAngular.js
Easy
I will just add respond_with to my controllers
But do we need Rails?
RUBY TOOLS FOR BUILDING API’S
Sinatra
Grape
RailsAPI
We chose
REASONS FOR CHOOSING GRAPE
Documentation
Versioning
Parameter validations
CURRENT SITUATION
Rails
Angular.js
Grape
Thats how we did it
And you can try it too!
EXTRACTING GRAPE FROM RAILS
Active record
Background jobs
Mailers
AT LAST
Angular Grape
THE GOOD PARTS
Small steps
People can focus on one side
Habit forming
Faster
Thank you!
ANY QUESTIONS?
dvisockas

More Related Content

Viewers also liked (6)

Gruppo 01 - PSCE 2014/2015 - Soppalco Prefabbricato - 2015_07_29
Gruppo 01 - PSCE 2014/2015 - Soppalco Prefabbricato - 2015_07_29Gruppo 01 - PSCE 2014/2015 - Soppalco Prefabbricato - 2015_07_29
Gruppo 01 - PSCE 2014/2015 - Soppalco Prefabbricato - 2015_07_29
 
DMG v4
DMG v4DMG v4
DMG v4
 
Clive duffield (f) cv (sept - 2015)
Clive duffield (f)   cv (sept - 2015)Clive duffield (f)   cv (sept - 2015)
Clive duffield (f) cv (sept - 2015)
 
Q1 2015 Invitation v3
Q1 2015 Invitation v3Q1 2015 Invitation v3
Q1 2015 Invitation v3
 
Amazon Final internship presentation
Amazon Final internship presentationAmazon Final internship presentation
Amazon Final internship presentation
 
Production and Evaluation of Highly Yielding Sweet Pepper Hybrids under Gree...
Production and Evaluation of  Highly Yielding Sweet Pepper Hybrids under Gree...Production and Evaluation of  Highly Yielding Sweet Pepper Hybrids under Gree...
Production and Evaluation of Highly Yielding Sweet Pepper Hybrids under Gree...
 

Similar to Migrating from Monolithic Rails

Lightweight webdev
Lightweight webdevLightweight webdev
Lightweight webdev
damianofusco
 
Synchronous Reads Asynchronous Writes RubyConf 2009
Synchronous Reads Asynchronous Writes RubyConf 2009Synchronous Reads Asynchronous Writes RubyConf 2009
Synchronous Reads Asynchronous Writes RubyConf 2009
pauldix
 

Similar to Migrating from Monolithic Rails (20)

[Practical] Functional Programming in Rails
[Practical] Functional Programming in Rails[Practical] Functional Programming in Rails
[Practical] Functional Programming in Rails
 
How to not create an unbreakable Rails monolith
How to not create an unbreakable Rails monolithHow to not create an unbreakable Rails monolith
How to not create an unbreakable Rails monolith
 
Collab365 Oct 2015 - Moving from SOAP to REST – You’ll Have to Do It Sometime
Collab365 Oct 2015 - Moving from SOAP to REST – You’ll Have to Do It SometimeCollab365 Oct 2015 - Moving from SOAP to REST – You’ll Have to Do It Sometime
Collab365 Oct 2015 - Moving from SOAP to REST – You’ll Have to Do It Sometime
 
How to Build a Big Data Application: Serverless Edition
How to Build a Big Data Application: Serverless EditionHow to Build a Big Data Application: Serverless Edition
How to Build a Big Data Application: Serverless Edition
 
Rails request & middlewares
Rails request & middlewaresRails request & middlewares
Rails request & middlewares
 
How to Build a Big Data Application: Serverless Edition
How to Build a Big Data Application: Serverless EditionHow to Build a Big Data Application: Serverless Edition
How to Build a Big Data Application: Serverless Edition
 
Web Development Today
Web Development TodayWeb Development Today
Web Development Today
 
Beyond The Rails Way
Beyond The Rails WayBeyond The Rails Way
Beyond The Rails Way
 
Lightweight webdev
Lightweight webdevLightweight webdev
Lightweight webdev
 
The Next Five Years of Rails
The Next Five Years of RailsThe Next Five Years of Rails
The Next Five Years of Rails
 
LA RubyConf 2009 Waves And Resource-Oriented Architecture
LA RubyConf 2009 Waves And Resource-Oriented ArchitectureLA RubyConf 2009 Waves And Resource-Oriented Architecture
LA RubyConf 2009 Waves And Resource-Oriented Architecture
 
Learning Rails
Learning RailsLearning Rails
Learning Rails
 
Bringing Server Add-ons to the Cloud and Back Again
Bringing Server Add-ons to the Cloud and Back AgainBringing Server Add-ons to the Cloud and Back Again
Bringing Server Add-ons to the Cloud and Back Again
 
Linked services
Linked servicesLinked services
Linked services
 
Rails 3.1
Rails 3.1Rails 3.1
Rails 3.1
 
Practical WebAssembly with Apex, wasmRS, and nanobus
Practical WebAssembly with Apex, wasmRS, and nanobusPractical WebAssembly with Apex, wasmRS, and nanobus
Practical WebAssembly with Apex, wasmRS, and nanobus
 
Synchronous Reads Asynchronous Writes RubyConf 2009
Synchronous Reads Asynchronous Writes RubyConf 2009Synchronous Reads Asynchronous Writes RubyConf 2009
Synchronous Reads Asynchronous Writes RubyConf 2009
 
.NET Architects Day - DNAD 2011
.NET Architects Day - DNAD 2011.NET Architects Day - DNAD 2011
.NET Architects Day - DNAD 2011
 
09 - Fábio Akita - Além do rails
09 - Fábio Akita - Além do rails09 - Fábio Akita - Além do rails
09 - Fábio Akita - Além do rails
 
Node PDX: Intro to Sails.js
Node PDX: Intro to Sails.jsNode PDX: Intro to Sails.js
Node PDX: Intro to Sails.js
 

Recently uploaded

Article writing on excessive use of internet.pptx
Article writing on excessive use of internet.pptxArticle writing on excessive use of internet.pptx
Article writing on excessive use of internet.pptx
abhinandnam9997
 
一比一原版UTS毕业证悉尼科技大学毕业证成绩单如何办理
一比一原版UTS毕业证悉尼科技大学毕业证成绩单如何办理一比一原版UTS毕业证悉尼科技大学毕业证成绩单如何办理
一比一原版UTS毕业证悉尼科技大学毕业证成绩单如何办理
aagad
 

Recently uploaded (12)

The Best AI Powered Software - Intellivid AI Studio
The Best AI Powered Software - Intellivid AI StudioThe Best AI Powered Software - Intellivid AI Studio
The Best AI Powered Software - Intellivid AI Studio
 
The AI Powered Organization-Intro to AI-LAN.pdf
The AI Powered Organization-Intro to AI-LAN.pdfThe AI Powered Organization-Intro to AI-LAN.pdf
The AI Powered Organization-Intro to AI-LAN.pdf
 
How Do I Begin the Linksys Velop Setup Process?
How Do I Begin the Linksys Velop Setup Process?How Do I Begin the Linksys Velop Setup Process?
How Do I Begin the Linksys Velop Setup Process?
 
The Use of AI in Indonesia Election 2024: A Case Study
The Use of AI in Indonesia Election 2024: A Case StudyThe Use of AI in Indonesia Election 2024: A Case Study
The Use of AI in Indonesia Election 2024: A Case Study
 
Pvtaan Social media marketing proposal.pdf
Pvtaan Social media marketing proposal.pdfPvtaan Social media marketing proposal.pdf
Pvtaan Social media marketing proposal.pdf
 
History+of+E-commerce+Development+in+China-www.cfye-commerce.shop
History+of+E-commerce+Development+in+China-www.cfye-commerce.shopHistory+of+E-commerce+Development+in+China-www.cfye-commerce.shop
History+of+E-commerce+Development+in+China-www.cfye-commerce.shop
 
Article writing on excessive use of internet.pptx
Article writing on excessive use of internet.pptxArticle writing on excessive use of internet.pptx
Article writing on excessive use of internet.pptx
 
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and GuidelinesMulti-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
 
一比一原版UTS毕业证悉尼科技大学毕业证成绩单如何办理
一比一原版UTS毕业证悉尼科技大学毕业证成绩单如何办理一比一原版UTS毕业证悉尼科技大学毕业证成绩单如何办理
一比一原版UTS毕业证悉尼科技大学毕业证成绩单如何办理
 
How to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptxHow to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptx
 
ER(Entity Relationship) Diagram for online shopping - TAE
ER(Entity Relationship) Diagram for online shopping - TAEER(Entity Relationship) Diagram for online shopping - TAE
ER(Entity Relationship) Diagram for online shopping - TAE
 
The+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptxThe+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptx
 

Migrating from Monolithic Rails