SlideShare ist ein Scribd-Unternehmen logo
1 von 27
Migrating from Monolithic Rails
by Danielius Visockas
Twitter: @DVisockas
v1
Let’s look at Rails
Desktop only
Extractions of patterns
History of Rails
Let’s fast forward 10 years
Why Rails is nice:
● Routing
● Models (!)
● Persistence (migrations, schema)
● Sessions, cookies management
● Mailers
● Other stuff (rake tasks, assets pipeline, etc)
Story actually starts here
We had 2 apps
Main Rails app and Sinatra for the API
In the main app we used plain Rails
views and jQuery for the magic
Frontend magic
548 view files 84 javascript files
some files that would make sense
Late extraction costs more than early abstraction
Especially in frontend
&&
Your friends
Next thing: build an API
That’s where Ruby is the best tool
Ruby API building tools
An opinionated micro-framework for creating REST-like APIs in Ruby.
http://intridea.github.io/grape
● Specifically for building API’s
● Minimal
● Fast (Grape: 2227 req/sec vs RailsAPI: 1111.42 req/sec) on 1.9.3
Other cool features of moving to
Grape
● Support from the community
● You already have models
● Documentation
● Easy integration into Rails
From evolution to revolution
● Small steps
● Reduced server load
● Easier to add other (micro-)services
● Easier scaling
● You can concentrate on one side of the app
Try it after 2 days
Thank you!
Please ask questions
Vilnius Ruby community
Speakers
THANK YOU
Our stage is OPEN & everyone
is welcomed to share
Next meetup: April 9th
March 21st
Konstitucijos pr. 20A
Free!*
www.rubyconf.lt
*- registration required
Ruby +
Sponsors
Afterparty!
Šnekutis, Šv. Mikalojaus g.15

Weitere ähnliche Inhalte

Was ist angesagt?

Angular meteor for angular devs
Angular meteor for angular devsAngular meteor for angular devs
Angular meteor for angular devs
Arc & Codementor
 
Javascript Myths and its Evolution
Javascript Myths and its  EvolutionJavascript Myths and its  Evolution
Javascript Myths and its Evolution
Deepu S Nath
 

Was ist angesagt? (20)

Alfresco WebScript Connector for Apache ManifoldCF
Alfresco WebScript Connector for Apache ManifoldCFAlfresco WebScript Connector for Apache ManifoldCF
Alfresco WebScript Connector for Apache ManifoldCF
 
Trailblazer Rails Architecture
Trailblazer Rails ArchitectureTrailblazer Rails Architecture
Trailblazer Rails Architecture
 
Angular meteor for angular devs
Angular meteor for angular devsAngular meteor for angular devs
Angular meteor for angular devs
 
WSO2Con USA 2015: End-to-end Microservice Architecture with WSO2 Identity Ser...
WSO2Con USA 2015: End-to-end Microservice Architecture with WSO2 Identity Ser...WSO2Con USA 2015: End-to-end Microservice Architecture with WSO2 Identity Ser...
WSO2Con USA 2015: End-to-end Microservice Architecture with WSO2 Identity Ser...
 
