Auctionport

An IT Platform that can sustain solid growth

Logistics - Retail

How we helped Auctionport scale from one thousand unique monthly users to half a million

Auctionport, one of Europe’s largest online auction for industrial machinery, once started off with 2 young entrepreneurs with a passion for the industrial sector. They created a website where anybody could offer or place a bid on machinery such as forklifts, excavators, pallet trucks,...

Challenge

Creating an IT platform that can sustain solid growth

Let’s zoom in on that rush hour with some numbers. When Auctionport was selling one of their most popular products, thousands of users simultanously connecting to the website and placing their bids.

Along with all the visitors, a lot of supporting services on such a platform are activated at the same time. Think of:

  • The web API for processing bids
  • The web-sockets service for receiving bidding updates in real-time
  • In-memory translation database
  • Analytics service
  • The auction closing service responsible for closing some of the lots and extending lots that are actively bid on
  • The mailing service
  • The website frontend
  • Invoice pdf generation service

Auctionport originally embedded all these services in the same application. And to make sure the platform could support these traffic peaks, they vertically scaled up the server that hosted the application. This means transferring the application to a more powerful computer (with better CPU’s, more memory, faster storage,..) BUT.

There is a but. The more you scale up vertically, the more the prices skyrocket. And Auctionport only needed the extra IT power 2-3 times per week when an auction closes. On top of that: vertical scaling capabilities are finite and Auctionport was already at its limits.

To prevent that some of the components could be overwhelmed by traffic and take down the entire website with them (again), Auctionport required a software that can sustain their solid growth, carry all these services at the same time and make their IT platform a competitive advantage again.

Solution
From a classic monolithic website to a modern scalable micro-service powered IT platform

A good IT architecture is the foundation of your platform. So we redrew the entire infrastructure in a sustainable manner.

To start off, we identified and optimised the bottleneck services where possible, such as the web-socket service, the front-end, the auction closing service. We did this by isolating and revising these services following key software design principal’s such as the Clean Architecture and the Domain Driven Development methodology. This way, they are hosted as a separate application (container) using Docker and Kubernetes, and the required CPU and memory resources is managed per individual container. And so they are no longer a risk in slowing down the other services.

Next, we made the entire website stateless - which means that it doesn’t hold data about ongoing sessions - so that we can scale the application services horizontally. In other words: instead of always increasing memory and CPU (vertical scaling), we make copies of the individual application services (or containers). This can quickly be done dynamically when traffic peaks are detected. This last step allows us to immensely reduce IT costs when traffic is low, theoretically scale indefinitely, and fully take advantage of the possibilities that modern cloud providers such as Microsoft Azure and Amazon AWS have to offer.

"Rollo's vast expertise allowed us to scale our business to unseen levels"

Impact

From liability to key driver

Auctionport can carefree continue their great marketing skills to keep on expanding their brand awareness. The platform can now sustain their healthy growth of users with no more downtimes. Because they saved a lot of budget on IT costs, they will also start investing in the automation of their internal processes which will even more increase their efficiency. The IT platform has changed from a liability to one of the key drivers to Auctionport’s company growth.

 
Technologies Used
Azure Cloud, Amazon AWS, Kubernetes, Docker, Python, Java, Vue.js, Redis, Postgres, RabbitMQ

Want to innovate?

Let’s transform our knowledge and ideas
into value for your company.