Groupon offers daily deals at steep discounts, resulting in stampeding herd‑style traffic patterns for its online properties. Users sign up to buy coupons for discounted services from third‑party retailers and companies, but these deals are only available for a short time. With over 48 million active users worldwide, Groupon’s sites frequently receive huge spikes in traffic, and must be able to withstand the stampede while still enabling its services to reach customers.
Aaron Bedra, Principal Engineer at Groupon, says that the main goal for Groupon’s IT teams is “About making sure we’re up when everybody wants to buy things, and as a global company, that’s really at any point in the day. There’s no real off‑peak for us since we span the globe.”
Within that worldwide infrastructure, Groupon favors open source and free software, so proprietary commercial solutions are not an option. That doesn’t mean service and support aren’t on the table, however, says Bedra.
“Our system is entirely built on open source or free software. We actually do seek to find commercial support that’s inline with the open source project we’re using so that if we have a problem we can actually reach out,” explains Bedra.
With Groupon’s main line of business completely reliant on its online presence, there are plenty of serious problems that need to be addressed. Continues Bedra, “We have business critical issues that are more pressing. Our Web server shouldn’t be an issue, and that’s why we use NGINX.”
He says that, “Groupon uses NGINX for mostly a reverse proxy. It’s the typical use case,” but with the added bonus of fulfilling one of the architectural goals at Groupon: utilizing edge processing.
“I think it’s important to do stuff at the edge that should be done at the edge, instead of processing a request four, five, or six times over at every stage. If you could push all of that out to the edge you’d get a performance increase. You get that stuff distributed across everything. Separating the concerns of business function and edge processing, I think, is actually an important case, and that’s something I think NGINX can offer that’s pretty nice,” says Bedra.
Finally, NGINX is open source. Groupon favors open source and free software in its infrastructure, and NGINX fits nicely into that design.
Bedra explains that, “We don’t want to be down because of something we don’t understand. As big as we are at the moment, we really care about having the uptime. For us, we choose NGINX because we don’t have to worry about it. It’s there. NGINX is just there when we need it.” As such, NGINX is now acting as the gatekeeper for most of Groupon’s internal HTTP traffic as well. Using NGINX at the edges to perform processing on traffic also allows for the mitigation of overall server usage, and optimizes business flow.
With over $28 billion in revenue in 2017 alone, Groupon is the world’s leading online deal marketplace. The company offers group coupons at fabulous discounts, resulting in huge boosts in business for its merchant partners. The company employs over 10,000 workers, and is active worldwide in such countries as the United Arab Emirates, Denmark, and Thailand. Groupon has over 48 million active users around the globe. Groupon users can find coupons for services ranging from skydiving to meals.