Successfully reported this slideshow.
Your SlideShare is downloading. ×

The Enterprise Case for Node.js

Loading in …3

Check these out next

1 of 39 Ad

More Related Content

Slideshows for you (20)


Similar to The Enterprise Case for Node.js (20)

More from NodejsFoundation (18)


Recently uploaded (20)

The Enterprise Case for Node.js

  1. 1. The Enterprise Case for Node.js V1 July, 2016
  2. 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
  3. 3. Node.js Introduction
  4. 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. 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. 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. 7. Node.js Foundation - A Linux Foundation Project Mission: Enable widespread adoption and help accelerate development of Node.js and other related modules 7
  8. 8. Node.js Foundation Members 8
  9. 9. Node.js Vendor Ecosystem Node.js Enterprise Services Node.js Enterprise Tooling See Appendix A for service and tooling directory
  10. 10. Node.js And Performance
  11. 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. 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
  13. 13. Node.js and Performance Rolled out global site rebrand in 1 hour
  14. 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
  15. 15. Node.js and Performance Groupon’s Node.js implementation reduced page load times by 50%
  16. 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. 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
  18. 18. Node.js And Customer Experience
  19. 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. 20. Drivers of the API Era Available Data CX Focus Device / End Point Explosion 20
  21. 21. APIs on the Rise Source: Programmable Web Source: Apigee, The State of APIs 2016 21
  22. 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
  23. 23. Node.js And Productivity
  24. 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. 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. 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. 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
  28. 28. Thank you!
  29. 29. Appendix A Node.js Enterprise Services and Tooling Directory
  30. 30. Node.js Enterprise Ecosystem Company Name & URL IBM Product or Service Description & URL API Connect 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. 31. Node.js Enterprise Ecosystem Company Name & URL Joyent 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. 32. Node.js Enterprise Ecosystem Company Name & URL nearForm 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. 33. Node.js Enterprise Ecosystem Company Name & URL Nodesource - Product or Service Description & URL N|Solid - 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. 34. Node.js Enterprise Ecosystem Company Name & URL Nodesource - Product or Service Description & URL N|Support - 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. 35. Node.js Enterprise Ecosystem Company Name & URL Red Hat Inc. Product or Service Description & URL Red Hat Mobile Application Platform (previously FeedHenry) Supports an agile approach to developing, integrating, and deploying enterprise mobile applications whether native, hybrid, or on the web OpenShift - 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. 36. Node.js Enterprise Ecosystem Company Name & URL RisingStack - 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. - 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. 37. Node.js Enterprise Ecosystem Company Name & URL Sauce Labs | 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. 38. Node.js Enterprise Ecosystem Company Name & URL StrongLoop, an IBM Company Product or Service Description & URL LoopBack 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. 39. Node.js Enterprise Ecosystem Company Name & URL YLD - Product or Service Description & URL Node.js Software Engineering, Consulting and Training 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.