Blog

eBay Classifieds Group chooses Traefik to achieve load balancing at scale

About eBay Classifieds Group

eBay Classifieds Group is a global collection of local brands that aim to create connected commerce, enabled by people, supported by technology and open for everyone. Our sites in 14 countries help people find whatever they’re looking for in their local communities — whether it’s a job, an apartment, a sofa, a car, a concert ticket, financial services or new friends. Every connection made or item found makes a difference by creating a world where people share more and waste less. People who want to trade visit our sites because they’re fun, easy to use and built on trust.

Overview

Wim Fournier, Site Reliability Engineer at eBay Classifieds Group (eCG), is part of a team who manages the infrastructure platform for the classifieds platforms. eCG Benelux’s platform supports over 12 million unique monthly users, and 15 million live listings, with unique requirements to handle peak traffic daily. There is no “off-peak” day for eBay Classifieds Group’s Benelux platforms — 100% uptime is a must. On a weekly basis hundreds of improvements are released to constantly make trading on the platform easier, effortless and most of all fun.

Wim’s team’s mission is to help development teams become self sufficient and make their jobs easier. They create tools to simplify infrastructure provisioning, deploy applications seamlessly, and manage configurations easily. Ultimately, they are in charge of building and maintaining all internal infrastructure platforms in order to offer end-users a good and consistent experience.

Challenge

The challenge is to provide excellent online service accessible by anyone from anywhere, with the best trading experience for each and every customer. Wim’s team specifically is chartered to deliver a platform that is capable of handling traffic peaks and scale according to demand, ensuring that the marketplace is always available when anybody wants to buy or sell anything.

The platform is a containerized set of microservices, deployed to the cloud, to take advantage of the scalability and availability offered by cloud resources. This platform is quite large, hosting and managing hundreds of microservices.

Routing and load balancing in a dynamic and complex environment was a real challenge for Wim’s team. Their original approach consisted of Fabio as a traditional load balancer, in conjunction with a hardware load balancer, and Nomad as their orchestrator. This setup did not scale anymore to meet the routing and configuration flexibility they needed, leading them to explore other edge routing solutions.

Wim’s team needed a solution that could easily handle routing external and internal traffic flow with no bottlenecks or scalability issues, while enabling them to easily configure multiple advanced routes per service.

“We needed an advanced load balancer and an API Gateway for advanced routing to control traffic flow with flexible configuration and automation capabilities. This complexity makes it difficult to find a good load balancer. A load balancer per domain was not enough for us.”

Solution

Wim’s teams platform strategy is to make things as simple as possible and to have as few components as possible.

The team researched and conducted an extensive evaluation across a wide range of competitive software-based products in the market. Traditional solutions for routing and load balancing are very configuration based, and lacked the ability to handle the complexity of a dynamic and advanced configuration system. Meanwhile, many of the new, modern alternative products are either great at load balancing (TLS management, Websocket, HTTP2…), or as an API gateway (Advanced HTTP routing, canary, observability…), but rarely do both effectively.

eCG found Traefik was very well suited to natively support its requirements. Traefik offers an all-in-one product that is easy to use, configure and scales perfectly for the volume of traffic eCG Benelux sees on a daily basis. Traefik also integrates with core technologies eCG is using across the company, such as Docker for containers, Nomad for orchestration, and Consul for service configuration management.

“We were looking for both a load balancer and an API Gateway that is easy to configure, scale, and secure.”

eCG uses Traefik for load balancing and as an API Gateway to route external and internal traffic. Traefik is today deployed across various platforms.

Wim’s team has hundreds of services running behind the API Gateway. Since deploying Traefik nearly a year ago, they have achieved zero downtime while handling traffic peak of 22k requests per second. In terms of configuration, Traefik’s ability to react to their dynamic environment by automatically configuring itself accelerates and simplifies deployments without having manually touch or configure anything.

eCG favors open source software for its infrastructure because it gives them the ability to change the product if needed. The fact that they are not locked-in with any vendor and can contribute to open source software is very important for Wim’s team. Traefik open source software gives eCG full access to the source code and the opportunity to implement changes if needed.

“Traefik gives us flexibility and avoid any vendor lock-in.”

Bottom Line

Wim’s team has been able to improve development velocity and operational efficiency with Traefik by saving their team hours of work on configuration tasks, while achieving 24x7 availability across the entire Benelux.

What’s Next?