Ozone-Wayland Support in Chromium (GENIVI 13th All Member Meeting & AMM Open ...
Ozone-Wayland Support in Chromium (GENIVI 13th All Member Meeting & AMM Open ...Ozone-Wayland Support in Chromium (GENIVI 13th All Member Meeting & AMM Open ...
Ozone-Wayland Support in Chromium (GENIVI 13th All Member Meeting & AMM Open ...
 
Git and Ruby on Rails
Git and Ruby on RailsGit and Ruby on Rails
Git and Ruby on Rails
 
"Frameworks in 2015" Андрей Листочкин
"Frameworks in 2015" Андрей Листочкин"Frameworks in 2015" Андрей Листочкин
"Frameworks in 2015" Андрей Листочкин
 
Multitenant SaaS Apps In Rails By Iqbal Hasnan
Multitenant SaaS Apps In Rails By Iqbal HasnanMultitenant SaaS Apps In Rails By Iqbal Hasnan
Multitenant SaaS Apps In Rails By Iqbal Hasnan
 
Railsで作るBFFの功罪
Railsで作るBFFの功罪Railsで作るBFFの功罪
Railsで作るBFFの功罪
 
Gr8conf - Griffon Update
Gr8conf - Griffon UpdateGr8conf - Griffon Update
Gr8conf - Griffon Update
 
Upgrading to rails3
Upgrading to rails3Upgrading to rails3
Upgrading to rails3
 
Threading Made Easy! A Busy Developer’s Guide to Kotlin Coroutines
Threading Made Easy! A Busy Developer’s Guide to Kotlin CoroutinesThreading Made Easy! A Busy Developer’s Guide to Kotlin Coroutines
Threading Made Easy! A Busy Developer’s Guide to Kotlin Coroutines
 
Meet MariaDB 10.2/10.3
Meet MariaDB 10.2/10.3Meet MariaDB 10.2/10.3
Meet MariaDB 10.2/10.3
 
Ruby on Rails
Ruby on RailsRuby on Rails
Ruby on Rails
 
Meet MariaDB
Meet MariaDBMeet MariaDB
Meet MariaDB
 
Peru JUG Micronaut & GraalVM
Peru JUG Micronaut & GraalVMPeru JUG Micronaut & GraalVM
Peru JUG Micronaut & GraalVM
 
Javascript Myths and its Evolution
Javascript Myths and its  EvolutionJavascript Myths and its  Evolution
Javascript Myths and its Evolution
 
6 Development Tools we Love for Mac
6 Development Tools we Love for Mac6 Development Tools we Love for Mac
6 Development Tools we Love for Mac
 
Ruby on Rails 3
Ruby on Rails 3Ruby on Rails 3
Ruby on Rails 3
 
Sinatra Introduction
Sinatra IntroductionSinatra Introduction
Sinatra Introduction
 

Andere mochten auch

Geeza Break Annual Report 2012, 2013
Geeza Break Annual Report 2012, 2013Geeza Break Annual Report 2012, 2013
Geeza Break Annual Report 2012, 2013
Audrey Platt
 
Weighted Student Funding Overview
Weighted Student Funding OverviewWeighted Student Funding Overview
Weighted Student Funding Overview
Sharonne Navas
 
Anhut Toll Bros Ref Ltr
Anhut Toll Bros Ref LtrAnhut Toll Bros Ref Ltr
Anhut Toll Bros Ref Ltr
Marika Mensch
 

Andere mochten auch (13)

TOOBEEZ Product Guide
TOOBEEZ Product GuideTOOBEEZ Product Guide
TOOBEEZ Product Guide
 
Geeza Break Annual Report 2012, 2013
Geeza Break Annual Report 2012, 2013Geeza Break Annual Report 2012, 2013
Geeza Break Annual Report 2012, 2013
 
Finance_Apache
Finance_ApacheFinance_Apache
Finance_Apache
 
LawGeex gives you back your TIME.
LawGeex gives you back your TIME.LawGeex gives you back your TIME.
LawGeex gives you back your TIME.
 
MGC
MGCMGC
MGC
 
Weighted Student Funding Overview
Weighted Student Funding OverviewWeighted Student Funding Overview
Weighted Student Funding Overview
 
Metodos de estudio
Metodos de estudio Metodos de estudio
Metodos de estudio
 
Eνδοσχολική βία (Bullying)
Eνδοσχολική βία (Bullying)Eνδοσχολική βία (Bullying)
Eνδοσχολική βία (Bullying)
 
How to get your sanity back with socket.io
How to get your sanity back with socket.ioHow to get your sanity back with socket.io
How to get your sanity back with socket.io
 
Session 06 – particle materials
Session 06 – particle materialsSession 06 – particle materials
Session 06 – particle materials
 
Email Converter Tools
Email Converter ToolsEmail Converter Tools
Email Converter Tools
 
Anhut Toll Bros Ref Ltr
Anhut Toll Bros Ref LtrAnhut Toll Bros Ref Ltr
Anhut Toll Bros Ref Ltr
 
Alternatives
AlternativesAlternatives
Alternatives
 

Ähnlich wie Migrating from monolithic rails

Server-side Web development via Ruby on Rails
Server-side Web development via Ruby on RailsServer-side Web development via Ruby on Rails
Server-side Web development via Ruby on Rails
g3ppy
 
Structured web apps
Structured web appsStructured web apps
Structured web apps
Sheng Tian
 

Ähnlich wie Migrating from monolithic rails (20)

Viridians on Rails
Viridians on RailsViridians on Rails
Viridians on Rails
 
Angular, the New Angular JS
Angular, the New Angular JSAngular, the New Angular JS
Angular, the New Angular JS
 
Swagger - Making REST APIs friendlier
Swagger - Making REST APIs friendlierSwagger - Making REST APIs friendlier
Swagger - Making REST APIs friendlier
 
Creating a custom API for a headless Drupal
Creating a custom API for a headless DrupalCreating a custom API for a headless Drupal
Creating a custom API for a headless Drupal
 
Dust.js
Dust.jsDust.js
Dust.js
 
Server-side Web development via Ruby on Rails
Server-side Web development via Ruby on RailsServer-side Web development via Ruby on Rails
Server-side Web development via Ruby on Rails
 
21o. RubyFloripa - Maintaining legacy Rails app and introducing Elixir
21o. RubyFloripa - Maintaining legacy Rails app and introducing Elixir21o. RubyFloripa - Maintaining legacy Rails app and introducing Elixir
21o. RubyFloripa - Maintaining legacy Rails app and introducing Elixir
 
Node.js server side render in the Age of APIs - Full Stack Toronto 2017
 Node.js server side render in the Age of APIs - Full Stack Toronto 2017 Node.js server side render in the Age of APIs - Full Stack Toronto 2017
Node.js server side render in the Age of APIs - Full Stack Toronto 2017
 
APIs for mobile
APIs for mobileAPIs for mobile
APIs for mobile
 
Stripe con 2021 UI stack
Stripe con 2021 UI stackStripe con 2021 UI stack
Stripe con 2021 UI stack
 
A Tour of Ruby On Rails
A Tour of Ruby On RailsA Tour of Ruby On Rails
A Tour of Ruby On Rails
 
React for Non Techies
React for Non TechiesReact for Non Techies
React for Non Techies
 
React for non techies
React for non techiesReact for non techies
React for non techies
 
Google App Engine Java, Groovy and Gaelyk
Google App Engine Java, Groovy and GaelykGoogle App Engine Java, Groovy and Gaelyk
Google App Engine Java, Groovy and Gaelyk
 
Structured web apps
Structured web appsStructured web apps
Structured web apps
 
Day1 before getting_started
Day1 before getting_startedDay1 before getting_started
Day1 before getting_started
 
Rails Applications with Docker
Rails Applications with DockerRails Applications with Docker
Rails Applications with Docker
 
Analyze and Visualize Git Log for Fun and Profit - DevTernity 2015
Analyze and Visualize Git Log for Fun and Profit - DevTernity 2015Analyze and Visualize Git Log for Fun and Profit - DevTernity 2015
Analyze and Visualize Git Log for Fun and Profit - DevTernity 2015
 
Code for Startup MVP (Ruby on Rails) Session 1
Code for Startup MVP (Ruby on Rails) Session 1Code for Startup MVP (Ruby on Rails) Session 1
Code for Startup MVP (Ruby on Rails) Session 1
 
React for non techies
React for non techiesReact for non techies
React for non techies
 

Kürzlich hochgeladen

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Kürzlich hochgeladen (20)

GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 

Migrating from monolithic rails