RTBkit 2.0 Roadmap Preview

42
Open-Source RTB for Everyone 2.0 Roadmap Preview Copyright © 2014 Datacratic Inc. All rights reserved.

description

Join us for the RTBkit 2.0 Roadmap preview and Q&A. In this presentation you will: - learn about the new features of the RTBkit 2.0 - understand best practices for development and backward - compatibility - find out how you can contribute to RTBkit 2.0 If you are an RTBkit developer or are interested in learning more about the next major revision to the RTBkit framework, this presentation a must to get the inside scoop on what is coming out in RTBkit 2.0.

Transcript of RTBkit 2.0 Roadmap Preview

Page 1: RTBkit 2.0 Roadmap Preview

Open-Source RTB for Everyone

2.0 Roadmap Preview

Copyright © 2014 Datacratic Inc. All rights reserved.

Page 2: RTBkit 2.0 Roadmap Preview

Overview

● About the RTBkit Project● How you can participate● RTBkit Today – 1.0● What’s New in 2.0● 2.0 Roadmap● Resources

Copyright © 2014 Datacratic Inc. All rights reserved.

Page 3: RTBkit 2.0 Roadmap Preview

About the project

Page 4: RTBkit 2.0 Roadmap Preview

A Little History

• RTBKit was created by machine-learning and digital marketing company Datacratic

• Code base evolved from running RTB in production from 2011-present

• Open sourced in Feb. 2013, with ongoing support from Datacratic

• Apache-style governance started Jan. 2014

Copyright © 2014 Datacratic Inc. All rights reserved.

Page 5: RTBkit 2.0 Roadmap Preview

Participation and Governance• Apache-style governance

• BDNFL - Benevolent Dictator Not for Life

• Councillors• Committers

• Outside contributions welcome• Github pull request workflow --

committers review and merge• Contributor guidelines• Users can become Contributors• Contributors can become

Committers -- currently two outside Committers

Copyright © 2014 Datacratic Inc. All rights reserved.

Page 6: RTBkit 2.0 Roadmap Preview

Development Support

Development Support● Getting Started Guide● Developer Tutorials● Working integration test system

o mock Exchange and Ad Servero fixed-price Bidding Agent

● Example Code● Documentation● Ubuntu AMI● Google Group support● Pull request review and support

© Datacratic Inc. 2014 All Rights Reserved.

Page 7: RTBkit 2.0 Roadmap Preview

Support, Community, Adoption• Free support from the

community and Datacratic• 250+ active developers• 35 committers, 11 outside of

Datacratic• Users in 25+ countries• ~25 installations in prod: N.

America, Germany, France, Russia, Argentina, China, India

• Datacratic supports development, code review, governance and evolution

• Participation and contributions from Rubicon Project

Copyright © 2014 Datacratic Inc. All rights reserved.

Page 8: RTBkit 2.0 Roadmap Preview

Addresses the RTB Value Problem

SYSTEM SELECTION VALUE

Scale

Speed

Distribution

Show user an ad?

What ad?

What is it worth?

What should I pay?Reliability

General/Technical Specific/Business

Provided by RTBkit Customized by User

Copyright © 2014 Datacratic Inc. All rights reserved.

Page 9: RTBkit 2.0 Roadmap Preview

RTB Technology LandscapeSystem Pros Cons Degree of

Difficulty

Exchange / DSP UI

Easy to get started ● Manual, hard to scale● Lack of control over bidding

strategy and data

Low

Intermediate Hosted Bidding

● More control over bidding strategy and use of data

● Don't have to do Ops

Strategy and use of data mediated by vendor and product features

Medium

● Core systems and integration problems solved

● Benefit from community● Flexible customization● Flexible use of data

● Requires significant development● Responsible for operations of a

high-volume distributed system

High

Roll Your Own Bidder

Full control of all aspects of the system

Solve all the hard systems problems yourself first, then build the rest of the system you need.

Highest

Copyright © 2014 Datacratic Inc. All rights reserved.

Page 10: RTBkit 2.0 Roadmap Preview

1.0 Overview

Copyright © 2014 Datacratic Inc. All rights reserved.

Page 11: RTBkit 2.0 Roadmap Preview

Architectural OverviewRTBkit Core

● Router● Banker● Post Auction Service● Service Monitor● Agent Configuration Service

Plugins● Exchange Connectors● AdServer Connector● Bidding Agent● Augmenter● Logger

Copyright © 2014 Datacratic Inc. All rights reserved.

Page 12: RTBkit 2.0 Roadmap Preview

Bidder Core Advantages● Core working bidder system● High-performance real-time components● Multiple data center support● Reliable global banker● Guaranteed response time to exchanges● High-performance parsing, routing, filtering,

logging and monitoring● Arbitrary use of custom business logic and

