SlideShare a Scribd company logo
Disassembling the Monolith 
taming large software projects with 
@nicholaswyoung 
Nodevember, 2014 bit.ly/nodevember-2014
Who is this guy?
@nicholaswyoung 
radio host 
designer 
photographer 
ex-software developer 
extraordinarily busy person
originalmachine.com
I make 
compelling, 
educational 
radio programs 
(think of us as a 
slightly edgier 
NPR) 
photo credit: derrick clifton / medill photojournalism
machine.fm
DONE I love getting things
useless tinkering is 
unless it teaches us something
my passion isn’t 
writing code 
(I lost that years ago.)
my passion isn’t 
writing code 
for the sake of 
writing code
javascript I promise to show you some clever 
before we’re done here
“scalability”
“scalability” 
“Scalability is the ability of a system, network, or 
process to handle a growing amount of work in a 
capable manner or its ability to be enlarged to 
accommodate that growth.” - Wikipedia
“scalability” 
pain in the ass factor 
time
the year of 
explosions
Disassembling the Monolith: Taming Large Software Projects with Node.js
Disassembling the Monolith: Taming Large Software Projects with Node.js
Disassembling the Monolith: Taming Large Software Projects with Node.js
Ruby 
a programmer’s best friend
slow runtime 
poor threading support 
concurrent long running tasks
slow runtime 
poor threading support 
concurrent long running tasks
not knockin’ it 
ruby is still awesome, in a lot 
of ways
but a lot of it 
needs to be 
rethought
file upload 
server processing 
store processed files in the cloud
file upload 
everyone does this 
server processing 
your thread is 
waiting 
store processed files in the cloud
while everything 
happens, your user 
thinks the app is 
doing nothing
with several users 
submitting large file 
uploads, our app 
grinds to a halt 
* only on one thread, sure, but that’s still bad.
why? 
because I built a monolith: 
public facing website 
feed generation 
embeddable, sharable player 
admin dashboard 
media analytics 
were all a single app
failed deploy = 
all services 
down
Disassembling the Monolith: Taming Large Software Projects with Node.js
this sucks. 
it doesn’t mean ruby is inherently 
awful, but it didn’t work for our app.
Disassembling the Monolith: Taming Large Software Projects with Node.js
“I believe Node is capable of delivering the same, if 
not better, results than Rails for any Web 
development task, although it's slightly less mature 
… and the conventions are less stable.…” 
- Sagi Isha, freelance web developer
Disassembling the Monolith: Taming Large Software Projects with Node.js
var express = require('express') 
, api = express() 
, web = express() 
, server = express(); 
server.use('/', web); 
server.use('/api', api); 
server.listen(8000);
var express = require('express') 
, api = express() 
, web = express() 
, server = express(); 
server.use('/', web); 
server.use('/api', api); 
server.listen(8000);
Disassembling the Monolith: Taming Large Software Projects with Node.js
Disassembling the Monolith: Taming Large Software Projects with Node.js
encourages you to build small, 
interconnected applications that each 
tackle a specific domain.
CMS 
Feed Generation 
Embeddable Player 
Media Analytics 
Models 
Config 
Applications Dependencies
javascript let’s talk
common application stack 
• express 
• mongodb 
• zeromq
common application stack 
• distributor 
• storage 
• transport
DEMO
prototype 
relentlessly
break 
ByoEFuO bRuEild
what do I need? ask
operate can each function of your app 
discreetly?
Disassembling the Monolith: Taming Large Software Projects with Node.js
Q&A ask me anything
@nicholaswyoung 
nicholaswyoung.com 
OriginalMachine.com 
Mixdown.co 
Machine.FM

More Related Content

