Node.js is gaining more and more popularity. The 2018 Node.js User Survey Report shared insights from more than 1600 participants. Three-quarters of them say that they’re planning to increase their use of Node over the next 12 months. Node is most commonly used in web app development, with 85% of respondents indicating they use it for this type of work. 43% of respondents indicate they use Node for enterprise applications.
As stated in the report:
Node.js is continuing to have a positive impact on users particularly around developer productivity and satisfaction; when asked to describe Node.js, respondents use mostly positive terms like – “fast”, “easy”, “awesome”, “powerful”, “flexible” and even “fun”.
What’s more, Node.js and JS foundations have recently announced that they want to merge (read more: The Node.js and JS foundations want to merge). So far, JS environment seemed to fall behind Node.js, and the merger could flatten the inequalities for the sake of better efficiency. The merger is supposed to enhance operational excellence and tighten the collaboration across all JavaScript projects.
If you’re wondering whether Node.js is a good choice for your project and are curious about which companies use Node.js – you’re in the right place. In this piece, we’ll tell you a bit about the benefits of Node, but what’s even more important, we’ll present you with an impressive list of well-known brands that use it!
What is Node.js?
Long story short, Node.js is a JavaScript runtime environment and it’s built on Chrome’s V8 JS engine. Node is lightweight, fast, and scalable. It can be used in a whole variety of applications – you can read about some of the types in our previous article.
The list of its advantages is quite extensive: it’s lightweight, efficient, fast, and scalable, utilizing JavaScript on both backend and frontend it allows more smooth communication between the client- and the server-side, at the same time speeding up the development process. And that’s not all. No wonder some big players have already decided to give it a try.
Read also: Node.js vs Python
Top companies using Node.js
If you’re wondering which companies are using Node.js, you may be surprised. Why? Because you’ve probably heard of all of them – perhaps you even use them. But did you know that applications such as Netflix, PayPal, or Uber were built with Node.js?
Here’s the list of some of the most well-known companies using Node.js in their apps:
PayPal
PayPal is the most popular online payment service in use. It supports money transfers worldwide. It allows users to transact with each other online in more than 100 currencies. When you’re looking for apps that were made with Node.js, PayPal will most probably be one of the first ones on any list as it was also one of the first ones to give it a chance – at that time, Node was not as popular as it is today.
In the past, PayPal’s engineering teams were segmented into those who coded for the browser (using HTML, CSS, JavaScript) and those who coded for the server (using Java).
In an article published on PayPal Engineering in 2013, Jeff Harrell writes:
Imagine an HTML developer who has to ask a Java developer to link together page “A” and “B”. That’s where we were. This model has fallen behind with the introduction of full-stack engineers, those capable of creating an awesome user interface and then building the application backing it. Call them unicorns, but that’s what we want and the primary blocker at PayPal has always been the artificial boundary we established between the browser and server.
Node.js helps us solve this by enabling both the browser and server applications to be written in JavaScript. It unifies our engineering specialties into one team which allows us to understand and react to our users’ needs at any level in the technology stack.
The first Node application at PayPal was built in parallel with an equivalent Java application. The Node.js application was:
- built almost twice as fast with fewer people
- written in 33% fewer lines of code
- constructed with 40% fewer files.
These are not all the benefits, though! Additionally, PayPal doubled the number of requests served per second, at the same time decreasing the average response time by 35%.
Netflix
Does Netflix use Node.js? In case you don’t know, Netflix is the world’s leading internet entertainment service offering subscription plans that allow users from over 190 countries to enjoy movies and TV series on their favorite devices. As for now, Netflix has about 130 million memberships.
Netflix’s server-side rendering is built with Node. This solution proved to be so successful that they’re moving data access layers to Node.js runtime. Netflix chose Node because they wanted to achieve a lightweight, modular, and fast application. With the use of Node, the startup time of the application was reduced by 70%.
Yunong Xiao, Principal Software Engineer at Netflix, says there are three main reasons why they decided to go with Node:
- JavaScript is the lingua franca of the web today. Many of their developers already knew JavaScript which meant that it wouldn’t take them a lot of time to learn a runtime.
- It’s very performant. For such a huge service like Netflix, that really does matter.
- Node has a lot of modules. If the tools that are already available can get the job done, there’s no point in re-inventing the wheel.
LinkedIn is a social network designed for professional purposes. It allows users to create their professional profiles, document their experience, find career opportunities, and build networks of people that they know professionally.
LinkedIn’s mobile software stack was built completely with Node.js. Why did they decide to go with Node? Kiran Prasad, VP of Product at LinkedIn, explains:
One reason was scale. The second is, if you look at Node, the thing it’s best at doing is talking to other services. The mobile app has to talk to our platform API and database. We’re not doing massive data analytics. Node showed us huge performance gains compared to what we were using before, which was Ruby on Rails.
The results? The Node app uses a fraction of resources since they cut the number of servers (some websites report that the number was originally 30 and went down to just 3), traffic capacity was doubled, and the app works up to 10 times faster on the client-side.
Additionally, LinkedIn’s programmers could leverage their JavaScript skills and the frontend and backend mobile teams could be combined into a single unit.
Twitter is an online news and social networking site that allows users to communicate in short messages – tweets. It’s grown to be a popular micro-blogging site, with more than 330 million users worldwide.
In 2017, the company launched Twitter Lite, a rewrite of the mobile website optimized for interface speed and network efficiency at the same time providing a high-quality user experience. Before they began working on Twitter Lite, their app’s frontend was written primarily with JavaScript, while for the backend, they used Scala.
James Bellenger, Senior Software Engineer at Twitter, says:
This launch was a complete rewrite of the Twitter web stack and the first large-scale user facing service at Twitter that we’ve deployed on Node.js.
Watch Bellenger talk about Node in Twitter Lite:
Uber
Uber is an application that connects drivers and riders and offers other transportation services. It operates in almost 800 metropolitan areas worldwide.
Uber used Node.js to build their massive matching system. Since Uber was rapidly growing, the data processing capabilities of Node.js were an important factor.
Why did they go with Node? You can read about that in the publication on Node.js at Uber:
There are three core strengths that make Node.js a particularly good fit for Uber.
1. Node.js handles asynchronous I/O requests with a non-blocking, single-threaded event loop. It is particularly well-suited to distributed systems that make a lot of network requests.
2. Node.js – and JavaScript in general – is excellent for quick iteration; programs can be inspected and errors can be addressed on the fly without requiring a restart, so developers can publish and deploy new code constantly.
3. The active open source community continuously optimizes the technology; it gets better, all the time, practically on its own.
eBay
eBay is a huge online auction and shopping website. It allows consumer to consumer and business to consumer sales. It operates in more than 30 countries and has about 175 million active users.
Given the huge traffic that eBay has to deal with, they had to go with proven technology. To make sure the application is as real-time as possible, they decided to go with Node.
Senthil Padmanabhan, Principal Web Engineer at eBay, says:
We had two primary requirements for the project. First was to make the application as real time as possible–i.e., maintain live connections with the server. Second was to orchestrate a huge number of eBay-specific services that display information on the page.
Node proved to be a reliable solution, not only being fast, simple, performant, and scalable but also giving a feeling of transparency and control.
Read more about Node at eBay
Medium
Medium is an online publishing platform where people can share and read articles and stories. It covers a whole variety of topics. The number of articles published on Medium keeps growing, and the platform has about 60 million monthly readers.
Medium app servers are built with Node.js with Nginx accompanying it, they also use Matador as a framework for Node environment. Using Node helped them speed up deployment times, up to 15 minutes. Main app servers usually deploy 5 times a day and are capable of 10.
NASA
If I need to explain what NASA is, it stands for National Aeronautics and Space Administration. NASA is in charge of U.S. science and technology that has to do with airplanes or space.
After a dangerous accident, NASA found their data scattered in many locations and decided to build their own end-to-end data system. They chose Node.js for this job and moved the data to one cloud database to reduce access times.
Using Node, they created a system that helped transition from the old 28-step data processing (which was in part manual and included document printing and looking up files) to a reduced seven-step process.
Read more about Node at NASA.
Groupon
Groupon is a worldwide e-commerce marketplace that connects consumers with local businesses. It offers virtual coupons that let the buyers try out new services in their area.
In 2015, Groupon migrated the whole web and mobile traffic from Ruby on Rails to Node.js stack. Sean McCullough, the former Senior Software Engineer at Groupon, lists a few reasons why they decided to go with Node.js:
Why Node.js?
– vibrant community
– NPM!
– frontend developers know JavaScript
– performant enough
– easy scaling (process model)
What are the results?
First of all, page loads are faster by about 50%. What’s more, Groupon is able to serve the same amount of traffic with less hardware. The team was also able to make features and design changes more quickly compared to their old architecture.
Trello
Trello is an online project management tool that organizes tasks into boards. Trello helps teams keep track of the progress of work, clearly showing the tasks from the to-do list, in progress, and those that have already been done.
The server-side of Trello is built in Node.js. Trello explains this choice in a blog post:
We knew we wanted instant propagation of updates, which meant that we needed to be able to hold a lot of open connections, so an event-driven, non-blocking server seemed like a good choice.
Trello also used Node.js for some prototyping as it was a fast way to get started with trying out new things. They were really excited to discover Node’s capabilities and good performance.
When, how and why use Node.js for your backend
Why are famous companies using Node.js?
As you can see, many big, well-known, and undoubtedly successful companies are using Node.js. But you may wonder, why? Especially in the case of those who already had a functioning application, what was the reason that made them change the technology?
Obviously, all of these companies had serious reasons to do so. Their motivations may have been different, but surely all of them wanted to see whether the benefits that Node promised would translate into a brighter reality. What benefits am I talking about? Let’s list a few.
All JavaScript/TypeScript
With Node.js, both frontend and backend can be written in the same language. Historically, JS was mainly used for simple client-side scripting, while server-side was written in another language. That meant your team needed to cover both [other language] skills and JavaScript/TypeScript skills. While developing for frontend and backend is still very different from one another, the initial work to master the language can be done only once. In addition, both frontend and backend developers use the same ecosystem of tools, libraries, and package managers, which makes sharing code much easier (no need to rewrite those model classes in a different language!). That means you can now really build a team of full-stack developers. If anyone from the team goes on vacation, the others can take over some of his responsibilities. Additionally, utilizing JavaScript on both client’s- and server-side makes the communication between them smoother.
Non-blocking I/O
Non-blocking I/O means better performance and scalability. Why? The application runs asynchronously and handles many tasks in one thread. If the app has to wait for data from another component, it puts the waiting line in a queue and handles a different task in the meantime, thus increasing efficiency and minimizing delays.
It does take a bit of planning not to block your application with constructs that were not built with non-blocking I/O, but it is definitely worth it. Simply put: you process more requests with the same “size” of the virtual machine, which saves you money. At the same time, there is little to no time that developers have to put in to achieve that, so it is not offset by the higher cost of development.
Resources
Node.js has a rich library of open-source frameworks as well as an active community – no need to fear that it’ll disappear any time soon. In fact, Node is constantly growing in popularity.
In comparison to Java, for example, where major versions are released every couple of years, a new version of Node.js is released twice a year. That means the platform evolves faster to keep developers productive.
Read also: Node.js vs PHP
Should your company consider using Node js?
OK, Netflix and PayPal succeeded, but can you count on such benefits as well? The answer is: yes. Obviously, no technology choice guarantees the success of your product as there’s much more to it than its technology stack. Technology can, however, contribute to this success.
Node.js is a solution that’s lightweight, fast, and scalable. It’s performant and efficient – it handles multiple requests at the same time, and, as PayPal showed, it doesn’t use as many resources. It’s more time- and cost-efficient to handle the traffic of your application. Node.js can be used for a variety of cases: web application backend (APIs), data-intensive real-time applications, and serverless applications. It’s both an effective solution for startups to speed up and simplify the development, and a mature enough environment that can be used by enterprises.
Read also: Everything You Need to Know About Using Node.js for Back-End Development
How companies benefit from Node.js – conclusions
As you see, Node can be used in various projects – and many companies using Node.js have been experiencing its benefits for a while now. It’s fast, simple, performant, and scalable, and it keeps proving to be a good solution for many projects. If you’re looking for a simple yet efficient solution that takes a shorter time to develop – Node.js seems to be an obvious choice. Now, all you need to do is find a reliable Node.js development company and simply bring your project to life!
Small update on Node.js – April 2022
If you’re wondering whether everything we wrote about Node.js is still relevant in 2022 – let us just quickly tell you, that it definitely is!
Find out how to get a cross-functional tech team to work on your project