59
Enterprise Class

Node Js

Embed Size (px)

DESCRIPTION

Node.js is a platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.

Citation preview

Page 1: Node Js

Enterprise Class

Page 2: Node Js

Microsoft, digging node

Page 3: Node Js

Node, GAINING A LOT OF INTEREST

Page 4: Node Js

NEW JOBS are exploding

Page 5: Node Js

SERIOUS adopters

Page 6: Node Js

Source: https://github.com/joyent/node/wiki/Projects,-Applications,-and-Companies-Using-Node

Page 7: Node Js

AND NPM IS OUTTA CONTROL

2011...

~1800 projects

730 active package authors

26 npm contributors

version 1.0 released

Page 8: Node Js

AND NPM IS OUTTA CONTROL

2012...~12000 PROJECTS

3800 ACTIVE PACKAGE AUTHORS

72 npm contributors

version 1.1.35 released

Page 9: Node Js

WHY???

Page 10: Node Js

Source: http://venturebeat.com/2011/08/16/linkedin-mobile-app/

Page 11: Node Js

LINKEDIN: Node drives the mobile stack

“On the server side, our entire mobile software stack is completely built in Node,”

KIRAN PRISAD

Page 12: Node Js
Page 13: Node Js

Source: http://www.slideshare.net/phegaro/linkedin-mobile-how-do-we-do-it

Page 14: Node Js

SCALE

“One reason was scale.”

KIRAN PRISAD

Page 15: Node Js

Great for io/bound cals

“The second is, if you look at Node, the thing it’s best at doing is talking to other services.”

KIRAN PRISAD

Page 16: Node Js

Great for io/bound cals

“The mobile app has to talk to our platform API and database. We’re not doing massive data analytics.”

KIRAN PRISAD

Page 17: Node Js

Huge perf gains

“Node showed us huge performance gains compared to what we were using before, which was Ruby on Rails.”

KIRAN PRISAD

Page 18: Node Js

Source: http://www.ebaytechblog.com/2011/11/30/announcing-ql-io//

Page 19: Node Js

QL.io (EBAY): HTTP gateway

a declarative, evented, data-retrieval and aggregation gateway for HTTP APIs

SUBBU ALLAMARAJU

Page 20: Node Js

Source: http://www.slideshare.net/phegaro/linkedin-mobile-how-do-we-do-it

Page 21: Node Js
Page 22: Node Js

What was important

• Performance and scale for i/o bound workloads

• Operability• Low per-connection memory

overhead• Dynamic language support SUBBU ALLAMARAJU

Page 23: Node Js

Fast interations

“Javascript and node.js allowed us to iterate very rapidly.”

SUBBU ALLAMARAJU

Page 24: Node Js

rich ecosystem

“Though we were initially concerned about finding the right tools and libraries, the node.js ecosystem proved sufficient for us to build as complex a system as ql.io.”

SUBBU ALLAMARAJU

Page 25: Node Js

SuperB scale

“We were able to tune a regular developer-quality Ubuntu workstation to handle more than 120,000 active connections per node.js process, with each connection consuming about 2k memory.” SUBBU ALLAMARAJU

Page 26: Node Js

Non BLOCKING / simplified programming model

“Node’s evented I/O model freed us from worrying about locking and concurrency issues that are common with multithreaded async I/O.”

SUBBU ALLAMARAJU

Page 27: Node Js

Source: http://venturebeat.com/2012/01/24/why-walmart-is-using-node-js/

Page 28: Node Js

Walmart: mobile strategy

In a nutshell, Walmart is able to serve some very sophisticated features to mobile users on the client side using Node.

DIONALMAER

BENGALBRAIT

H

Page 29: Node Js
Page 30: Node Js

Walmart: BETter expErIENCe

“It’s saving mobile shoppers a ton of time by customizing content based on device type and browser capabilities.”

DIONALMAER

BENGALBRAIT

H

Page 31: Node Js

Javascript everywhereprogressive enhancement

“We’ve been fascinated for a long time by end-to-end JavaScript,” …“a website that would be rich and dynamic… on devices that weren’t too powerful.”

DIONALMAER

BENGALBRAIT

H

Page 32: Node Js

Javascript everywhereprogressive enhancement

“Now, on Walmart’s re-engineered Node-powered mobile app, all the front-end code gets executed on the back end.”

DIONALMAER

BENGALBRAIT

H

Page 33: Node Js

Scale and flexibility

“We rely on services all over the world…We do not control all of those services.”

DIONALMAER

BENGALBRAIT

H

Page 34: Node Js

Scale and flexibility

“Node allows us to front all these services… and scale up very nicely. It’s perfect for what we’re doing in mobile.”

DIONALMAER

BENGALBRAIT

H

Page 35: Node Js
Page 36: Node Js
Page 37: Node Js

Turner: Disruptive Thinking

“At Turner, Node.js represents a disruption to the mainstream thinking around how you build applications.”

DON BROWNING

Page 38: Node Js

Turner: Disruptive Thinking

“We found developers were over-engineering their code; writing code for the sake of writing code. We needed to shake things up.”

DON BROWNING

Page 39: Node Js

Turner: Startup Mentality

“We’re also starting to behave more like a startup, rather than an enterprise shop. Quick turn around, no ceremony, and finding the Minimum Viable Product.”

DON BROWNING

Page 40: Node Js

Turner: Startup Mentality

“We’ve found that being a part of the open-source community really facilitates this mindset.”

DON BROWNING

Page 41: Node Js

The node toolbox

Page 42: Node Js

What’s in npm?API clients: 118Boilerplates: 10Build and deployment: 50Chat: 1Class systems: 11Compression: 16Content Management Systems: 14Continuous Integration Tools: 3Control flow / Async goodies: 78CSS Engines: 12Database: 137DDD, CQRS, EventSourcing: 10Debugging / console utilities: 75Desktop application related: 2File system: 13Graphics: 39IL18n and L10n modules: 17JavaScript threads: 1

Message Queues: 15Module Loader: 11Monitoring and Alerting: 3OpenSSL / Crypto / Hashing: 31Other: 35Package Management Systems: 7Parsers: 135Payment Gateways: 7RPC: 19SMTP: 11Sound: 2TCP / IP: 54Templating: 65Testing / Spec Frameworks: 75Web frameworks: 213Web Sockets & Ajax: 32Wrappers: 8

Page 43: Node Js
Page 44: Node Js
Page 45: Node Js
Page 46: Node Js
Page 47: Node Js
Page 48: Node Js
Page 49: Node Js
Page 50: Node Js
Page 51: Node Js
Page 52: Node Js
Page 53: Node Js
Page 54: Node Js
Page 55: Node Js
Page 56: Node Js
Page 57: Node Js
Page 58: Node Js

Enterprise Class

Page 59: Node Js

Contact info

[email protected]@gblock

再见