Node.js is a popular JavaScript runtime that provides a fast and scalable platform for building modern, server-side web applications. The document discusses Node.js's growth and backing by major companies. It outlines how Node.js can improve performance, customer experience, and productivity for enterprises. Node.js handles high concurrency well due to its event-driven and non-blocking model. Case studies show how companies like Netflix, PayPal and Groupon saw benefits from Node.js. The appendix provides a directory of Node.js enterprise services and tools.
2. Table of Contents
• Node.js Introduction
– Technology
– The Node.js Foundation
– Industry Backing
• Selling Node.js in Your Company
– Performance
– Customer Experience
– Productivity
• Conclusion
• Appendix A: Node.js Enterprise Tooling
and Services Directory
4. Node.js Growth
By many measures, Node.js is the fastest growing and most significant development
language right now. With 4 million users and an annual growth rate of 100%, Node.js is
truly everywhere.
4
5. Technology Introduction
Node.js is the JavaScript runtime of
choice for high-performance, low
latency applications, powering
everything from enterprise applications,
robots, API engines, cloud stacks and
mobile websites.
It uses an event-driven, non-blocking
I/O model that makes it lightweight,
efficient and highly-performant even
under extreme load.
6. Node.js In Demand
• Node.js is the only language listed on UpWork’s Top 10 most
wanted IoT Developer Skills
• Node.js ranks among the Top 10 languages for full stack, front
end and back end developers surveyed by StackOverflow in
their 2016 developer survey
• Only Android ranks higher than Node.js in Most Wanted* tech
by StackOverflow
* % of developers who are not developing with the language or tech but have expressed interest in
developing with it
7. Node.js Foundation - A Linux Foundation
Project
Mission: Enable widespread adoption and help accelerate
development of Node.js and other related modules
7
11. Node.js and Performance
Under high load (high concurrency), Node.js maintains high throughput
and low latency
Three factors underpin Node’s high performance:
1. The V8 JavaScript engine, upon which Node.js is based, is highly
optimized for performance by Google, who continues to invest heavily
in advancing V8’s performance
2. JavaScript/Node.js events are lightweight, while threads are
heavyweight. Consequently, Node.js is inherently more performant
under load than monolithic designs (this article offers a nice recap)
3. Node.js is container-ready, which simplifies the move to cloud and
microservices architectures (Richard Rodger, author of The Tao of
Microservices, explains)
12. Node.js and Performance
In moving from monolithic Java server architecture to Node.js, Netflix improved
performance and reduced infrastructure costs
• Reduced start-up time from 40 mins to sub 1 minute
• Reduced the number of EC2 instances on Node compared with the legacy Java
stack by 75%, while serving the same number of subscribers at lower latencies
14. Node.js and Performance
PayPal’s Node.js app doubled the number of requests per second and reduced
response times by 35% versus previous Java version
16. Node.js and Performance Diagnostics
Also see best Practices from Netflix’s @yunonx on maintaining high performance in large-scale production Node.js Applications
Building Node.js Applications for visibility, live tracing and
debugging is aided by advancements in Node.js Core and in the
ecosystem around it (e.g. Restify, Bunyan, etc.)
The Node.js Core Diagnostics Working Group is working to
ensure Node.js provides a set of comprehensive, documented,
extensible diagnostic protocols, formats, and APIs to enable tool
vendors to provide reliable diagnostic tools for Node.js
Work is divided into the following domains:
• Tracing
• Profiling
• Heap and Memory Analysis
• Step Debugging
17. Node.js and Performance Debugging
For problems you can’t diagnose expediently, or issues such as memory
leaks, do post-mortems
1. Capture a core dump of running process at any time in production to capture all of the state of
the process and then reboot it
2. There is now a broad set of tools that can be used: mdb_v8, llnode and IBM's IDDE
3. This methodology offers Node.js Engineers several advantages, including
a. Allows services to stay up while developers investigate the problem (increased
availability)
b. Allows several developers to investigate the same problem not at the same time (easier
collaboration)
c. Allows developers to investigate issues at any time that is convenient for them (easier
workflow)
Also see the Node.js Core Post-Mortem Working Group and best Practices from Netflix’s @yunonx on
maintaining high performance in large-scale production Node.js Applications
19. Node.js and Customer Experience
• Today’s digital consumers
expect all available data to be
leveraged in App instantly to
make their experience effortless
• This means an API-first strategy
• No language is better than
Node.js for taking advantage of
the explosion of API data
19
20. Drivers of the API Era
Available
Data
CX
Focus
Device /
End Point
Explosion
20
21. APIs on the Rise
Source: Programmable Web Source: Apigee, The State of APIs 2016
21
22. Node.js Excels for Data-intensive Apps
• The richer an app’s API layer becomes,
the better suited it is to Node.js
• Node.js apps can handle thousands of
concurrent connections
• Open-source modules provide
performant DB interaction out of box
• SDKs available for consuming most
third-party services and applications
Many mlns
of rides/day
75 mln members
Streaming 100+
mln hrs/day
15 mln mobile
profile views per
day
22
24. Node.js and Productivity
Node.js for frontend and server
side, and on devices where
appropriate, can increase
developer productivity and
improve developer job
satisfaction
These improvements translate
directly to the bottom line
Sources: PayPal, Capital One, Skycatch, Fusion Marketing
25. Node.js and Productivity
Improved developer satisfaction means less
turnover, a better employer brand and easier
recruitment
• Node.js Everywhere increases developers’ internal
mobility, thus heading off one of the top reasons
developers leave - namely lack of new
challenges/monotonous work/feeling stuck
• Node.js Everywhere also appeals to many
developers’ desire to use more JavaScript, which
is described as a fun and flexible language
26. Node.js and Productivity
Node.js Everywhere makes it easy for developers to implement features end-to-end,
reducing context switches and handoffs between front-end and back-end
developers
Prior to replacing Java with Node.js on the server side, the Netflix UI team had to write
many things twice and maintain separate toolchains
27. Conclusion
Node.js has helped transform the app
dev landscape at leading organizations
like Netflix, Capital One, Walmart, NASA,
GoDaddy, PayPal - helping them keep
pace with innovation in APIs, Web,
mobile, devices and customer
expectations
With its strong ecosystem and massive
repository of non-blocking modules,
Node.js can help your organization too
30. Node.js Enterprise Ecosystem
Company Name & URL
IBM http://IBM.com
Product or Service
Description & URL
API Connect http://ibm.com/apiconnect
Product or Service Category
Platform
Benefits for Enterprises
running Node.js and
Examples
IBM API Connect offers features to manage the API lifecycle, including:
Create—create high-quality, scalable and secure APIs for application servers, databases, enterprise
service buses (ESB) and mainframes in minutes.
Run—take advantage of integrated tooling to build, debug and deploy APIs and microservices using
the Node.js or Java.
Manage—create and manage portals that allow developers to quickly discover and consume APIs
and securely access enterprise data, and monitor APIs to improve performance.
Secure—Administrators can manage security and governance over APIs and the microservices. IT
can set and enforce API policies to secure back-end information assets and comply with governance
and regulatory mandates.
31. Node.js Enterprise Ecosystem
Company Name & URL
Joyent www.joyent.com
Joyent builds open source, container-native software to automate modern data
centers. We use that software to operate the Triton Cloud service. We also make
that software available to enterprises that want to operate their own private clouds.
Product or Service
Description & URL
Triton DataCenter is a management platform that makes container management,
including cluster management, composition, deployment, naming, logging and
networking, efficient and easy.
Product or Service
Category
Containers as a Service
Benefits for Enterprises
running Node.js
As the original corporate steward of Node.js, we know microservices and how to
operate them at scale. Enterprise support for Node.js is included with Triton.
32. Node.js Enterprise Ecosystem
Company Name & URL
nearForm www.nearform.com
Product or Service
Description & URL
Node.js Training, Consulting and Co-development
Product or Service
Category
Service
Benefits for Enterprises
running Node.js
We engage with our client’s technical people throughout the development process
to help them learn Node.js at a deep and integrated level. We also support them
with custom training programs. They work alongside us as part of our project team
throughout the build.
33. Node.js Enterprise Ecosystem
Company Name & URL Nodesource - https://nodesource.com
Product or Service
Description & URL
N|Solid - https://nodesource.com/products/nsolid
The premier enterprise-grade Node.js platform
Product or Service
Category
Tools
Benefits for Enterprises
running Node.js and
Examples
Benefits for Enterprises running Node.js and Examples
N|Solid -
Rapidly resolve performance problems
Protect customer data from vulnerable packages and unauthorized code
Drive performance and operational efficiency at scale
34. Node.js Enterprise Ecosystem
Company Name & URL Nodesource - https://nodesource.com
Product or Service
Description & URL
N|Support - https://nodesource.com/services/nsupport
Node.js support offering that helps companies establish and sustain enterprise-
grade Node.js development and operations
Product or Service
Category
Service/Support
Benefits for Enterprises
running Node.js and
Examples
N|Support -
The NodeSource N|Support team extends the Node.js capabilities of your
Development and DevOps teams, to protect your project and serve your team
when it matters.
35. Node.js Enterprise Ecosystem
Company Name & URL Red Hat Inc. www.redhat.com
Product or Service
Description & URL
Red Hat Mobile Application Platform (previously FeedHenry)
https://www.redhat.com/en/technologies/mobile/application-platform
Supports an agile approach to developing, integrating, and deploying enterprise mobile applications
whether native, hybrid, or on the web
OpenShift - https://www.openshift.com
Platform-as-a-Service (PaaS) that allows developers to quickly develop, host, and scale applications
in a cloud environment. With OpenShift you have a choice of offerings, including online, on-premise,
and open source project options.
Product or Service
Category
Online, Hosted or on prem. PaaS and MBaaS
Benefits for Enterprises
running Node.js and
Examples
For more than a decade, Red Hat® solutions have been trusted in the world’s most rigorous
datacenters, handling everything from the critical to the routine. Red Hat subscriptions give you
access to secure, enterprise-ready software, updates, information, and support services to keep your
business running securely.
36. Node.js Enterprise Ecosystem
Company Name & URL RisingStack - risingstack.com
Product or Service
Description & URL
Trace by RisingStack is a Node.js specialized performance monitoring solution. It
allows developers to visualize requests and messages between microservices,
databases, and external APIs - and get detailed information for debugging by looking
at stack traces. Trace also provides unique event loop and garbage collector metrics
as well as CPU, memory usage, response time and throughput data. Trace lets to
define alert levels and sends notifications instantly via Slack, Pagerduty, Email or
Webhook. - trace.risingstack.com
Product or Service
Category
APM, Infrastructure Visualization, Debugging, Microservice Monitoring
Benefits for Enterprises
running Node.js and
Examples
Trace reduces the time engineers need to spend on analyzing logfiles and provides
more time for building features. It enables enterprises to ship products faster and
saves a significant amount of capital dedicated to development.
37. Node.js Enterprise Ecosystem
Company Name & URL Sauce Labs | www.saucelabs.com
Product or Service
Description & URL
Sauce Labs cloud-based platform helps developers test native & hybrid mobile and web applications
across 700+ browser / OS platforms, including iOS, Android & Mac OS X. Sauce supports Selenium,
Appium and popular JavaScript unit testing frameworks, and integrates with all of the top programming
languages, test frameworks and CI systems. With built-in video recording and screenshots of every test
case, debugging tools, and secure tunneling for local or firewalled testing, Sauce makes running,
debugging and scaling test suites quick and easy.
Product or Service
Category
Cloud-based testing infrastructure for automated & manual front-end testing using Selenium or Appium.
Benefits for Enterprises
running Node.js and
Examples
One of the key benefits of Selenium and Appium is that tests can be written in any language – development
teams can use JS end-to-end, creating their apps in JS, writing front-end unit tests in JS, and using
Node.js for backend services as well as functional testing via Selenium and Appium - JS all the things!
Sauce Labs then provides a cloud-based infrastructure to run these tests – in parallel – across hundreds of
different platform, device and OS combinations, removing the bottleneck usually associated with software
testing.
38. Node.js Enterprise Ecosystem
Company Name & URL
StrongLoop, an IBM Company www.strongloop.com
Product or Service
Description & URL
LoopBack https://strongloop.com/node-js/loopback-framework/
Product or Service
Category
Framework
Benefits for Enterprises
running Node.js and
Examples
LoopBack is a highly-extensible, open-source Node.js framework that enables you to:
● Create dynamic end-to-end REST APIs with little or no coding.
● Access data from major relational databases, MongoDB, SOAP and REST APIs.
● Incorporate model relationships and access controls for complex APIs.
● Use geolocation, file, and push services for mobile apps.
● Easily create client apps using Android, iOS, and JavaScript SDKs.
● Run your application on-premises or in the cloud.
39. Node.js Enterprise Ecosystem
Company Name & URL
YLD - www.yld.io
Product or Service
Description & URL
Node.js Software Engineering, Consulting and Training
https://www.yld.io/what-we-do
YLD changes the way companies think by delivering digital, technological and cultural
transformation that enables them to succeed, through high quality Node.js software
engineering, consultancy and training.
Product or Service
Category
Services
Benefits for Enterprises
running Node.js and
Examples
We use open source technologies like Node.js and Docker to help build our client’s
infrastructures, we help them strengthen their software engineering culture and create the
agility necessary to compete in the market, and are responsible for some of the largest
Node.js solutions in production today.