In the early days Netflix used Java to handle all the server side operations and JavaScript to do their client side stuff. This led to two teams of developers with different languages continuously interacting with each other because they couldn’t understand either the client or the server side.
But that was just one problem Netflix had to struggle with. Java was very expensive in terms of server resources and build/test time compared to NodeJS. Some parts of the Netflix architecture even was to big to run locally so the process of programming and testing was directly impacted because every new piece of code had to be uploaded to a test environment to test it.
With those disadvantages in mind Netflix decided to switch to NodeJS because…
- Client side programmers are now able to understand the server side code
- NodeJS itself was build to scale perfectly on multiple servers (like the name “NodeJS” already tells you)
- JavaScript’s community itself is huge which provides great support
- Netflix was able to reduce their server costs radically by improving their horizontal scaling and using the Non-Blocking architecture of NodeJS
After the migration to NodeJS, Netflix is able to use efficient CI (continuous integration) without waiting hours for the server to start. Programmers can run their tests locally without pushing every piece of code to a test environment which also saves a ton of time during the daily programming process. The server and developer costs decreased because of the horizontal server scaling and client side developers are now able to develop on the server side.
My opinion on the migration:
I’m a huge NodeJS fan because of the arguments above. Especially the horizontal scaling abilities and the huge community are the arguments why I switched from programming Java to JavaScript/NodeJS. NPM (node package manager)provides a ton of precoded packages which helps to speed up the daily programming. Of course you have to take care which packages your using and if it makes sense to use a package if you could use functions already provided by the NodeJS runtime but in general it’s a huge advantage. I think NodeJS is the future of web development also especially of it’s Non-Blocking architecture.
That’s it about Netflix’s use of NodeJS and my opinion an that. Feel free to contact me if you’ve any questions or suggestions.