SlideShare a Scribd company logo
1 of 15
Download to read offline
Craig Spaeth & Brennan Moore
Artsy Web Engineering
@craigspaeth & @zamiang
WHY WE MIGRATED TO NODE
RUBY ON RAILS
RUBY
ON
RAILS
API
BACKBONE UI
IOS PROTOTYPE
BACKBONE UI
M
O
BILE
W
EB
BRO
KEN
M
O
BILE
W
EB
BRO
KEN
M
O
BILE
W
EB
BRO
KEN
M
O
BILE
W
EB
BRO
KEN
M
O
BILE
W
EB
BRO
KEN
M
O
BILE
W
EB
BRO
KEN
M
O
BILE
W
EB
BRO
KEN
M
O
BILE
W
EB
BRO
KEN
M
O
BILE
W
EB
BRO
KEN
M
O
BILE
W
EB
BRO
KEN
M
O
BILE
W
EB
BRO
KEN
M
O
BILE
W
EB
BRO
KEN
M
O
BILE
W
EB
BRO
KEN
M
O
BILE
W
EB
BRO
KEN
M
O
BILE
W
V
EB
BRO
KE
M
O
BILE
W
EB
BRO
KEN
M
O
BILE
W
EB
BRO
KEN
M
O
BILE
W
EB
BRO
KEN
M
O
BILE
W
EB
BRO
KEN
M
O
BILE
W
EB
BRO
KEN
M
O
BILE
W
EB
BRO
KEN
M
O
BILE
W
EB
BRO
KEN
M
O
BILE
W
EB
BRO
KEN
M
O
BILE
W
EB
BRO
KEN
M
O
BILE
W
EB
BRO
KEN
M
O
BILE
W
EB
BRO
KEN
M
O
BILE
W
EB
BRO
KEN
M
O
BILE
W
EB
BRO
KEN
M
O
BILE
W
EB
BRO
KEN
M
O
BILE
W
EB
BRO
KEN
M
O
BILE
W
EB
BRO
KEN
M
O
BILE
W
EB
BRO
KEN
M
O
BILE
W
EB
BRO
KEN
M
O
BILE
W
V
EB
BRO
KEN
M
O
BILE
W
EB
BRO
KEN
M
O
BILE
W
EB
BRO
KEN
M
O
BILE
W
EB
BRO
KEN
M
O
BILE
W
EB
BRO
KEN
M
O
BILE
W
EB
BRO
KEN
M
O
BILE
W
EB
BRO
KEN
M
O
BILE
W
EB
BRO
KEN
M
O
BILE
W
EB
BRO
KEN
M
O
BILE
W
EB
BRO
KEN
M
O
BILE
W
EB
BRO
KEN
M
O
BILE
W
EB
BRO
KEN
M
O
BILE
W
EB
BRO
KEN
M
O
BILE
W
EB
BRO
KEN
M
O
BILE
W
EB
BRO
KEN
M
O
BILE
W
EB
BRO
KEN
M
O
BILE
W
EB
BRO
KEN
M
O
BILE
W
V
EB
BRO
KEN
M
O
BILE
W
EB
BRO
KEN
M
O
BILE
W
EB
BRO
KEN
M
O
BILE
W
EB
BRO
KEN
M
O
BILE
W
EB
BRO
KEN
M
O
BILE
W
EB
BRO
KEN
M
O
BILE
W
EB
BRO
KEN
M
O
BILE
W
EB
BRO
KEN
M
O
BILE
W
EB
BRO
KEN
M
O
BILE
W
EB
BRO
KEN
M
O
BILE
W
EB
BRO
KEN
M
O
BILE
W
EB
BRO
KEN
M
O
BILE
W
EB
BRO
KEN
M
O
BILE
W
EB
BRO
KEN
T
M
O
BILE
W
EB
BRO
KEN
M
O
BILE
W
EB
M
O
BIL
O
BILE
W
EB
BRO
KEN
M
O
BILE
W
EB
BRO
KEN
M
O
BILE
W
EB
BRO
KEN
RUBY
ON
RAILS
ANALYTICS
EMAL
GENERATORS
API
ADMINPANELCODE
IOS APP CMS
KEN
EB
BRO
KEN
PROBLEMS WITH BACKBONE + RAILS STACK
• Slow JS testing
• Ruby/JS—lack of re-use
• Hard to understand
hybrid stack
• Huge single page app
• Bloated & slow assets
INTRODUCING NODE INTO THE STACK
RUBY API
BACKBONE
FRONT-END
CMS
INTRODUCING NODE INTO THE STACK
CMS
RUBY API
BACKBONE
FRONT-END
MOBILE WEB
Redirect mobile User Agents
INTRODUCING NODE INTO THE STACK
CMS
RUBY API
MOBILE WEB
DESKTOP WEB
Avoiding Death
by Rewrite
Gustavo Rezende
Valquíria, 2009
MIGRATING USERS PAGE BY PAGE UNTIL NODE WAS IN FRONT
NEW
NODE APP
LEGACY
RAILS APP
HAPROXY
/browse
/artist/:id
/tag/:id
NEW
NODE APP
HAPROXY
+ LEGACY
RAILS APP
NODE-HTTP-PROXY
OUR STACK NOW
RUBY API
NODE TOOLS HOSTING CACHING
NODE SERVER
ASSET CDN
MEET EZEL: ARTSY’S JS APP BOILERPLATE
• Philosophy: Modularity, Flexibility, Isomorphic
• Apps: Express sub-apps mounted
• Components: Modules of UI grouping CSS,
templates, and JS together
• Simple re-use, small asset package size,
test everything in Node
• Ezeljs.com
PAIN POINTS IN TRANSITION
• Syncing auth
• Tracking memory usage
& leaks
• npmjs.org stability
• Integration testing a
distributed architecture
Patrick Lichty
A Failure in The Interwebz, 2013
WINS
Community
• npm for server & client
Productivity
• 1,000+ tests under 5 mins.
• 5 min. deploys, ~5 times a day
Performance
• Page load speed cut in half
• 40+ Rails servers to 2 Node servers
• SEO—Shared rendering server/client
Patrick Lichty
A Failure in The Interwebz, 2013
Loving Parent
Success Baby, circa. 2007
Thank you
@craigspaeth
@zamiang
github.com/artsy
SAMPLE SETUP.JS
DIRECTORY STRUCTURE