your data

Copyright © 2014 Datacratic Inc. All rights reserved.

Page 13: RTBkit 2.0 Roadmap Preview

Inventory Integration● Ships with 9 Exchange Connectors

o Rubicon Projecto AdXo FBXo AppNexuso Nexageo MoPubo GumGumo BidSwitch

● OpenRTB 2.1 compatible

Copyright © 2014 Datacratic Inc. All rights reserved.

Page 14: RTBkit 2.0 Roadmap Preview

Bid Request Lifecycle

RTBkitRouter

Exchange Connector

Static Filters

Dynamic Filters

Augmenter

Post Auction Service

Ad Server

Conversion Source

Bidding Agents

Ad Server Connector

Exchanges

Copyright © 2014 Datacratic Inc. All rights reserved.

Page 15: RTBkit 2.0 Roadmap Preview

RTBkit Data FlowsFive asynchronous data

flows flow through the Router:

● Bid request processing

● Banking updates

● Event Matching

● Notifying Bidding Agents of Events

● Filtering and Bidding Agent configuration

RTBkitRouter

Exchange Connector

Static Filters

Augmentation Loop

Dynamic Filters

Auction Loop

Slave Banker

Master Banker

Bidding Agents

Augmenter

Post Auction Service

Agent Config

Exchanges

Copyright © 2014 Datacratic Inc. All rights reserved.

Page 16: RTBkit 2.0 Roadmap Preview

Banker Responsibilities and DesignBudget Management

● Single source of truth for budget● Authorizes and caps spendingDesigned for Reliability

● Designed for high-latency, low-bandwidth ● Insulates banker state by using "shadow

account" bookkeeping● Totals always go up -- you can always

reason about the relative timing of entries● Updates global state once per minute● Atomic, idempotent persistenceCurrency Support

● Strongly typed 64-bit int Currency, won't allow cross-currency conversions

● Automatic scaling conversions (e.g. CPM to micro-dollars)

Copyright © 2014 Datacratic Inc. All rights reserved.

Page 17: RTBkit 2.0 Roadmap Preview

Account Hierarchies & Spend Tracking● Spend accumulates from Children to Parents● Temporary bookkeeping for bids happens in

shadow accounts in separate processes● Shadows sync once per second

o Router shadow - tracks budget committed to pending bids

o PAS shadow - tracks budget to debit on Wins and to credit on Losses

BudgetA

SpendA:B

Master Banker

SpendA:C

Shadow Spend

A:B

Router Slave Banker

Shadow Spend

A:C

Shadow Spend

A:C

PAS Slave Banker

Shadow Spend

A:B

Copyright © 2014 Datacratic Inc. All rights reserved.

Page 18: RTBkit 2.0 Roadmap Preview

Monitoring and Operations Tools● Extensive instrumentation● Lock-free, high-performance Carbon

logging library, with tunable sampling rate, one-second granularity and useful aggregate functions

● Can add any custom metrics● Operational dashboard included

Copyright © 2014 Datacratic Inc. All rights reserved.

Page 19: RTBkit 2.0 Roadmap Preview

Filter Priorities and PerformanceFilter Priorities and Performance

● Execution order optimized for performance● Broad, inexpensive filters run first● Expensive filters run later (or not at all!)● Only fast filters on real-time thread

● Static filters support batch processing

● Filter matching tests match and retrieves eligible creatives in one pass

FormatLocation

ExchangeLanguage

Creative

Agent

Exchange

Location

Language

Host

URL

Segments

Hour of Week

Fold Position

User Partition

Agent

Bid Request

Bid RequestBid

RequestBid Request

Copyright © 2014 Datacratic Inc. All rights reserved.

Page 20: RTBkit 2.0 Roadmap Preview

Augmenter Implementation● Provides thread pool● Enforces 5ms timeout● Sync and async support● Ships with Redis Augmenter

● Separate config for each Bidding Agent● Can subscribe to other RTBkit data

streams to write datao e.g. - frequency cap Augmenter

subscribes to PAS MATCHEDWINs

Router

Bid Request

Wicked Fast DB TM

Thread Pool

Augmenter Impl.

Augmenter

Post Auction Service

Data Sink Callback

Augmented Bid

Request

Copyright © 2014 Datacratic Inc. All rights reserved.

Page 21: RTBkit 2.0 Roadmap Preview

Custom Bidding Agent Implementation● C++ or JavaScript● Programmatic configuration● Custom bidding logic based on

o bid attributeso a custom Win Cost Model to adjust

for desired margin and data costs● Custom Pacing logic supportedCustom Bidding

Agent

ConfigurationBidding Logic

Win Cost ModelPacing

Currency Helpers

Router

Bid Request1Bid Response

2

