Node.js is coming up on its fifth year of existence and is clearly showing signs of maturity, from the core APIs becoming more stable, to the exponential growth of modules in npm to even a number of books being published to support the education needs of developers who want to learn Node. Node.js is officially past the infancy it was once in and is developing into a proper first class technology solution.
With this growth, there are growing pains. We have an exceptionally large and growing community of developers and now, enterprise companies who are adopting and actively supporting and contributing to Node. With this growth comes new challenges and new opportunities to strengthen the value propositions behind using and adopting Node.
11. Success Story: PayPal
Built a Node version of a
Java app in half the time with
fewer developers.
Business Tenet: Cost Savings
Business Tenet: Productivity
12. Success Story: PayPal
Node version of the app doubled the number of
requests/second.
Response time dropped 35% or 200 milliseconds.
From 1 to 12 Node apps in six months.
Business Tenet: Productivity
13. “Velocity was the key driving point for PayPal's move to Node.
We found it enabled a huge boost to our workflow allowing us to
iterate faster and innovate more.”
–Jeff Harrel, Director of User Interface Engineering
Business Tenet: Innovation
14. “PayPal has a long history of enterprise technologies such as
Java and C++. Since PayPal has adopted Node, I've been told
countless times from engineers in passing that they are
energized by their job again and excited to be adopting a
‘modern’ technology to build our future. It's nice to hear that.”
–Jeff Harrel, Director of User Interface Engineering
Business Tenet: Developer Joy
15.
16. Success Story: Groupon
Easily serving 50,000 requests/minute (this was 6 months ago
and before rolling out to 48 countries).
Node services are now handling the same amount of traffic as
before but with less hardware.
Business Tenet: Cost Savings
17. Success Story: Groupon
Page load times decreased by a whopping 50%.
Now able to make site-wide feature and design
changes much more quickly.
Business Tenet: Productivity
Business Tenet: Innovation
18.
19. Success Story: Walmart
55% of all traffic on Black Friday went to Node
servers.
Not a single Node server went down. Zero.
Business Tenet: Developer Joy
20. Success Story: Walmart
CPU Utilization hovered around 1%.
Developers “were bored” that day.
Business Tenet: Developer Joy
23. Success Story: Yahoo
On average, Node services handle around 1,680,000
2,000,000 requests/minute.
Yahoo has around 200 developers writing Node code.
Business Tenet: Hiring/Retaining Talent
Good morning. My name is Joe McCann and today I’m going to make the case for why Node is ready for your business and the enterprise overall.
Node is coming up on its fifth year of existence and is clearly showing signs of maturity, from the core APIs becoming more stable, to the exponential growth of modules in npm to even a number of books being published to support the education needs of developers who want to learn Node. Node is officially past the infancy it was once in and is developing into a proper first class technology solution.
With this growth, there are growing pains. We have an exceptionally large and growing community of developers and now, enterprise companies who are adopting and actively supporting and contributing to Node. With this growth comes new challenges and new opportunities to strengthen the value propositions behind using and adopting Node.
Today I’m going to layout the case for why Node is ready for the enterprise and I’m going to focus in on five key tenets:
Innovation, Productivity, Developer Joy, Hiring/Retaining Talent, and finally Cost Savings.
Before I dive into these five areas, I want to talk first about Why Node, Why Now and some Success Stories along the way helping to illustrate the five tenets.
Node, as some of you know, is a platform built on Google Chrome's V8 JavaScript runtime for building fast, scalable network applications. Node 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.
That’s a mouthful isn’t it?
In essence, Node’s raison d'être or reason to be is to provide an easy way to build fast and scalable applications.
After 15 plus years of enterprise legacy process, technical debt and millions of lines of verbose code, many organizations are finding themselves tied down and restricted from moving swiftly and thus, actually impeding their ability to innovate.
Many companies with whom I've spoken have told me how they've had to “sneak in” Node into their organizations, build something brand new in a matter of days, and then show it to the technical leadership and say, "yes, we built that, it works, it scales and it took a fraction of the time of anything else we’ve been working on".
As technology as a whole continues to change and shift at a breakneck pace, one’s ability to adapt and move quickly and ultimately be innovative is a key differentiator for one’s business.
From the Internet of Things to Mobile Devices to Home Automation and eventually, internet access everywhere, organizations shackled to one vertically integrated technology stack and even a technology vendor are seeing their business be disrupted by smaller, more nimble and innovative companies, many of these companies are using Node.
Uber is one of Silicon Valley’s darling companies and rightfully so. They have completely changed personal transportation at a global scale and are building a platform to change logistics and the consumer mindset as a whole.
Their technology of choice? Node.
Medium, a new publishing platform created by Twitter co-founder Ev Williams, is according, to their CTO, “Node to the core”.
But that doesn’t mean there aren’t opportunities for incumbents! In reality, many massive organizations are adopting Node and are reaping huge benefits from it.
There a number of enterprise companies who have experienced great success with Node and it’s worth chatting about a few and how their success ties back to the five business tenets.
PayPal has had a massive amount of success by working with Node.
PayPal built a Node version of a Java app in parallel and found that they were able to build the app to the same spec in half the time with fewer developers.
PayPal also saw impressive performance gains on the client and on the server and has since spun up a dozen node apps in just six months.
But, for PayPal it actually gets better.
I was so intrigued by the success that Node had at a traditional Java shop like PayPal that I asked Jeff Harrel, PayPal’s Director of User Interface Engineering, a couple of questions to find out more.
I asked him about innovation and how Node was enabling it at PayPal.
Velocity was the key driving point for PayPal’s move to Node. We found it enabled a huge boost to our workflow allowing us to iterate faster and innovate more.”
Jeff also touched on something that myself and my colleague Daniel Shaw see at a number of large organizations: the enterprise mindset.
“PayPal has a long history of enterprise technologies such as Java and C++. Since PayPal has adopted Node, I've been told countless times from engineers in passing that they are energized by their job again and excited to be adopting a ‘modern’ technology to build our future. It's nice to hear that.”
Developer Joy is something that should never be underestimated by management.
Groupon, like many organizations, had a monolithic application. It was becoming a burden and a blocker in many ways: from performance to inhibiting innovation and the ability to ship code efficiently.
However, after a full rewrite, a move towards a Service Oriented Architecture and a transition to Node, the results were astounding:
50,000 requests/minute and mind you this is data from 6 months ago before they rolled it out to 48 countries wherein Groupon operates.
The Node services are also handling the same amount of traffic as before but are using less hardware thus saving money in the process.
Like PayPal, Groupon also gained user experience improvements but what could be the most important point here in my opinion is how the teams are now able to be more productive and innovate even faster.
Walmart is the largest retailer on the planet with an equally massive ecommerce business. This past November, on Black Friday, their busiest day of the year, they used Node and the results were astounding. Eran Hammer live tweeted the entire experience under the hashtag #nodebf. Go back and have look.
On Black Friday more than half of all traffic was being handled by the Node servers and not a single server went down.
Not one.
Zero.
If that doesn’t bring your developers immense joy I’m not sure what will!
A couple of my other favorite takeaways here was the extremely low CPU utilization rate and the fact that developers were actually bored that day. Now, that may appear as a negative at first glance but I can assure you, if you’ve ever been on pager duty or have had to put out fires when traffic spikes, you would much rather be bored and ultimately happy in this scenario.
Eran recently tweeted about the quality of candidates that are now gravitating towards Walmart after his tweetshow on Black Friday.
Developers want to work on Node apps and are going to companies where they can.
Yahoo has been using Node for quite some time. If you’ve used nearly any of Yahoo’s products, you’ve been getting content from Node-based services.
I spoke with long time Yahoo JavaScript and Open Source ambassador Dav Glass about Node at Yahoo and what he told me was very much in line with what I’ve shared previously.
Node services are handling tens of thousands of requests per second but more importantly there are around 200 developers at Yahoo writing Node apps.
The fact that Yahoo has this many engineers writing Node code today is testament to the interest in Node and the staying power in writing Node apps.
Here again, productivity a huge driver for Yahoo’s success with Node.
Now that I’ve outlined a few of the success stories as some massive organizations, it’s time to digest the business case and what it actually means.
Let’s dive a little deeper into each of these tenets to get a more thorough understanding of the value of each.
The Internet of things, mobile devices, wearables, home automation, distributed systems even web applications themselves are constantly providing new opportunities for innovative new products and services while simultaneously keeping IT departments up at night. All of these new areas of technological growth present risks to businesses that are married to a technology stack and architecture that is monolithic and tightly coupled. Node continues to shine in the space in terms of spurring innovation within enterprise organizations: from speed to market to rapid prototyping and even hacking hardware, Node is there allowing developers to realize their ideas faster and more efficiently.
As we’ve seen with Groupon, moving from a monolith to a service oriented architecture paid huge dividends for them. Each service, or app, now enables developers to be able to push updates at a service level or even site-wide, rather quickly. Developers are now actually empowered to be productive.
Node, given it’s terse syntax as evidenced in the canonical fully functioning web server in less than 5 lines of code, enables and empowers developers to do more faster. As seen at places like PayPal, the ability to write a fully functioning production app in half the time with fewer developers than its Java counterpart, the increase in developer productivity is definitely real. A productive developer is a happy developer.
In most IT departments, how happy a developer is, is something management tends to gauge and keep track of through surveys, 1 on 1 meetings, etc. As evidenced by a handful of companies mentioned before and many I’ve spoken with candidly, developers are re-energized, invigorated, inspired and downright happy writing Node apps. I cannot emphasize it enough how important this is. When you are happy doing what you do for work, it is no longer considered “work”. If you love what you do, you never work a day in your life is the old adage and it rightfully applies with Node developers. Happy developers tend to stay put and managers can sleep a little better at night.
A number of companies I’ve met with have mentioned to me that they are having trouble finding developers that want to work on their legacy Perl app. Yes, shocking I know. Yet, the moment they started incorporating Node as a first class citizen in their technology stack, they were able to immediately attract talent. Other large organizations are planning right now, today, on how to be a magnet for Node developers because of how developers overall are gravitating towards the technology. What’s more is organizations that currently have difficulty retaining their talented engineers are finding Node is actually a sticking point with staying power. More and more developers are happy to stay where they are when Node is introduced into their workflow.
All of the aforementioned business tenets all support the tenet that might be of the utmost importance to any business: cost savings.
If you realize the reduced cost of onboarding new developers because of increased retention and increased developer satisfaction, the savings are massive.
Add to this the rapid profile of application development cycles, these savings are multiplied.
If you calculate the amount of money saved by needing fewer developers to write an app in half the amount of time, the savings add up.
If you consider the number of hours in lost productivity from legacy systems and uninspired developers working on old technical debt problems, the savings add up.
If you simply calculate the savings in using less hardware, the savings add up.
Whether your organization has 30 or 3,000 developers the money saved by simply incorporating Node into your business starts to multiply the more Node gets further integrated into your IT department. Look at salaries, look at productivity, look at capitalization rates...all of these benefit immensely when Node is introduced and embraced.
Node is growing up and growing up fast, yet Node still has plenty of room to grow. The question you, the hiring manager, the VP of Engineering, even you the developer on a team have to ask yourself is “am I going to be part of this growth or not?”
If the technical benefits aren’t simply enough, ask yourself instead, do the business benefits associated with adopting Node make sense for me and my company? The choice is clear for industry leaders and pioneers like PayPal, Walmart, Yahoo, Adobe and Uber, to name a few. Will I be up here next year, telling your company’s success story? Let’s hope so.
So ask yourself, can you afford not to make the case for Node?
Thank you.