seocampixx 2013 - dntx - 300+ mio user pro monat im realtime bidding

18
300+ Mio User pro Monat im Realtime Bidding Markus Ostertag

Upload: markus-ostertag

Post on 12-Jul-2015

851 views

Category:

Technology


0 download

TRANSCRIPT

300+ Mio User pro Monat im Realtime

Bidding

Markus Ostertag

Wer bin ich?

• Online seit 1994

• Webseiten seit 1996

• Diplom-Informatik TU München

• Gründer MovieMaze.de (Verkauf 2012)

• Skalierungsfuzzi bei Onpage.org

• Seit 11/2012 bei Team Internet als Head of Development

(Advertiser Products)

300+ Mio User pro Monat im Realtime Bidding

Wer bin ich?

• Technisch „anders“ denken

• Campixx 2011

– Performance von Webseiten

• Campixx 2012

– Amazon Webservices

• Technische Produkte/Ideen als Anreiz für Eigenrecherche

300+ Mio User pro Monat im Realtime Bidding

Wer sind wir?

• Team Internet AG

• Nische: Domaining

– Sitz in München

– Ca. 15 Leute

300+ Mio User pro Monat im Realtime Bidding

Was ist DNTX?

• 2nd tier Monetarisierung von Domain Parking Traffic

• Ablauf:

– User tippt im Browser eine Keyword-Domain ein (z.B.

bodybuilding.info)

– Domain ist von einem Domainer geparkt

– Kunde (bodybuilding.com) bucht diesen Traffic als PPR (Pay-per-

Redirect) bei DNTX

– User wird mit einer Zwischenseite zu bodybuilding.com geleitet

300+ Mio User pro Monat im Realtime Bidding

Was passiert da technisch?

• User tippt Domain ein, die geparkt ist

• Parkingplattform macht einen Feed-Request bei DNTX

– IP

– UserAgent

– Domain

– Optional: Keywords

300+ Mio User pro Monat im Realtime Bidding

Was passiert da technisch?

• DNTX wertet diese Information aus/reichert an (Geo-Targeting, UA-Auswertung)

• Sucht nach höchstem Gebot für diesen User (Real Time Bidding)

• DNTX antwortet der Parkingplattform mit dem höchsten Gebot und einem Tracking-Link

• Parkingplattform nimmt Gebot an und leitet per 302 auf DNTX-Trackinglink

• DNTX übernimmt User und leitet auf Zielseite

300+ Mio User pro Monat im Realtime Bidding

Technische Herausforderungen

• >200 Requests/Sekunde auf den Feed (> 17 Mio. pro Tag)

• >300 Mio. Unique User im Monat

• Antwortzeiten müssen <1 Sek. sein

• RTB komplex, wegen externer/interner Anfragen

• Verarbeitung von >25GB Tracking-Daten pro Tag

• Traffic >1,5TB Incoming & >2 TB Outgoing

300+ Mio User pro Monat im Realtime Bidding

Technische Komponenten

• Amazon Webservices

• Nginx

– Load Balancer

– Reverse Proxy

• Node.js

– Feeder

– UI

– Tracking

• MongoDB

300+ Mio User pro Monat im Realtime Bidding

AWS

• Virtualisierte Hardware bei Amazon EC2

– Skalierbarkeit

• EBS-Volumes als Datenspeicher

• S3/Glacier für Backups

• Virtual Private Cloud

– Mehrere Rechenzentren

300+ Mio User pro Monat im Realtime Bidding

Node.js

• JavaScript Framework

• Google V8 Engine (identisch zu Chrome)

• Non-blocking

• Event-driven

• Lightweight (geringer Memory-Footprint)

• Npm (node package manager)

300+ Mio User pro Monat im Realtime Bidding

Node.js Event Loop

300+ Mio User pro Monat im Realtime Bidding

MongoDB

• High performance

• Schemafrei

• Dokumentenbasiert

• Horizontal skalierbar

– Sharding

– Replica Sets

• Datacenter Awareness

• Node.js & MongoDB = ♥

300+ Mio User pro Monat im Realtime Bidding

MongoDB

• >300.000 Queries pro Sekunde

– Ca. 75% Writes

• >99,9% aller Queries werden in <50ms

beantwortet/verarbeitet

• Verteilt auf mehrere Rechenzentren

– Ausfallsicherheit

300+ Mio User pro Monat im Realtime Bidding

Sharding in MongoDB

300+ Mio User pro Monat im Realtime Bidding

Quelle: http://docs.mongodb.org/ecosystem/tutorial/install-mongodb-on-amazon-ec2/

Replica Sets in MongoDB

300+ Mio User pro Monat im Realtime Bidding

Quelle: http://docs.mongodb.org/ecosystem/tutorial/install-mongodb-on-amazon-ec2/

Notizzettel

• Es gibt mehr – als Apache

• Nginx

• lighttpd

– als PHP • Node.js

– als MySQL • MongoDB

• NoSQL

– als 1&1 • virtualisierte Hardware für (finanzielle) Flexibilität

• Out of the Box/kreativ denken!

300+ Mio User pro Monat im Realtime Bidding

Danke!

300+ Mio User pro Monat im Realtime Bidding

• Mail: [email protected]

• Xing: http://xing.to/mo

• Facebook: http://fb.me/markus.ostertag