PayPal and Groupon Go All In With Node.js
December 4th, 2013 By: Jordan Novet
“Developers can actually develop their applications quite fast,” said eBay’s senior director of platforms, Jigar Desai, during a panel Tuesday at the Node Summit on Tuesday. With Node, developers can get programs into production “in days rather than weeks,” he said. That’s the biggest justification he sees for the movement toward Node.
Discoveries about the advantages of Node over, say, Java or Ruby on Rails have only made developers more eager to use it at work. That’s certainly been the case at PayPal.
“We’ve had to slow people down because they’re so excited to get into Node,” said Bill Scott, senior director of user interface engineering at the payment company. “… No one goes into Node application development until me, myself, my team and the engineering team approve those people. It’s not IT governance for it, but I don’t want the wrong types of developers working in Node.”
At PayPal, engineers built and ran the same application in Java and in Node, Scott said. As a result of the experiments, the company has made a major shift. “We don’t want to do Java anymore,” Scott said. “We want to do Node. This is much faster.” Nowadays, he said, every application is being built on Node.
Next to Scott and Desai on the panel, Groupon’s Sri Viswanath explained the rationale and benefits of moving from Ruby on Rails to Node across the entire company, over a period of about six months.
“Node.js is like a Ferrari,” Viswanath said. In his simile, developers drive at 200 mph, only to crash and trigger an explosion. But at least they can move at high speed.
It took three months just to change the color appearing across the website, he said. “After we moved to Node.js, it took us literally a week.”
The best part for Viswanath? Node.js still has not arrived at version 1.0, even almost five years since its original release. So presumably it has room to get even better.
At LinkedIn, too, speed of development and execution were important, but so was the use of physical resources. Code in Node.js “ran really efficiently in terms of its I/O utilization, and its memory utilization is really low,” said Kiran Prasad, senior director of mobile engineering at the social network. Those characteristics are important, because these days, he said, “you’re not really CPU-bound anymore. You’re memory bound and I/O bound.”
Desai felt confident in calling Node “probably 1.5 times better” than Java, “but not 100 times better.” Processes like template rendering can be quite CPU-intensive in Node.js, which amounts to one issue.
“On the scalability side, there is probably more work to do,” he added. Instead of going all in, Desai talked about giving developers choices – such as Java, PHP or Node – and proceeding with caution, slowly, with Node.
Nevertheless, Desai expects that it will become more and more widely adopted in software stacks in the years to come.
“The way I see it, we have very thin front-end web applications, and we have layer services on the back-end side,” he said. “It’s almost emerging as a theme — we’re going to use more and more Node.js as front-end technology and Java or Scala (for an) asynchonrous back end. Thats where I’m seeing the trend and curiosity of developers moving in that direction.”