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




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




                           300+ Mio User pro Monat im Realtime Bidding
Replica Sets in MongoDB




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




                            300+ Mio User pro Monat im Realtime Bidding
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!


• Mail: markus@teaminternet.de
• Xing: http://xing.to/mo
• Facebook: http://fb.me/markus.ostertag




                       300+ Mio User pro Monat im Realtime Bidding

SeoCampixx 2013 - DNTX - 300+ Mio User pro Monat im Realtime Bidding

  • 1.
    300+ Mio Userpro Monat im Realtime Bidding Markus Ostertag
  • 2.
    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
  • 3.
    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
  • 4.
    Wer sind wir? •Team Internet AG • Nische: Domaining – Sitz in München – Ca. 15 Leute 300+ Mio User pro Monat im Realtime Bidding
  • 5.
    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
  • 6.
    Was passiert datechnisch? • 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
  • 7.
    Was passiert datechnisch? • 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
  • 8.
    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
  • 9.
    Technische Komponenten • AmazonWebservices • Nginx – Load Balancer – Reverse Proxy • Node.js – Feeder – UI – Tracking • MongoDB 300+ Mio User pro Monat im Realtime Bidding
  • 10.
    AWS • Virtualisierte Hardwarebei 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
  • 11.
    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
  • 12.
    Node.js Event Loop 300+ Mio User pro Monat im Realtime Bidding
  • 13.
    MongoDB • High performance • Schemafrei • Dokumentenbasiert • Horizontal skalierbar – Sharding – Replica Sets • Datacenter Awareness • Node.js & MongoDB = ♥ 300+ Mio User pro Monat im Realtime Bidding
  • 14.
    MongoDB • >300.000 Queriespro 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
  • 15.
    Sharding in MongoDB Quelle: http://docs.mongodb.org/ecosystem/tutorial/install-mongodb-on-amazon-ec2/ 300+ Mio User pro Monat im Realtime Bidding
  • 16.
    Replica Sets inMongoDB Quelle: http://docs.mongodb.org/ecosystem/tutorial/install-mongodb-on-amazon-ec2/ 300+ Mio User pro Monat im Realtime Bidding
  • 17.
    Notizzettel • Es gibtmehr – 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
  • 18.
    Danke! • Mail: markus@teaminternet.de •Xing: http://xing.to/mo • Facebook: http://fb.me/markus.ostertag 300+ Mio User pro Monat im Realtime Bidding