Netflix, PayPal, Intel, eBay, Groupon... What do all these names have in common? Aside from the fact that they all offer a highly popular service or product, of course. They’re all enterprises operating on a global scale, serving millions of people, and building scalable network applications. And they all went with Node.js for development.
Seemingly every month now, another enterprise-level company reveals that it’s been successfully using the platform in its operations. Node.js reached usage in 98% of Fortune 500 companies many years ago, highlighting the maturation of the technology within this type of organization.
There are some solid reasons why enterprises embrace Node.js and why the framework is so appealing. But right now, let me show you some of the impressive results that some enterprise-level businesses have managed to achieve with Node.js. Eight applications, different industries, and loads of remarkable accomplishments were delivered with help from Node.js.
Let’s get to it, shall we?
#1 Netflix
Is there anyone out there who has never heard of Netflix? Netflix darted into our lives and quickly became the world's leading subscription service, delivering movies and TV series to over 200 million users in 190 countries. As a single monolithic application, it was suffering from 40-minute-long startup times and the need to write the same lines of code twice, for the server and client sides separately.
The global streaming giant chose Node.js for three main reasons—the ease with which JS developers pick it up, the fact that it eliminated the need to write code twice, and the framework’s extremely high performance. They also went with Node.js after encountering vertical scaling concerns with their monolith JVM-based system. Yunong Xiao, Principal Engineer, explained the choice:
We thought, 'Hey this is a great opportunity to leverage Node, which uses JavaScript.'
As a result, the Netflix team could move the website to a single-page application and reduce load times to roughly a minute.
Netflix’s single-page layout makes it easy to navigate and loads in the blink of an eye thanks to Node.js development possibilities. Source: www.netflix.com
#2 LinkedIn
LinkedIn has built an impressive business-focused social network with over 830 million users. They joined the Node camp when the framework was barely a year old but already rapidly gaining traction. LinkedIn wanted to rebuild its core mobile services using Node.js because Ruby on Rails fell short in terms of scalability and would run into trouble when working with lots of microconnections in the mobile app.
They went with Node.js for the app’s backend and the switch produced pretty impressive results. They achieved much better performance, with the app running up to 20 times faster, and better unity between frontend and backend.
According to Kiran Prasad, who joined LinkedIn as senior director of mobile engineering in 2011 and led the company's transition to Node, the risk clearly paid off.
Now after using it for a few years, it has become pretty clear that in this layer that's essentially the glue between your frontend (which is literally in the client now) and your backend (which happens to be your data model), a functional sort of language is actually the best fit.
The whole interview with engineers directly involved in the process can be found here.
#3 PayPal
PayPal is the payment system trusted by over 400 million people worldwide. The company started with a Node.js prototyping platform, and once it proved its efficiency, it went all in, moving all of its Web applications from Java to Javascript and Node.js.
One of the biggest factors for the decision was the possibility of tearing down the language barrier between engineering—using the same language on the server and client sides enhanced internal communication and the understanding of the product as a whole.
PayPal devs were able to write 33% fewer lines of code and use 40% fewer files while building the app twice as fast despite doing so with fewer people. Response time decreased by 35% which resulted in the pages being served 200ms faster. In the case of online payments, every second can make a difference.
PayPal offers services both for individuals and corporate clients through a web app built with Node.js. Source: www.paypal.com
#4 eBay
You might think that eBay, the American e-commerce giant, couldn’t be looking for anything else but proven stable technologies. Yet, they chose Node.js, still rather immature at the time, due to the advantages it was promising and the eBay devs’ open-mindedness.
They wanted to keep the application running in “real-time” as often as possible and wanted it to maintain a live connection with the servers. Additionally, their primary goal was to arrange a huge number of eBay-specific services displaying information on the page, e.g. handling I/O-bound operations.
Node.js turned out to be highly successful on the backend stack, so the devs subsequently developed a full-fledged frontend stack running on Node.js that leveraged most of the implementation.
Now we had our Node.js Web service running in various stable environments. This whole deployment setup was quicker and simpler than we had expected.— Senthil Padmanabhan and Steven Luan, engineers at eBay
#5 Uber
This ride-sharing platform has grown tremendously over the last couple of, reaching more than 70 countries across six continents and processing millions of rides every day. It goes without saying that they need their app to operate as smoothly as possible. Always.
They put Node.js into full production to build a massive system for matching drivers with riders. Why? Node.js is well-suited to distributed systems that make a lot of network requests to quickly process large amounts of information.
They chose Node.js to power their original core trip execution engine because of its asynchronous primitives and simple, single-threaded processing, according to their blog.
"Node.js gives us the ability to manage large quantities of concurrent connections."
Another reason was the enormous community of web engineers that support Node.js.
On the same page, the company details an API Gateway, one of the largest NodeJS applications at the time, that interacted with more than 2,200 micro-services:
- 800,000 requests/second at peak
- Around 1 million lines of code surrounding critical user flows
- Among other impressive stats
The company has since moved some services to Go, but is proud of being "one of the first two companies to deploy Node.js in production".
Whether in Wrocław or Los Angeles, an Uber driver is always at your disposal. Source: www.uber.com
#6 Medium
An online publishing platform owned by a Medium Corporation, featuring articles written both by professionals and amateurs, and attracting over 100 million users every month, according to SimilarWeb. The challenge for Medium was to deploy apps in a way that doesn’t hinder user access and takes as little time as possible. Given that deployment happens five times a day, speeding things up is absolutely critical.
Medium’s main app servers are built with Node.js with AWS services on top, while its image server was written in Go.
Our main app servers are still written in Node, which allows us to share code between server and client, something we use quite heavily with the editor and post transformations. Node has worked pretty well for us — Daniel Pupius, Head of Engineering at Medium
The stack, including Node.js for most of the backend structure, helped Medium scale to 2.6 millennia of reading time and cut down deployment time to 15 minutes.
Amongst thousands of articles on technology, you will find Monterail’s content there as well. Source: www.medium.com
#7 Groupon
A place offering online deals made a great deal itself when choosing Node.js as the framework with which to rebuild its entire Web layer. This online marketplace platform decided to move from the monolithic Ruby on Rails mostly due to the latter’s limitations and increasing maintenance difficulties. Another reason was the need to unify development platforms across all countries the platform operates on.
The reason we chose Node for that was both because it was JavaScript is as close to a universal language as you can get with the people building on the frontend, so it was the easiest for all of those people to learn and use. — Adam Geitgey, Director of Engineering at Groupon
Node.js proved its power in terms of performance and scaling by supporting more than 425,000 active deals without a hitch. Groupon’s case is one of the largest production deployments of Node.js in the world so far. In 2017, the Node.js team had something like 70 production Node apps to support traffic in 30 countries and 4 data centers. All of them use the same API which allows for maintaining a single contract for all consumer Web data.
#8 NASA
Although this example seems markedly different from all the rest, in this case, Node.js came to the rescue, too. NASA had a problem with one of its spacesuits—a critical malfunction during a spacewalk led to water leaking into the helmet of Luca Parmitano, an Italian astronaut.
The dev team decided to build a new enterprise architecture centering around Node.js and serving as an end-to-end system for data on the full lifecycle of NASA spacesuits. Node.js’ asynchronous event loop for I/O operations made it the appropriate solution for a cloud-based database system as it allows devs to see queries from users who need data immediately.
Even astronauts appreciated Node.js development possibilities. Source: www.dedicatedteams.io
Another key reason why NASA chose Node was the relative ease of developing data transfer applications with JavaScript and its dev team’s familiarity with the framework.
Overall, the decision to choose Node.js translated to tremendous benefits:
(...)hardware data processing used to be a 28-step and somewhat manual process (read: printing emails, looking up files). Now with an end-to-end system, which was created with the introduction of Node.js, it’s been reduced to just seven steps.
Besides, this model cut down the time needed to access this comprehensive set of data by about 300%. Moving away from a monolith step-by-step towards a Node.js environment boosted NASA’s ability to maintain and guarantee the safety and security of the spacesuits, a critical feat for a government organization of this size.
Node.js Development in a Nutshell
Highly innovative enterprises already know that Node.js is currently the best way to improve performance, coding efficiency, and overall happiness in their teams. As Node provides benefits in various business areas, its importance for enterprise-level organizations is expected to only increase.
If you’re thinking of embarking on this enterprise app journey, now is a good time to put your trust in Node.js and take advantage of all the capabilities and opportunities that it brings to the table.