Uber uses Javascript Runtime Environment
Shashwat Pathak
[email protected] | Platform Engineer | DevOps | Site Reliability | 3x Red Hat Certified
Node.js
Node.js is an open-source, cross-platform, back-end JavaScript runtime environment that runs on the V8 engine and executes JavaScript code outside a web browser.
.Uber
Uber is one of the very first large scale adopters of Node.js in production. Uber has a distributed architecture with a large number of modules that communicate with each other via APIs.
It chose Node.js to build its massive matching system due to its ability to keep up with the pace of Uber’s huge business needs and enhanced data processing capabilities
Since it processes millions of concurrent requests, node.js was a perfect fit for them. Several components of the Uber Mobile App use Node.js for critical operations such as trip execution and connecting 600+ APIs.
Uber is shifting some components to Go, but Node.js continues to play an essential role in its technology stack.
Why Uber moved to Node.js ?
- Uber needed a real-time and speedy API driven architecture that could process millions of connections at a time.
- Uber uses several fragmented microservices to power its infrastructure, which demands a backend that could band things together.
- The company wanted to run advanced analytics on the vast amount of data generated by its platform, which could be best done when services interact correctly.
Benefits of Node.js to Uber ?
Uber was able to create a reliable, self-healing, distributed environment for Web and Mobile App which heavily relies on Node.js.
- The component that is responsible for executing trips is built on Node.js. It benefits from the asynchronous and single-threaded event loop of Node.js, making it highly reliable.
- Uber can process a large number of user requests.
- Uber’s API ecosystem has over 600 stateless endpoints that are all written in Node.js, that increases connectivity and reduces management overheads.
Uber is probably the best example that uses most of the Node.js features to power 18.7 Million Rides daily (on average -2020). It has seamless integration in the backend as well as front-end interfaces .