RTB4FREE Overview

Last updated: April 18, 2017

Overview

The RTB4FREE platform allows customers perform programmatic buying of digital advertising on mobile, application or web sites by bidding for supply side inventor using OpenRTB protocols. The platform is completely open source. The RTB4FREE architecture consists of distributed services that perform discrete tasks which can be scaled horizontally. We call this approach a "micro-services demand side platform (DSP)", and is shown below.



A production bidding enterprise requires multiple systems running RTB4FREE, running behind a load balancer, using a campaign manager, and a data management platform. A complete DSP using RTB4FREE is done in three "layers".

  • Bidder - the RTB part of the system, it connects to the exchanges and makes bids.
  • Campaign Manager - set up and maintain campaigns.
  • Data Management Platform - the big data analytics.

The preferred method for deployment is for each component to be instanctiated as Docker containers as part of a Docker Swarm. The advanatage of this approach is:

  • Easy deployment - avoid installation and configuration by starting stacks with a single Docker command. RTB4FREE Docker compose files includes integration among different deployments.
  • Scalable performance by horizontally clustering the appropriate stack:
    • Bidders for increasing bid transaction rate.
    • Kafka for increasing logging network transport capacity.
    • Elasticsearch for increasing data storage or analytic compute capacity.
  • Easy extensiblity and customizing by adding or modifying appropriate micro service.

The RTB4FREE documentation describes the software components developed by RTB4FREE - bidder, crosstalk and campaign manager. It also describe how these core components integrate with other open source projects - Kafka/Zookeeper, Elasticsearh, Logstash, Kibana.

Deployment of the platform in production using Docker is described in detail.

Since one of the major advantages of the platform is extensibility, strategies for extending the aspects of the base platform function is also discussed.