PPTX
Interoperability of components built with different frameworks
PDF
Building Cloud Native Progressive Web Apps with Angular and Spring Boot - Dev...
PDF
KubeCon NA - 2021 Tools That I Wish Existed 3 Years Ago To Build a SaaS Offering
PPTX
Super tools to boost productivity in React dev env!
PDF
Maven Tutorial for Beginners | Edureka
PDF
Charity Hound - Serverless, NoOps, The Tooth Fairy
PDF
MEAN Stack Warm-up
PDF
Bring Your Web App to the Next Level. Wprowadzenie do Progressive Web App
Interoperability of components built with different frameworks
Building Cloud Native Progressive Web Apps with Angular and Spring Boot - Dev...
KubeCon NA - 2021 Tools That I Wish Existed 3 Years Ago To Build a SaaS Offering
Super tools to boost productivity in React dev env!
Maven Tutorial for Beginners | Edureka
Charity Hound - Serverless, NoOps, The Tooth Fairy
MEAN Stack Warm-up
Bring Your Web App to the Next Level. Wprowadzenie do Progressive Web App

What's hot (20)

PPSX
Node on Windows Azure
PDF
Jquery react angular
PDF
React Webinar With CodePolitan
PDF
Unlimited Frameworks
PDF
Building a Single-Page App: Backbone, Node.js, and Beyond
PPTX
Simplicity - develop modern web apps with tiny frameworks and tools
PDF
The Hitchhiker's Guide to Building a Progressive Web App
PDF
Serverless NodeJS With AWS Lambda
PDF
Developing PWAs and Mobile Apps with Ionic, Angular, and JHipster - Devoxx Mo...
KEY
New Perspectives on Performance
PDF
Frontend as a first class citizen
PPTX
Latest Javascript MVC & Front End Frameworks 2017
PPTX
Web Based Development Introduction
PDF
Silverstripe CMS 4.9.0 release and beyound
PPTX
PDF
Finding the sweet spot - blending the best of native and web
PDF
Empowering Your Clients and Be an Advocate for Yourself
PDF
Introduction to Meteor - Worldwide Meteor Day
PDF
Isolated React Js components
PDF
Journey to Go
Node on Windows Azure
Jquery react angular
React Webinar With CodePolitan
Unlimited Frameworks
Building a Single-Page App: Backbone, Node.js, and Beyond
Simplicity - develop modern web apps with tiny frameworks and tools
The Hitchhiker's Guide to Building a Progressive Web App
Serverless NodeJS With AWS Lambda
Developing PWAs and Mobile Apps with Ionic, Angular, and JHipster - Devoxx Mo...
New Perspectives on Performance
Frontend as a first class citizen
Latest Javascript MVC & Front End Frameworks 2017
Web Based Development Introduction
Silverstripe CMS 4.9.0 release and beyound
Finding the sweet spot - blending the best of native and web
Empowering Your Clients and Be an Advocate for Yourself
Introduction to Meteor - Worldwide Meteor Day
Isolated React Js components
Journey to Go
Ad

Viewers also liked (20)

PDF
Rubyslava beyond the_monolith
PDF
Monolith vs Microservices vs Teams
PPTX
Dismantling the Monolith: Scaling with Microservices
PPTX
JFokus 2015 - Hacking the-monolith
PDF
Breaking the Monolith - Microservice Extraction at SoundCloud
PDF
Splitting the Monolith
PDF
Breaking Down the Monolith - Peter Marton, RisingStack
PDF
Breaking the monolith at jobandtalent - AWS Summit Barcelona 2015
PPTX
My Monolith is Melting - PIPELINE CONF 2015
PDF
Monolith to Microservices - O’Reilly Oscon
PDF
Evolving toward Microservices - O’Reilly SACON Keynote
PPTX
DPM UK: Stealing Project Management Lessons from Artificial Intelligence
PDF
I-Tier: Breaking Up the Monolith @ Philly ETE
PDF
Embracing the Monolith in Small Teams: Doubling down on python to move fast w...
PPTX
Surviving as a Monolith in a Microservices World - by Blair Olynyk, Hyperwallet
PPTX
From the Monolith to Microservices - CraftConf 2015
PPTX
MicroserviceArchitecture in detail over Monolith.
PPTX
Pragmatic Microservices
PDF
The Journey from Monolith to Microservices: a Guided Adventure
PDF
Releasing the Monolith On a Daily Basis
Rubyslava beyond the_monolith
Monolith vs Microservices vs Teams
Dismantling the Monolith: Scaling with Microservices
JFokus 2015 - Hacking the-monolith
Breaking the Monolith - Microservice Extraction at SoundCloud
Splitting the Monolith
Breaking Down the Monolith - Peter Marton, RisingStack
Breaking the monolith at jobandtalent - AWS Summit Barcelona 2015
My Monolith is Melting - PIPELINE CONF 2015
Monolith to Microservices - O’Reilly Oscon
Evolving toward Microservices - O’Reilly SACON Keynote
DPM UK: Stealing Project Management Lessons from Artificial Intelligence
I-Tier: Breaking Up the Monolith @ Philly ETE
Embracing the Monolith in Small Teams: Doubling down on python to move fast w...
Surviving as a Monolith in a Microservices World - by Blair Olynyk, Hyperwallet
From the Monolith to Microservices - CraftConf 2015
MicroserviceArchitecture in detail over Monolith.
Pragmatic Microservices
The Journey from Monolith to Microservices: a Guided Adventure
Releasing the Monolith On a Daily Basis
Ad

