59
Enterprise Class

Node js - Enterprise Class

Embed Size (px)

DESCRIPTION

My keynote on node.js in the real world. Delivered at the InfoQ Arch Summit in ShenZhen

Citation preview

Enterprise Class

Microsoft, digging node

Node, GAINING A LOT OF INTEREST

NEW JOBS are exploding

SERIOUS adopters

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

AND NPM IS OUTTA CONTROL

2011...

~1800 projects

730 active package authors

26 npm contributors

version 1.0 released

AND NPM IS OUTTA CONTROL

2012...~12000 PROJECTS

3800 ACTIVE PACKAGE AUTHORS

72 npm contributors

version 1.1.35 released

WHY???

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

LINKEDIN: Node drives the mobile stack

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

KIRAN PRISAD

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

SCALE

“One reason was scale.”

KIRAN PRISAD

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

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

Huge perf gains

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

KIRAN PRISAD

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

QL.io (EBAY): HTTP gateway

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

SUBBU ALLAMARAJU

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

What was important

• Performance and scale for i/o bound workloads

• Operability• Low per-connection memory

overhead• Dynamic language support SUBBU ALLAMARAJU

Fast interations

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

SUBBU ALLAMARAJU

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

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

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

Source: http://venturebeat.com/2012/01/24/why-walmart-is-using-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

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

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

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

Scale and flexibility

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

DIONALMAER

BENGALBRAIT

H

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

Turner: Disruptive Thinking

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

DON BROWNING

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

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

Turner: Startup Mentality

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

DON BROWNING

The node toolbox

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

Enterprise Class

Contact info

[email protected]@gblock

再见