NginAd 1.0 OpenRTB Ad Server Release with Open Source Code

930 views
Skip to first unread message

Christopher Gu

unread,
Sep 15, 2014, 2:37:57 AM9/15/14
to openr...@googlegroups.com
The OpenRTB 2.2 Spec is implemented in this brand new OpenRTB based DSP/SSP ad server. Many ad networks from NYC to Los Angeles are going to jump in on the development of version 2, and I would appreciate some feedback on this version 1.0. We only had a little over 50k funding for this project and made it in pure PHP so that smaller Ad Networks and Publishers could finally jump on the RTB band wagon.

http://www.nginad.com

The source code is linked to on GitHub and it's GPL v3 licensed.

Thanks to the many posters in this group that answered my questions and helped it along.

Andrew Gamerer

unread,
Sep 15, 2014, 1:00:44 PM9/15/14
to openr...@googlegroups.com
Is it possible to chain nginad with other nginad?

By chain I mean to have master nginad server and number of independent nginad servers?

I am talking about separate company owning master and number of independent nginad servers connecting to the master?



.

Christopher Gu

unread,
Sep 15, 2014, 1:16:50 PM9/15/14
to openr...@googlegroups.com
Hi Andrew,

Yes, not only is that possible, but that is the goal of NginAd. To hook up a massive peer to peer network of OpenRTB servers from smaller ad networks and publishers into the big DSP/SSPs.

NginAd will finally bring the tail end of impressions back into the main stream of inventory that big brands can buy.

-Chris

Andrew Gamerer

unread,
Sep 15, 2014, 8:19:19 PM9/15/14
to openr...@googlegroups.com


Hi Chris,

Can you advice how to do that (how to chain slave NginAd to master NginAd)?

Is there any wiki page about it?

-Andrew

 
 

Christopher Gu

unread,
Sep 16, 2014, 3:22:21 AM9/16/14
to openr...@googlegroups.com
Hi Andrew, 

The documentation is still being written and should be complete within 1 week. It can be found on this Confluence page:  https://nginad.atlassian.net/wiki/display/NGIN/nginad+Home

Master/Slave NginAd instances in the context of a cluster are automatic when you put them behind a load balancer. Unlike some systems that use a common memcached or Redis server to synchronize, these servers use local read/write buckets in memory with APC and do synchronization via upserts to the database master.


If you want to do a Master/Slave configuration with different cluster instances to emulate different ad networks, then you can set it up using OpenRTB to chain the servers using this configuration guide here:

If you simply want to set up a VM cluster, you can spawn as many instances of NginAd as you like and put them behind a single or multiple load balancer and they will synchronize with each other automatically through a shared data source.

I hope this answers your question.

- Chris

Andrew Gamerer

unread,
Sep 16, 2014, 8:20:19 PM9/16/14
to openr...@googlegroups.com
Hi Chis,

I meant to do a Master/Slave configuration with different cluster instances to emulate different ad networks.

I read current doc but I am not entirely sure how to chain them.

Could you give 1 specific example of configuration of Slave cluster can connect to Master and the same on Master side.

- Andrew

Christopher Gu

unread,
Sep 16, 2014, 11:21:04 PM9/16/14
to openr...@googlegroups.com
Hi Andrew,

Here is a possible configuration of NginAd servers, though you could do this a million different ways since it's pretty versatile.

Set up Ad Network 1: 

1x Load Balancer: 
10x NginAd instance:

Set up your DSP and SSP RTB partners using OpenRTB or create your own module for a proprietary RTB like Google AdX interface, Creafi, AppNexus or Pubmatic Interface. Get publishers to sign up via the Publisher dashboard ( like Lijit ) and demand customers to sign up via the Demand Dashboard ( Like AdKnowledge ) and wire their traffic and the DSP to the peer ad network you will create next.

Now set up another one:

Set up Ad Network 2: 

1x Load Balancer, 
1x RDB,
10x NginAd instance,

You can set Ad Network 2 to win all the auctions from Ad Network 1 and wire it to a DSP that is only enabled on Ad Network 2, or you can copy paste the Publisher Dashboard tags from Ad Network 2 into the Demand Dashboard of Ad Network 1 and chain them up as a direct contract between the 2 Ad Networks ( only a NginAd Admin role type can set contracts ). This would be akin to putting Zedo or Lijit ad tags into AppNexus, Google Ad X RTB bid responses.

Like any Open Source Ad Server, you can always modify it to suite some customized need. Believe it or not, in the pre-RTB days. Lijit actually started with an OpenX Source server and customized it into the Lijit Network and added RTB and other functionality. BUT, it cost them MILLIONS of dollars. Now with NginAd you can do that very cheaply and easily.

We may sell developer support for customizations in the future, but we have not reached that point yet. If you need customizations you should have at least 1 in house developer that is familiar with digital advertising and PHP.

- Chris

Christopher Gu

unread,
Sep 16, 2014, 11:25:38 PM9/16/14
to openr...@googlegroups.com
There was a typo in my last post:

"You can set Ad Network 2 to win all the auctions from Ad Network 1 and wire it to a SSP that is only enabled on Ad Network 2"

So NginAd ad network 1 would sign up the publishers and DSPs you have, and NginAd Ad Network 2 would have some SSP partner(s) like Media Math integrated, and would receive the traffic from Ad Network 1 either with RTB via an exclusive bid win, or via the contract feature which can be enabled when you log in as an Admin role type on NginAd Ad Server.

I'd say primary, you probably need an in house developer however if you plan to tackle such a configuration.

- Chris

Christopher Gu

unread,
Sep 19, 2014, 1:25:17 AM9/19/14
to openr...@googlegroups.com
Andrew, I got some good news tonight. One of the biggest 3rd party OpenX support companies has contacted me about supporting NginAd Ad Server users. If you want to contact me privately I can put you in touch with them. They should be able to help you with support and complete your configuration.
Reply all
Reply to author
Forward
0 new messages