PayPal drops Java, goes node.js / JavaScript
First: this is not a Java-vs.-AnyOtherLanguage diss, just an article about a very interesting development: Using “frontend-languages” for serious server-side development (and client-side for sure) and even as a replacement for classic servers like Apache/NGINX/etc.
Now, PayPal, one of the the largest sites in the world (and a high-risk application too!), has officially dropped Java and went completely to JavaScript and node.js within 11 months (more on that in the article) on all their “consumer facing web applications”.
The results are dramatic:
- Double the requests per second vs. the Java application. (using a single core for the node.js application compared to five cores in Java)
- 35% decrease in the average response time for the same page
- Built almost twice as fast with fewer people
- Written in 33% fewer lines of code
- Constructed with 40% fewer files
Statement from CTO:
“This provided encouraging evidence to show that our teams could move faster with JavaScript. We were sold and made the decision to put the Java app on hold while we doubled down on the JavaScript one. The great news is that the Java engineers on the project, unsure about node.js in the beginning, delightfully moved over to node.js and are happily committing to a parallel work stream, providing us with double the productivity we were originally seeing.”
This is (afaik) the first time such a huge app/company has been rebuilt on node.js, and it shows that the still-in-alpha-state node.js obviously can handle extremely professional stuff. A lot of other (much smaller) applications have also been built and grown very sucessfully with node.js/js. It might be useful to have an eye on that development, this might be the future for high-traffic applications.
The official statement from PayPal’s engineering blog:
https://www.paypal-engineering.com/2013/11/22/node-js-at-paypal/