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
Integrating Node.js
Search
Andrew Nesbitt
November 10, 2012
Technology
2
810
Integrating Node.js
Slides from NodejsConf.it talk
Andrew Nesbitt
November 10, 2012
Tweet
Share
More Decks by Andrew Nesbitt
See All by Andrew Nesbitt
Ecosyste.ms Conference talk at EasyBuild User Meeting
andrew
0
270
Can my friends come too?
andrew
5
2.3k
Elasticsearch on Rails
andrew
1
430
24 Pull Requests
andrew
0
550
Hardware Hacking with JavaScript
andrew
1
340
Robotics 101
andrew
4
800
Learning how to Tinker
andrew
2
940
Nodecopter Pivotal
andrew
1
160
BathRuby on Robots
andrew
0
140
Other Decks in Technology
See All in Technology
なぜインフラコードのモジュール化は難しいのか - アプリケーションコードとの本質的な違いから考える
mizzy
36
11k
[mercari GEARS 2025] Keynote
mercari
PRO
0
160
AWS 環境で GitLab Self-managed を試してみた/aws-gitlab-self-managed
emiki
0
350
今日から使える AWS Step Functions 小技集 / AWS Step Functions Tips
kinunori
7
650
CodexでもAgent Skillsを使いたい
gotalab555
9
4.4k
Flutterで実装する実践的な攻撃対策とセキュリティ向上
fujikinaga
1
320
日々のSlackアラート確認運用をCustom Chat Modesで楽にした話 / 日々のSlackアラート確認運用をCustom Chat Modesで楽にした話
imamotohikaru
0
430
やり方は一つだけじゃない、正解だけを目指さず寄り道やその先まで自分流に楽しむ趣味プログラミングの探求 2025-11-15 YAPC::Fukuoka
sugyan
1
170
ステートレスなLLMでステートフルなAI agentを作る - YAPC::Fukuoka 2025
gfx
0
150
CloudFormationコンソールから、実際に作られたリソースを辿れるようになろう!
amixedcolor
1
150
Logik: A Free and Open-source FPGA Toolchain
omasanori
0
280
ユーザーストーリー x AI / User Stories x AI
oomatomo
0
170
Featured
See All Featured
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.3k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
Producing Creativity
orderedlist
PRO
348
40k
Stop Working from a Prison Cell
hatefulcrawdad
272
21k
The Language of Interfaces
destraynor
162
25k
Documentation Writing (for coders)
carmenintech
76
5.1k
A better future with KSS
kneath
239
18k
Navigating Team Friction
lara
190
15k
Why You Should Never Use an ORM
jnunemaker
PRO
60
9.6k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Transcript
Integrating Node.js into an existing technology stack
Andrew Nesbitt github.com/andrew @teabass
forwardtechnology.co.uk
None
None
None
Show of hands
Benefits of Node
Legacy Systems
Benefits of integration
Let’s do this!
1. Standalone Tools
Command line tools Asset minification Pixel Trackers Url shorteners Internal
tools Monitoring Chat bots Examples
Legacy App Internal tool Internal tool Internal tool Internal tool
Easy to setup Very little integration Little experience needed Pros
Extra dependencies Knowledge silos Cons
2. Shared databases
Connect directly existing database Read from a data warehouse Share
data with a key-value store Examples
Legacy App DB Node
Quick and dirty Adapters for almost every DB available Slow
databases not a problem Pros
Duplicating domain logic Race-conditions Your DBA will likely hate you
Cons
None
3. Using APIs
Use API from existing application Linkedin Mobile Github Downloads Examples
Legacy App DB Node
Avoid duplication of domain logic JSON APIs are lovely to
work with Plays to Nodes strengths Pros
Extra load on existing application Might have to build/extend existing
API What if the legacy app goes down? Cons
4. Creating APIs
Websocket Services Streaming services APIs for Mobile Apps Proxy serivces
File upload handling Ebay’s ql.io Examples
DB Node Clients
Handle very load Lots of concurrent connections JSON comes naturally
Pros
Cons You now have a dependeny on Node System adminstration
Teaching others about it
mysql Rails Disc Cache Nginx Redis Node Browser Pusher http://live.mpora.com
Mpora Live
5. Message Queues
ZeroMQ Resque Redis Pubsub dnode Examples
Message Queue Legacy App Node Legacy Worker
6. Streams
Twitter, Facebook, Salesforce HTTP long polling Comet XMPP Examples
7. Embedding
Ruby Racer Android Hadoop and Timothy Sprintstack PLV8 Examples
create or replace function fib(n int) returns int as $$
function fib(n) { return n<2 ? n : fib(n-1) + fib(n-2) } return fib(n) $$ LANGUAGE plv8 IMMUTABLE STRICT;
http://pgeu-plv8.herokuapp.com
Legacy App Node
Scripting within compiled languages Use existing, battle tested software Enable
Node on embedded devices Pros
Under heavy development You need to know the host platform
Context switching overhead Cons
Take a unix-like approach Decoupled Systems Use APIs to share
data Play to node’s strengths Summary
Node on Andriod - lanyrd.com/smpbg Rails and Node.js - lanyrd.com/srmwr
Hadoop and Timothy - lanyrd.com/sttxx Rhinode (Sprintstack) - lanyrd.com/srmwx These slides - lanyrd.com/szwyc Links