Amazon Web Services in a Video Ad Network

Case Study

The challenge

Our customer is a video ad network that displays their inventory via partner syndicated videos. The service generates about 2500-4500 raw events per second that need to be recorded, processed, and made available for further analytical processing.

Solution

The existing implementation contained a lot of legacy code and was very difficult to scale. However, the customer expected significant business growth in 2014, so the technical team was tasked with preparing for the increased load.

Our Approach

  • We understood there was an existing software solution that powered customer’s business, and that introducing too many changes to the system could also introduce new technical risks. Our proposal to the customer was to incrementally port parts of their ad server, initially designing for manageability, scalability and fault-tolerance.

  • We broke down the scope into a set of loosely coupled phases:

    Back office server refactoring to become a RESTful API implemented in Java;

    Batch event processing with MySQL and RabbitMQ;

    Realtime event capture with Amazon Kinesis and Redshift;

    And several other components.

  • Customers video ad players generate about 2500-4500 events per second. Initially this data was stored in a MySQL database, and then several calculations and transformations were made and the result was saved back to the database. As a result of such approach, the database became the bottleneck.

  • Our proposal was to make use of Amazon Kinesis to process the incoming raw event data, store it in Amazon S3 file server, and transform and save various aggregated values into a Redshift database for further visualization by the reporting component.

Our clients say

Let Us Contact You

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