More Related Content

What's hot

Mobile-First Indexing or a Whole New Google - Digitalzone 2018
Mobile-First Indexing or a Whole New Google - Digitalzone 2018Mobile-First Indexing or a Whole New Google - Digitalzone 2018
Mobile-First Indexing or a Whole New Google - Digitalzone 2018MobileMoxie
 
Godaddy and WordPress
Godaddy and WordPressGodaddy and WordPress
Godaddy and WordPressRuss Shirley
 
Making Websites Talk: the rise of Voice Search and Conversational Interfaces
Making Websites Talk: the rise of Voice Search and Conversational InterfacesMaking Websites Talk: the rise of Voice Search and Conversational Interfaces
Making Websites Talk: the rise of Voice Search and Conversational InterfacesAndrea Volpini
 
SearchLove San Diego 2015 | Cindy Krum, 'Mobile-First SEO and How to Prepare ...
SearchLove San Diego 2015 | Cindy Krum, 'Mobile-First SEO and How to Prepare ...SearchLove San Diego 2015 | Cindy Krum, 'Mobile-First SEO and How to Prepare ...
SearchLove San Diego 2015 | Cindy Krum, 'Mobile-First SEO and How to Prepare ...Distilled
 
Google & Bing App Indexing - SMX Munich 2016
Google & Bing App Indexing - SMX Munich 2016Google & Bing App Indexing - SMX Munich 2016
Google & Bing App Indexing - SMX Munich 2016MobileMoxie
 
How Apple's Changing Up Search: From Siri, to Safari to Spotlight - SMX Munic...
How Apple's Changing Up Search: From Siri, to Safari to Spotlight - SMX Munic...How Apple's Changing Up Search: From Siri, to Safari to Spotlight - SMX Munic...
How Apple's Changing Up Search: From Siri, to Safari to Spotlight - SMX Munic...MobileMoxie
 
How to use Live Video in Content Marketing
How to use Live Video in Content MarketingHow to use Live Video in Content Marketing
How to use Live Video in Content MarketingBobbi Brant
 

What's hot (7)

Mobile-First Indexing or a Whole New Google - Digitalzone 2018
Mobile-First Indexing or a Whole New Google - Digitalzone 2018Mobile-First Indexing or a Whole New Google - Digitalzone 2018
Mobile-First Indexing or a Whole New Google - Digitalzone 2018
 
Godaddy and WordPress
Godaddy and WordPressGodaddy and WordPress
Godaddy and WordPress
 
Making Websites Talk: the rise of Voice Search and Conversational Interfaces
Making Websites Talk: the rise of Voice Search and Conversational InterfacesMaking Websites Talk: the rise of Voice Search and Conversational Interfaces
Making Websites Talk: the rise of Voice Search and Conversational Interfaces
 
SearchLove San Diego 2015 | Cindy Krum, 'Mobile-First SEO and How to Prepare ...
SearchLove San Diego 2015 | Cindy Krum, 'Mobile-First SEO and How to Prepare ...SearchLove San Diego 2015 | Cindy Krum, 'Mobile-First SEO and How to Prepare ...
SearchLove San Diego 2015 | Cindy Krum, 'Mobile-First SEO and How to Prepare ...
 
Google & Bing App Indexing - SMX Munich 2016
Google & Bing App Indexing - SMX Munich 2016Google & Bing App Indexing - SMX Munich 2016
Google & Bing App Indexing - SMX Munich 2016
 
How Apple's Changing Up Search: From Siri, to Safari to Spotlight - SMX Munic...
How Apple's Changing Up Search: From Siri, to Safari to Spotlight - SMX Munic...How Apple's Changing Up Search: From Siri, to Safari to Spotlight - SMX Munic...
How Apple's Changing Up Search: From Siri, to Safari to Spotlight - SMX Munic...
 
How to use Live Video in Content Marketing
How to use Live Video in Content MarketingHow to use Live Video in Content Marketing
How to use Live Video in Content Marketing
 

