This page may be out of date. Submit any pending changes before refreshing this page.
Hide this message.
Quora uses cookies to improve your experience. Read more
2 Answers
Scott Switzer
Scott Switzer, Authenticated Digital founder, OpenX founder, Unanimis CTO
Ad networks have a unique tech problem - they need to process many tiny HTTP requests from thousands or millions of websites or apps.  An ad platform is similar in this regard to an analytics platform, with the added complexity that a unique decision and response needs to be made every single time a request is made (e.g. no caching).  In addition, data needs to be as immediate as possible, so that analysts can identify patterns or issues to make changes in their campaigns.

It is hard building an ad stack economically, because ad companies tend to scale quickly, so the initial affordable architecture needs to be built with 1000x+ scalability in mind.  Our initial architecture that can serve thousands of ads per second needs to eventually work with 100K-1M ads per second.  That is a pretty interesting and exciting challenge.

The current ad stack that we are building at Authenticated Digital uses embedded Lua inside of NginX to make real-time decisions, and then places the data onto a queue (currently RabbitMQ, moving to Kafka).  We have Erlang based listeners to enrich the data and perform transformations, and then store the data inside Cassandra.

In addition, we stream some of the raw data out to a filesystem to push to customer S3 buckets, and to our own S3 bucket.  We then push the data from our S3 bucket to Redshift for internal analytics.  We use Luigi to manage the data flow between Cassandra, the filesystem, S3, and Redshift.

Here are some projects that I have looked at that would be beneficial to folks considering building an ad stack:

OpenResty - Fast NginX web server with embedded Lua
Apache Kafka - Data Log / Queue
Snowplow - Event Analytics Platform
Amazon Redshift - Cloud Data Warehouse
Luigi - Data Flow Automation
Docker - Sysadmin Automation
Brian O'Kelley
Brian O'Kelley, I have worked in ad tech since 2003 as CTO of Right Media and CEO of AppNexus
An ad network needs an ad serving platform to provide ad tags to publishers, manage creatives and campaigns from advertisers, track revenue, delivery, and ROI, and choose the optimal ad for every impression. Ad servers must be extremely reliable and deliver ads quickly in every region in which the network operates. Support for mobile, display, video, and native formats is key, as is integration with all major SSPs, ad exchanges, bidders, and data providers.

Some networks build their own technology, but most work with a partner due to the cost and complexity of keeping up with an ever-changing industry. The best ad servers for networks have extensive APIs that allow for customization and differentiation as well as powerful predictive optimization capabilities.

With hundreds of ad network clients, AppNexus is the most common ad server for ad networks. Right Media, owned by Yahoo, is probably #2. Some networks modify publisher ad servers like OpenX or DFP, but this has serious limitations in working with exchanges.