onWinonLossonNoBudgetonTooLateonDroppedBidonInvalidBid

3

Post Auction Service

onImpressiononClickonVisit 4

Copyright © 2014 Datacratic Inc. All rights reserved.

Page 22: RTBkit 2.0 Roadmap Preview

2.0 Roadmap Preview

Copyright © 2014 Datacratic Inc. All rights reserved.

Page 23: RTBkit 2.0 Roadmap Preview

The Big Story in 2.0 … Plugins!● Why Plugins? We want to support

an ecosystem of revenue opportunities on RTBkit.

● Design supports this goal● Plugins identified by URL● Can have multiple versions● Support multiple RTBkit versions● Support multiple RTBkit

installations● Requests can be authenticated● Vendors of public plugins can set

up direct billing

Copyright © 2014 Datacratic Inc. All rights reserved.

Page 24: RTBkit 2.0 Roadmap Preview

Public Plugin Ecosystem

● Major goal of RTBkit 2.0● RTBkit users can leverage

third-party Plugins

● Public Plugin requirements:● Multitenant – one plugin can

serve many RTBkit instances● Multi-location – one logical plugin

can be deployed in multiple locations

● Authentication and Security● Per-call metering for billing● Support multiple RTBkit versions

RTBkit

Plugin

Plugin

Plugin

Plugin

Plugin

Plugin Plugin

Plugin

Plugin Plugin

Plugin

PluginPlugin

Plugin

Plugin

RTBkit

RTBkit

Plugin

Plugin

Copyright © 2014 Datacratic Inc. All rights reserved.

Page 25: RTBkit 2.0 Roadmap Preview

Plugins – Ecosystem Business Use Cases

● RTBkit users benefit and Vendors benefit:● Bidder Plugins – campaign

management and bidding logic● Bid Optimization● First-party Data in bidding logic● Per-bid bid price modifier● First-party Data for attribution● Third-party Data● Custom Attribution● Offline Analytics● Real-time Analytics● Real-time Audience Modeling

Copyright © 2014 Datacratic Inc. All rights reserved.

Page 26: RTBkit 2.0 Roadmap Preview

Private Plugins

● Live in same network as RTBkit or reachable across firewall

● Simple Private Plugins● Single HTTP endpoint responding to

Configuration and Plugin API calls● Configuration calls hardcoded

● Scalable Private Plugins● Multiple Plugin Workers behind load

balancer respond to Plugin API calls● Configuration calls hardcoded

Copyright © 2014 Datacratic Inc. All rights reserved.

Page 27: RTBkit 2.0 Roadmap Preview

Public Plugins

● Plugin providers can make Plugins available to multiple RTBkit installations

● Provider gives clients authentication token and configures firewall

● Configuration API in the public Internet is zone-aware and provides access to Plugin endpoints

● Supports Plugin marketplace

Copyright © 2014 Datacratic Inc. All rights reserved.

Page 28: RTBkit 2.0 Roadmap Preview

RTBkit 2.0 Plugin-based Architecture● All extension points redefined as

passive HTTP plugins:● OO Services● C++ Any Language You Want™

● Standard approaches to:● Configuration / Discovery● Deployment● Security● Compatibility

● Public and Private● Even RTBkit core redefined as a

family of APIs

Copyright © 2014 Datacratic Inc. All rights reserved.

Page 29: RTBkit 2.0 Roadmap Preview

Plugin Endpoints – Config & Worker● Plugins expose /config endpoint● Configuration calls are HTTPS● Configuration brokers keys and

accepts IPs to allow traffic from● Configuration uniquely identifies

and versions a Plugin● RTBkit Core uses own

Configuration Plugin to call available Plugins /config, retrieve their URLs

● Plugins mark themselves as dead

RTBkit

Configuration Plugin

Plugin

/conf /do_work

Copyright © 2014 Datacratic Inc. All rights reserved.

Page 30: RTBkit 2.0 Roadmap Preview

Plugin APIs● Configuration

● Returns list of Live and Dead Plugins

● Bidder● Receives stream of Bid Requests● Returns stream of Bid Responses● Multiple logical bidders behind one

endpoint disambiguated with ext field

● Analytics● Receives stream of data for use in

offline reporting systems● Event Id● “Channel” for the type of Event● list of subscribed Plugins

● Data● Plugin API implementation of

Augmenter

RTBkit 2.0

Bidder

Analytics Config

Data

Copyright © 2014 Datacratic Inc. All rights reserved.

Page 31: RTBkit 2.0 Roadmap Preview

Plugin Configurations● Plugins configure RTBkit 2.0 Core

using Configurations● Id, Version, Type● URLs● Rate

● Bidder Plugins● Is Banking● Pre-processing Subscriptions – such

as Filtering● Data Plugin Bidder is using

