Why did Netflix move to Node.js ?

Netflix switched its APIs for the different platforms (Mobile, TV, Laptops etc.) from Groovy scripts, running as a single monolith, to Node.js + restify instances, running in separate Docker containers. That way they run faster and scale better, versioning is easier, and the development speed has vastly improved. The main backend and all the heavy lifting are still done in Java, though.

Proper answer

The main backend and all the heavy lifting at Netflix are still done in Java. But as far as we know, each platform – TV, iOS, Android, Windows, Browsers – used to be handled by a single monolith application with multiple Groovy scripts. It has changed and now, they have separate APIs written in Node.js + restify in separate Docker containers. This happened because of Node’s best features: performance, scalability, and development speed. Also, Netflix is not the only one to have rebuilt itself with Node recently. Let me go through the main upsides of Node.js briefly below.

Performance

Node.js uses the so-called event loop and a non-blocking, asynchronous I/O, which allows it to handle tens of thousands of requests per second, with very low latency, in a highly cost-effective manner (which is crucial for Netflix, which can take up to 15% of world’s broadband by itself). It is also run by the V8 engine, which is written in C++ (which is where the speed comes from). You can read more about Node’s performance here.

Scalability

Netflix is running Node.js instances on AWS in Docker containers – the stack that has been synonymous with scalability for a while now. This allows for the horizontal scaling (more,= smaller instances instead of one bigger instance), independent, non-breaking changes to the containerized APIs (one buggy container doesn’t affect the others) and easy version control (which company has 1000s of at the same time). Because of that, as you can guess, Netflix is currently one of the main AWS customers, which has been beneficial to both companies. You can read more about Node’s scalability over here.

Speed of development

Because Node.js is basically JavaScript, it facilitates clear communication in developer teams, which can be more cross-functional using Node.js. Backend and frontend developers can easily understand each other’s code and can even help each other work on tasks. Moreover, because Node.js is so popular and community-driven, every problem you can imagine has most likely already been solved by other developers, and the Internet has all the answers. With great communication and a community willing to help, the speed of development is one of the main selling points of Node.js. And also – no one wants to write Groovy scripts

Hope that you’re satisfied with the answer! For further reading on Node.js’s advantages and its usage at Netflix, just go through the links provided all over this answer.

Take a look at this. She clearly explained the reason.

#node-js

Why did Netflix move to Node.js ?
10 Likes52.20 GEEK