Categories
Archives

Groupon, a marketplace fueled by Node.js

A few days ago the Node.js Foundation published an interview with Adam Geitgey, the director of software engineering at Groupon. The interview covered various aspects about how Groupon uses Node.js and it helped the company grow and expand. You can check a recording of it on Youtube, or read it on Medium.

Groupon is one of the big brand pushed forward when mentioning the growth and rise of Node.js as a technology in the enterprise world. Justified, given the way it redefined Groupon as a business, as least from a technology point of view.

Backstory

Let’s start from the very beginning. For those of you who are not familiar with Groupon; it’s an American e-commerce marketplace founded in 2008 in Chicago. It started out small, locally, then expended heavily throughout the United States and then worldwide. This happened pretty quickly, in 2010 they had 150 cities in North America and 100 cities in Europe, Asia and South America. It’s wasn’t all up and up as, despite a high IPO they ran into difficulty, not matching expectations, losing more 70% of their initial stock price and even firing their CEO and founder in 2013. The latter was connected to the former.

Technology; from Ruby on Rails to Node.js

Groupon’s Node.js story started a long time ago, around 2012 they realized that the company grew to such an extent that any simple task would swallow huge development resources.

They estimated that to change the color appearing on the website they needed about 3 months. With Node.js they did it in one week.

At its base Groupon started out on Ruby on Rails, with a big monolith that was becoming very difficult to maintain. Moreover, the company’s rapid growth also brought on different acquisitions with their own tech stack so next to Ruby on Rails they also had a Java stack in Europe and PHP in South America. They wanted and needed actually, to move to a technology that could replace them all and be easier to use on such a large and constant growing platform.

They chose Node because it scales well and because, no surprize here, it’s easy to use for any developer familiar with JavaScript. Getting Node into production and making it their default technology wasn’t easy. It took almost a year and a lot of pain and hard work. It was a bit like an obstacle race, because it didn’t go over smoothly, it almost never does, and they encountered new problems, ones that they never ran into with Ruby. But moving on one step at a time, they got it all covered. They have an extensive blog post about their journey from Ruby on Rails to Node. It’s worth a read.

Tweet