Recently uploaded

Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
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 TerraformAndrey Devyatkin
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
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, Adobeapidays
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 

Recently uploaded (20)

+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...
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
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
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
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
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 

Artsy at Node on the Road

  • 1. Craig Spaeth & Brennan Moore Artsy Web Engineering @craigspaeth & @zamiang
  • 2. WHY WE MIGRATED TO NODE RUBY ON RAILS RUBY ON RAILS API BACKBONE UI IOS PROTOTYPE BACKBONE UI M O BILE W EB BRO KEN M O BILE W EB BRO KEN M O BILE W EB BRO KEN M O BILE W EB BRO KEN M O BILE W EB BRO KEN M O BILE W EB BRO KEN M O BILE W EB BRO KEN M O BILE W EB BRO KEN M O BILE W EB BRO KEN M O BILE W EB BRO KEN M O BILE W EB BRO KEN M O BILE W EB BRO KEN M O BILE W EB BRO KEN M O BILE W EB BRO KEN M O BILE W V EB BRO KE M O BILE W EB BRO KEN M O BILE W EB BRO KEN M O BILE W EB BRO KEN M O BILE W EB BRO KEN M O BILE W EB BRO KEN M O BILE W EB BRO KEN M O BILE W EB BRO KEN M O BILE W EB BRO KEN M O BILE W EB BRO KEN M O BILE W EB BRO KEN M O BILE W EB BRO KEN M O BILE W EB BRO KEN M O BILE W EB BRO KEN M O BILE W EB BRO KEN M O BILE W EB BRO KEN M O BILE W EB BRO KEN M O BILE W EB BRO KEN M O BILE W EB BRO KEN M O BILE W V EB BRO KEN M O BILE W EB BRO KEN M O BILE W EB BRO KEN M O BILE W EB BRO KEN M O BILE W EB BRO KEN M O BILE W EB BRO KEN M O BILE W EB BRO KEN M O BILE W EB BRO KEN M O BILE W EB BRO KEN M O BILE W EB BRO KEN M O BILE W EB BRO KEN M O BILE W EB BRO KEN M O BILE W EB BRO KEN M O BILE W EB BRO KEN M O BILE W EB BRO KEN M O BILE W EB BRO KEN M O BILE W EB BRO KEN M O BILE W V EB BRO KEN M O BILE W EB BRO KEN M O BILE W EB BRO KEN M O BILE W EB BRO KEN M O BILE W EB BRO KEN M O BILE W EB BRO KEN M O BILE W EB BRO KEN M O BILE W EB BRO KEN M O BILE W EB BRO KEN M O BILE W EB BRO KEN M O BILE W EB BRO KEN M O BILE W EB BRO KEN M O BILE W EB BRO KEN M O BILE W EB BRO KEN T M O BILE W EB BRO KEN M O BILE W EB M O BIL O BILE W EB BRO KEN M O BILE W EB BRO KEN M O BILE W EB BRO KEN RUBY ON RAILS ANALYTICS EMAL GENERATORS API ADMINPANELCODE IOS APP CMS
  • 3. KEN EB BRO KEN PROBLEMS WITH BACKBONE + RAILS STACK • Slow JS testing • Ruby/JS—lack of re-use • Hard to understand hybrid stack • Huge single page app • Bloated & slow assets
  • 4. INTRODUCING NODE INTO THE STACK RUBY API BACKBONE FRONT-END CMS
  • 5. INTRODUCING NODE INTO THE STACK CMS RUBY API BACKBONE FRONT-END MOBILE WEB Redirect mobile User Agents
  • 6. INTRODUCING NODE INTO THE STACK CMS RUBY API MOBILE WEB DESKTOP WEB
  • 7. Avoiding Death by Rewrite Gustavo Rezende Valquíria, 2009
  • 8. MIGRATING USERS PAGE BY PAGE UNTIL NODE WAS IN FRONT NEW NODE APP LEGACY RAILS APP HAPROXY /browse /artist/:id /tag/:id NEW NODE APP HAPROXY + LEGACY RAILS APP NODE-HTTP-PROXY
  • 9. OUR STACK NOW RUBY API NODE TOOLS HOSTING CACHING NODE SERVER ASSET CDN
  • 10. MEET EZEL: ARTSY’S JS APP BOILERPLATE • Philosophy: Modularity, Flexibility, Isomorphic • Apps: Express sub-apps mounted • Components: Modules of UI grouping CSS, templates, and JS together • Simple re-use, small asset package size, test everything in Node • Ezeljs.com
  • 11. PAIN POINTS IN TRANSITION • Syncing auth • Tracking memory usage & leaks • npmjs.org stability • Integration testing a distributed architecture Patrick Lichty A Failure in The Interwebz, 2013
  • 12. WINS Community • npm for server & client Productivity • 1,000+ tests under 5 mins. • 5 min. deploys, ~5 times a day Performance • Page load speed cut in half • 40+ Rails servers to 2 Node servers • SEO—Shared rendering server/client Patrick Lichty A Failure in The Interwebz, 2013 Loving Parent Success Baby, circa. 2007