PayPal and Groupon Go All In With Node.js
Developers at staid technology companies such as eBay and PayPal have seen the perks of developing with the hip server-side JavaScript runtime Node.js. Many have watched it speed application development and lower memory utilization in comparison with more traditional programming languages.
December 4, 2013
SAN FRANCISCO -- Developers at staid technology companies such as eBay and PayPal have seen the perks of developing with the hip server-side JavaScript runtime Node.js. Many have watched it speed application development and lower memory utilization in comparison with more traditional programming languages.
"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.
Node.js is a server-side JavaScript runtime that is used to build fast, scalable network applications. An open source project, Node has been maintained and supported by cloud computing company Joyent, which this week offered paid support for 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.
Three and a half years into Groupon's lifecycle, life had become too complicated. It was time to explore alternatives to Ruby on Rails. It helped that Node executes JavaScript, which Viswanath characterized as relatively safe. High speed and agility were high priorities, and Node offered those qualities in application prototypes.
"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."
About the Author
You May Also Like