● Banking Plugins● Budget● Bid Rate

● Analytics● Channels

RTBkit 2.0

Bidder

Analytics Plugin X

Banker

Copyright © 2014 Datacratic Inc. All rights reserved.

Page 32: RTBkit 2.0 Roadmap Preview

Multi-Data Center Support & Routing

● RTBkit instances know their location – tied to a region

● By default only connect to Plugins in the same region

● RTBkit ignores Plugins not responding to heartbeat calls

● Standard list of locations used by RTBkit and Plugins

● Timeouts and failures handled by type of Plugin

West East

Copyright © 2014 Datacratic Inc. All rights reserved.

Page 33: RTBkit 2.0 Roadmap Preview

RTBkit and Plugin Security

● HTTPS only used when calling the Configuration API

● All HTTP requests signed with a HMAC key returned by the Configuration API● Supports rejecting forged requests

● RTBkit periodically calls Plugin Configuration endpoint to update IPs that will call it

● Plugins should reverse proxy to reduce attack surface

Copyright © 2014 Datacratic Inc. All rights reserved.

Page 34: RTBkit 2.0 Roadmap Preview

Packaging and Compatibility

● Test suite to ensure:● Plugins compatible with RTBkit 2.0● Changes to RTBkit 2.0 compatible

with connected Plugins

● Plugins speak OpenRTB 2.2● RTBkit 2.0 package options:

● Docker● Binary distribution of executables,

headers, libs

● Backwards compatible with RTBkit 1.0 – Router will support 1.0 or 2.0 interfaces via dependency injection

RTBkit 2.0

Plugin 2

Plugin 3 Plugin 1

Plugin 4

Copyright © 2014 Datacratic Inc. All rights reserved.

Page 35: RTBkit 2.0 Roadmap Preview

RTBkit 2.0 Core APIs● Control Blocks

● Pre-packaged sets of RTBkit services required to control an RTBkit installation

● Lower scaling requirements● One required per data center● REST API

● Worker Blocks● Pre-packaged set of RTBkit services

that require high throughput and may need to be horizontally scaled

● High scaling requirements● At least one per data center, but may

deploy many for scaling or redundancy

Copyright © 2014 Datacratic Inc. All rights reserved.

Page 36: RTBkit 2.0 Roadmap Preview

2.0 Roadmap and Progress

Already Delivered in 2014● HTTP Bidding Agent APIs –

Precursor to full 2.0 API

Up Next – Q4 2014● First API open source code

releases -- written in Go not C++● RTBkit updates to be compatible

with new APIs

Up Next – Q1 2015● Data and Logger HTTP APIs for

Data and Analytics Plugins© Datacratic Inc. 2014 All Rights Reserved.

Page 37: RTBkit 2.0 Roadmap Preview

RTBkit Resources

Links● http://github.com/rtbkit● http://rtbkit.org● https://groups.google.com/a/rtbkit.

org/forum/#!forum/discuss

Developers Getting Started Guide● https://github.com/rtbkit/rtbkit/wiki/

Getting-Started

Copyright © 2014 Datacratic Inc. All rights reserved.

Page 38: RTBkit 2.0 Roadmap Preview

RTBkit & Rubicon Project Deliver Scalable Ad Tech Infrastructure & Extensible Bidding Stack

• Rubicon Project is a leading technology company automating the buying and selling of advertising.

• Rubicon Project & RTBkit have combined forces to deliver a scalable ad tech infrastructure, and makes it easy for media buyers to deploy their own proprietary bidding stack with the open and extensible architecture of RTBkit.

• The OpenDSP team is a contributor to the RTBkit open source project and active member of the RTBkit community.

Join the Alpha Program

There are limited seats available in the alpha program. Contact the OpenDSP team at [email protected] to get started.

Page 39: RTBkit 2.0 Roadmap Preview

About Datacratic

Datacratic is an enterprise software company that develops machine learning and artificial intelligence technology, which enables real-time machine based decisioning to be deployed into a wide range of applications.

Datacratic’s products are currently optimized for:• Data Management Platforms (DMPs)• Demand Side Platforms (DSPs)• Agency Trading Desks (ATDs)• E-Commerce web sites• Others in the real-time marketing ecosystem.

Mark Weiss @marksweiss

Head of Customer Solutions at Datacratic

www.datacratic.com

opensource.datacratic.com/

We're hiring! datacratic.com/site/careersCopyright © 2014 Datacratic Inc. All rights reserved.

Page 40: RTBkit 2.0 Roadmap Preview

Host a Meetup!

Page 41: RTBkit 2.0 Roadmap Preview

Copyright © 2014 Datacratic Inc. All rights reserved.

Page 42: RTBkit 2.0 Roadmap Preview

Q&A