EN DE
Full stack development

SaaS application for an Ad-tech startup

We collaborated with a U.S.-based ad-tech startup to design, build, and maintain a Demand-Side Platform (DSP) capable of handling a throughput of 30,000 ad requests per second with response times under 120ms. Through a scalable microservices architecture, multi-tenant SaaS platform and a robust data pipeline we enabled the client to diversify their business and successfully enter the DSP market within their expected timeframe.

About the Client

Our client was a U.S.-based startup with a successful ad-exchange business. Seeking to expand their offerings, they aimed to build a Demand-Side Platform (DSP) to serve ads across multiple ad exchanges. However, with their engineering team focused entirely on their existing ad-exchange, they needed a technology partner to help design, develop, and maintain the DSP.

Customer’s Requirements

The client had two major requirements:

Highly Scalable Ad-Serving Stack

Capable of handling up to 30,000 requests per second.

Respond within the strict deadline of under 120ms, which is crucial to the success of real-time bidding.

SaaS Platform for Campaign Management

The platform needed to onboard clients, allowing them to create ad campaigns, set a target audience and budget, and monitor campaign performance.

Challenges

The project posed several challenges, particularly in understanding the complexities of the ad-tech domain, where real-time bidding (RTB) must occur before a webpage loads. To meet this, a response time of under 120ms was required to place bids in time. Additionally, the technical complexity of ad-tech, including creative filtering, request multiplexing, and spend analysis, added to the challenge.

Solution

After an extensive domain analysis, the problem was divided into three key components: a horizontally scalable bidding stack, a multi-tenant web application, and a robust data pipeline.

Horizontally Scalable Bidding Stack

Given the real-time nature of bidding, we decided to build the bidding stack in C++ for optimal performance. However, developing a bidding stack from scratch would take 4-6 months, which exceeded the client's timeline

To accelerate development, we leveraged an open-source project called RTBKit, which provided foundational components like spend analysis, creative filtering, and request multiplexing. This reduced our development timeline to under 3 months. We then built additional features around RTBKit, ensuring the system could handle 30K requests per second and place bids within the 120ms deadline. By integrating these components seamlessly, we created a highly efficient, horizontally scalable bidding infrastructure.

Multi-Tenant SaaS Web Application

The client required a platform that could support multiple organizations, allowing them to create and manage their ad campaigns. Each organization needed data isolation and role-based access controls for different team members.

We designed a multi-tenant backend where each organization was allocated a separate database, ensuring complete data isolation. To provide flexibility, we implemented a role-based access control (RBAC) system that allowed the organization's admin to assign permissions to roles, rather than hardcoding roles into the system. This provided granular control over access to features, enabling organizations to run full-fledged ad campaigns across various ad inventories.

Data Pipeline for Event Tracking

The ad-serving platform generated a significant volume of events, such as impressions, clicks, and conversions, which needed to be tracked in real-time. The system had to ensure accurate billing and reporting based on these events.

To handle the large volume of ad events, we implemented a Kafka-based data pipeline. Kafka was chosen after experimentation due to its early yet powerful capabilities for managing high-throughput event streaming. The pipeline funneled ad event data into the application, ensuring persistence and scalability. This allowed for real-time tracking of ad events, which was crucial for campaign performance reports and billing accuracy.

Results

Faster Time-to-Market

The platform was built in 3-4 months, followed by a couple of months of extensive quality and performance testing, resulting in a timely General Availability (GA) release.

Highly Scalable Platform

The DSP was able to process 30,000 ad requests per second with sub-120ms response times, meeting the critical real-time requirements of the ad-tech domain.

End-to-End Engineering Support

We delivered an end-to-end solution, from initial design and architecture to development, quality assurance, and performance testing.

Conclusion

  • Coriolis helped the client realize their vision of building a cutting-edge DSP platform. By leveraging an open-source solution and implementing a scalable architecture, we enabled the client to enter the DSP market on schedule. The platform not only met real-time performance requirements but also provided a flexible and secure environment for businesses to run and monitor ad campaigns, ensuring the client's diversification strategy was a success.

Other case studies