Similar to Disassembling the Monolith: Taming Large Software Projects with Node.js (20)

PDF
Kicking Up the Dust with Node JS
PPTX
Progressive Web Apps(PWA)
PPT
Ruby On Rails Presentation
PPTX
One Does Not Simply Walk Into Devops
PPTX
Life Beyond Rails: Creating Cross Platform Ruby Apps
PPTX
NodeJS and what is actually does
PDF
Open Innovation means Open Source
KEY
Enterprise Architectures with Ruby (and Rails)
PDF
Going Mobile First With Drupal
PPT
Viridians on Rails
ODP
DiUS Computing Lca Rails Final
PDF
Scaling Up Lookout
PDF
Develop With Pleasure Deploy With Fun Glass Fish And Net Beans For A Better...
PDF
A Software Problem (and a maybe-solution)
PDF
Measuring Web Performance - HighEdWeb Edition
PDF
AbdulBasit
PDF
Things you must know on ruby on rails single page application
PDF
Tastypie: Easy APIs to Make Your Work Easier
PDF
GiordanoArman-Technicaldescription (1)
Kicking Up the Dust with Node JS
Progressive Web Apps(PWA)
Ruby On Rails Presentation
One Does Not Simply Walk Into Devops
Life Beyond Rails: Creating Cross Platform Ruby Apps
NodeJS and what is actually does
Open Innovation means Open Source
Enterprise Architectures with Ruby (and Rails)
Going Mobile First With Drupal
Viridians on Rails
DiUS Computing Lca Rails Final
Scaling Up Lookout
Develop With Pleasure Deploy With Fun Glass Fish And Net Beans For A Better...
A Software Problem (and a maybe-solution)
Measuring Web Performance - HighEdWeb Edition
AbdulBasit
Things you must know on ruby on rails single page application
Tastypie: Easy APIs to Make Your Work Easier
GiordanoArman-Technicaldescription (1)

Recently uploaded (20)

PDF
medical staffing services at VALiNTRY
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
System and Network Administraation Chapter 3
PPTX
Essential Infomation Tech presentation.pptx
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
Nekopoi APK 2025 free lastest update
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
Digital Strategies for Manufacturing Companies
PPTX
history of c programming in notes for students .pptx
PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
System and Network Administration Chapter 2
medical staffing services at VALiNTRY
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
System and Network Administraation Chapter 3
Essential Infomation Tech presentation.pptx
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Nekopoi APK 2025 free lastest update
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Internet Downloader Manager (IDM) Crack 6.42 Build 41
How to Migrate SBCGlobal Email to Yahoo Easily
Navsoft: AI-Powered Business Solutions & Custom Software Development
Design an Analysis of Algorithms II-SECS-1021-03
Digital Strategies for Manufacturing Companies
history of c programming in notes for students .pptx
Operating system designcfffgfgggggggvggggggggg
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PTS Company Brochure 2025 (1).pdf.......
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
System and Network Administration Chapter 2

Disassembling the Monolith: Taming Large Software Projects with Node.js