Distributed Demand Side Platform for In-Game Advertising

A custom solution that allowed the client to cut operational costs by 50% and reduce deployment time by 30%.

In-game advertising platform
Table Of Contents:
Categories:
All
AdTech
Big Data and Analytics
Java

About the Client

Our client develops ad-supported mobile games enjoyed by over 5 million players worldwide. With a track record of successful releases, the company delivers immersive experiences and high-quality entertainment.

Technologies Used

java
spring boot logo
apache kafka logo
redis
clickhouse
kubernetes logo
openrtb logo

Goal

The client faced technical challenges that deprived them of opportunities to optimize media buying and scale operations:

  • Inefficient bidding across locations. The company struggled to place bids on ad traffic from around the world. The key concerns were maintaining low latency and making real-time decisions for programmatic ads regardless of location.
  • Increasing throughput requirements. The client’s media buying solution needed an upgrade to meet soaring traffic demands. To avoid time-out errors and sporadic failures, it should have processed over 10,000 transactions per second (TPS) per region.
  • Decentralized campaign management. The client had complex and inefficient workflows related to ad campaign management. They envisioned a unified platform to control and monitor all programmatic activities from a single location.

Work Description

Analysis of requirements

The client required experienced developers with vast AdTech expertise to meet the project’s objectives. They engaged Geomotiv to assemble a dedicated team to deliver the end-to-end solution.

As our first step, we gathered and analyzed the client’s business requirements. Together with the project’s stakeholders, we finalized the idea of designing a scalable system based on a distributed DSP architecture. Our developers selected a Java-based technology stack to ensure high performance and fault tolerance. Next, the team developed functional specifications to lay the groundwork for the consecutive development process.

Development phase

Our team designed the solution’s architecture to deliver low-latency and high-load ad operations. During development, we addressed several critical challenges related to traffic allocation, system response rates, caching, and analytics. The team came up with the following solutions:

  • Regional DSP clusters. When ad traffic flowed between continents, delays in ad delivery reached the limit of 150ms. This issue disrupted real-time bidding and led to timeouts and failures in ad serving. Our developers deployed SSP instances in California (USA) and the Netherlands (Europe) to improve performance metrics. This setup reduced latency to 20ms for regional ad requests, leading to faster ad delivery and UX improvements.
  • Traffic distribution and load balancing. The solution’s architecture was supposed to remain fault-tolerant under sudden traffic and transaction spikes. Our team deployed multiple instances to handle bidder requests, impression beacons, and click beacons to meet this goal. We also integrated a load balancer to distribute traffic across these instances. As a result, the platform maintained over 10,000 TPS per region during high-demand periods.
  • Optimization of data processing and analytics. High volumes of bid requests required the solution to have an optimized back-end and support asynchronous processing. Our team incorporated a distributed cache to offload system resources and retrieve the data from the Clickhouse database. We established the message bus so system components could communicate asynchronously across the entire architecture.

QA and deployment

Geomotiv’s team conducted performance testing throughout the development cycle, as it was crucial to validate that the solution could meet the required rigid limits. We ran load and stress tests early to simulate high volumes of bid requests and iterated performance optimizations based on gathered feedback.

The team also performed integration testing to eliminate bottlenecks in asynchronous communication between system components. Additionally, we conducted regression testing to confirm that new changes didn’t disrupt the existing functionality.

Once the development and testing phases were complete, the solution was deployed to production servers using Kubernetes. Our team established CI/CD pipelines to deliver fast and consistent deployments. We monitored system performance to observe key indicators when the solution went live. Performance metrics helped verify that it met all operational expectations in real-world scenarios.

Work Stages

  1. Acquire business requirements
  2. Define the technology stack
  3. Develop functional specifications
  4. Implement the requirements
  5. Assure quality
  6. Fine-tune performance
  7. Deploy in production

Results

With the DSP Geomotiv delivered, the client moved their media buying in-house and got complete control over in-game advertising campaigns. Well-designed architecture and optimized performance helped cut operational costs by 50% and reduce time-to-deploy by 30%.

Our AdTech expertise was instrumental in meeting the project’s goals as we suggested the most optimal solutions to technical challenges. Our client obtained a distributed high-load platform that addressed rigid performance requirements and delivered fast processing to streamline ad operations.

Gallery

Distributed Demand Side Platform scheme 1
Distributed Demand Side Platform scheme 2

Let Us Contact You

Fill out the form below and we’ll get in touch within 24 hours

    contact us
    Software development expertise and senior tech talent for AdTech and Streaming Media projects.