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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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
330
Can my friends come too?
andrew
5
2.3k
Elasticsearch on Rails
andrew
1
460
24 Pull Requests
andrew
0
570
Hardware Hacking with JavaScript
andrew
1
360
Robotics 101
andrew
4
860
Learning how to Tinker
andrew
2
990
Nodecopter Pivotal
andrew
1
170
BathRuby on Robots
andrew
0
150
Other Decks in Technology
See All in Technology
Kaggleコンペティション「MABe Challenge - Social Action Recognition in Mice」振り返り
yu4u
1
740
Azure SRE Agent x PagerDutyによる近未来インシデント対応への期待 / The Future of Incident Response: Azure SRE Agent x PagerDuty
aeonpeople
0
120
これまでのネットワーク運用を変えるかもしれないアプデをおさらい
hatahata021
4
270
【Oracle Cloud ウェビナー】ランサムウェアが突く「侵入の隙」とバックアップの「死角」 ~ 過去の教訓に学ぶ — 侵入前提の防御とデータ保護 ~
oracle4engineer
PRO
2
210
BiDiってなんだ?
tomorrowkey
2
480
kintone開発のプラットフォームエンジニアの紹介
cybozuinsideout
PRO
0
590
いよいよ仕事を奪われそうな波が来たぜ
kazzpapa3
2
170
漸進的過負荷の原則
sansantech
PRO
3
350
AI Agent Standards and Protocols: a Walkthrough of MCP, A2A, and more...
glaforge
1
540
「全社導入」は結果。1人の熱狂が組織に伝播したmikanのn8n活用
sota_mikami
0
450
【NGK2026S】日本株のシステムトレードに入門してみた
kazuhitotakahashi
0
100
AWS Devops Agent ~ 自動調査とSlack統合をやってみた! ~
kubomasataka
2
140
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
141
7.3k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
Skip the Path - Find Your Career Trail
mkilby
0
45
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
140
From π to Pie charts
rasagy
0
120
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.8k
Become a Pro
speakerdeck
PRO
31
5.8k
Un-Boring Meetings
codingconduct
0
180
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.8k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
82
SEO for Brand Visibility & Recognition
aleyda
0
4.2k
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