October 17, 2018
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 became the go-to technology for most of Fortune 500 companies which highlights 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 achieved with Node.js. Eight applications, different industries, and loads of remarkable accomplishments delivered with help from Node.js.
Let’s get to it, shall we?
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 130 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.
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
LinkedIn has built an impressive business-focused social network with 500 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.
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.
The biggest results of the migration, however, are still yet to come. 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 case of online payments, every second can make a difference.
PayPal offers services both for individuals and corporate clients through web app built with Node.js
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
This ride-sharing platform has grown tremendously over the last couple of, reaching 68 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. Uber’s Senior Staff Engineer, Matt Ranney, clearly laid out the for the company’s decision:
One of the things that makes Node.js uniquely suited to running in production is that you can inspect and change a program without restarting it. So very few other languages offer that capability. Not a lot of people seem to know that ability exists, but indeed you can inspect and even change your program while it’s running without restarting it.
Uber is now doing over 2 million remote procedure calls per second at peak across the fleet, making transportation readily available at any time.
Whether in Wrocław or Los Angeles, an Uber driver is always at your disposal
An online publishing platform owned by a Medium Corporation, featuring articles written both by professionals and amateurs, and attracting 25 million unique readers every month. 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 article on technology, you will find Monterail’s content there as well.
A place offering online deals made a great deal itself when choosing Node.js as the framework with which to rebuild their 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 in.
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. As of 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.
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
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 percent. Moving away from a monolith step-by-step towards a Node.js environment boosted NASA’s ability to maintain and guarantee the safety and the security of the spacesuits, a critical feat for a government organization of this size.
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 organization 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.
Is Node.js the pick for your next app?
Read about how to squeeze the most out of Node.js possibilities, what are its best use cases.