X

Mein Profil. Hier einloggen oder registrieren.

02. Juli 2019

OTTO entwickelt eigene Real Time Advertising-Technologien

Wenn man aus Nutzersicht etwas Positives über Banner-Werbung sagen möchte, dann vielleicht, dass sie hier und da eine Paywall erspart. Für OTTO ist es als E-Commerce – wait for it - Plattform natürlich unverzichtbar, sich um die begehrtesten Werbeplätze zu bemühen. Wie funktioniert das? 

Das Business in Kürze

Wenn eine Werbung auf einer Seite im Internet ausgespielt wird, gibt es grundsätzlich zwei Parteien, die sich einigen müssen.  Auf der einen Seite befindet sich der Vermarkter (Supplier), der den Werbeplatz für seinen Klienten - die eigentliche Webseite - verkauft. Auf der anderen Seite steht der Werbetreibende (Demander), der seine Werbung auf dem Platz anzeigen möchte. 

Früher war alles einfacher. Der Vermarkter verkaufte per Telefon Kontingente an den Werbetreibenden und erhielt zur Bestätigung ein Fax (oder so ähnlich). Heute werden die Werbeplätze in Echtzeit direkt von den Vermarktern versteigert. Idealerweise so, dass die Besucher einer Webseite für sie relevante Werbung angezeigt bekommen. Natürlich alles unter Beachtung der DSGVO. 

Darum hat OTTO den Orbidder gebaut

OTTO spielt schon seit Längerem Echtzeit-Werbung im Internet aus. Das Problem dabei ist allerdings, dass zwischen den Vermarktern und OTTO zahlreiche Dienstleister stehen. Jeder zusätzliche Dienstleister macht das Ausspielen der Werbung teurer und - fast noch schlimmer - intransparenter.
Orbidder von OTTO

Um den Großteil der Dienstleister in diesem Prozess obsolet zu machen, hat OTTO den Orbidder gebaut. Dabei handelt es sich um eine sog. Supply Side Platform (SSP), d.h. ein Service, der unmittelbar an die zu versteigernden Werbeplätze angebunden ist. 

Normalerweise sammeln SSPs die Gebotsanfragen der Werbeplätze ein und leiten sie an viele Dienstleister weiter, z.B. an auf Realtime Advertising spezialisierte Börsen. Am Ende einer Vielzahl von Weiterleitungen und Dienstleistern steht der Bieter, die sog. Demand Side Platform (DSP). 

Die Orbidder-SSP sammelt die Gebotsanfragen ebenfalls direkt von den Webseiten ein, leitet sie dann allerdings ohne Umwege an OTTOs DSP-Partner Active Agent weiter. Daraufhin entscheidet OTTOs Machine Learning Algorithmus Orbid nutzerbasiert, wie hoch das Gebot ist und welche Werbung angezeigt werden soll. Das Gebot wird dann wiederum von der Orbidder-SSP an die Webseite weitergeleitet. Die Anzahl der Systeme an denen relevante Daten verarbeitet werden, wird so minimiert und somit implizit auch optimiert.

Das Orbidder-SSP Frontend

Ein Standard für Realtime Advertising auf Webseiten, der sich rasant verbreitet, ist Prebid. Bei Prebid handelt es sich um eine Open Source JavaScript Bibliothek.

Jeder, der eine Webseite vermarktet, kann diese Bibliothek (d.h. die prebid.js) in den Header seiner Webseite integrieren und Werbeplätze konfigurieren. Prebid sorgt dafür, dass die eigenen Werbeplätze zur Versteigerung an eine Vielzahl von SSPs weitergeleitet werden. Der Webseitenbetreiber bzw. Vermarkter entscheidet selbst, an welche SSPs Gebotsanfragen weitergeleitet werden sollen. 

Typischerweise haben alle integrierten SSPs weniger als eine Sekunde Zeit, die Gebotsanfragen für die Werbeplätze zu beantworten. Am Ende erhält das höchste Gebot den Zuschlag von Prebid. Möchte man als SSP an solchen Versteigerungen über Prebid direkt teilnehmen, muss man einen eigenen Adapter für Prebid implementieren und die Open Source Bibliothek erweitern, z.B. mit unserem Orbidder-Adapter. 

Perspektivisch soll der Prebid Orbidder-Adapter nahezu im gesamten deutschsprachigen Internet zum Einsatz kommen. Das heißt jedes Mal, wenn eine Webseite aufgerufen wird, werden BidRequests an das Orbidder-SSP Backend gesendet.

Orbidder von OTTO

Das Orbidder-SSP Backend

Das Backend, d.h. die eigentliche SSP, ist das Herzstück des Orbidders. In der Endausbaustufe wird der Durchsatz in der Spitze schätzungsweise bei ca. 50 Tsd. req/s liegen. Die Last schwankt jedoch stark über den Tag hinweg. Um vier Uhr nachts ist im deutschsprachigen Internet deutlich weniger Verkehr als um 21 Uhr.

Die wesentlichen Anforderungen an das Backend sind:

  • uneingeschränkte und automatische Skalierung
  • hoher Streaming Durchsatz
  • schnelle Antwortzeiten (<< 1s inkl. externer Aufrufe zur DSP)
  • Hochverfügbarkeit
  • kosteneffizientes Cloud-Design

Diese Anforderungen erschienen uns am Besten in der Cloud mit Kubernetes lösbar zu sein. Zum Projektstart war unser Eindruck, dass andere Cloud Anbieter mit ihrer gemanagten Kubernetes-Lösung, insbesondere in Europa, noch nicht so weit vorgeschritten waren, wie die entsprechende Alternative aus der Google Cloud Platform (GCP).

Neben Google Kubernetes Engine (GKE) nutzen wir weitere Services von GCP zur Nachverarbeitung bzw. Datenspeicherung, z.B. BigQuery und Google Cloud Storage. Die Infrastruktur setzen wir mit Terraform auf.

In unserem Kubernetes Cluster setzen wir Ngnix als Reverse Proxy und als ersten Kontaktpunkt innerhalb des Clusters nach dem Google L4 Load Balancer ein. Ngnix leitet die HTTP Requests an unseren in der Programmiersprache Go implementierten SSP-Webserver weiter, der den Hauptteil der Geschäftslogik enthält. 

Nach einem Egress-Call an unseren DSP-Dienstleister Active Agent beantwortet der SSP-Webserver die jeweiligen Requests. Für das Monitoring nutzen wird Prometheus und Grafana. Zum Zertifikatsmanagement verwenden wir den Kubernetes Operator Cert-Manager, der uns automatisiert Let‘s Encrypt Zertifikate erstellt und regelmäßig erneuert.

Kosten im Blick

Die letzte Anforderung, das kosteneffiziente Design, scheint zunächst selbstverständlich zu sein. Eine explizite Erwähnung ist aus unserer Sicht allerdings dennoch angebracht, da sich das Orbidder-SSP Backend durch eine sehr hohe Anzahl an Events (BidRequests) pro Sekunde mit einer vergleichsweise geringen Payload auszeichnet. Event-Basierte Streaming-Lösungen sind bei den meisten Cloud Anbietern vergleichsweise teuer und lohnen sich bei geringen Payloads im Vergleich zu Diensten, die pro GB oder pro Einzelinstanz (wie z.B. eine VM) abgerechnet werden, häufig nicht. 

Darüber hinaus bietet GCP neuerdings zwei Netzwerk-Varianten an. Das standardmäßig aktivierte Premium-Netzwerk, sowie das günstigere Standard-Netzwerk. Das Premium-Netzwerk bietet den Vorteil, dass es internationalen Netzwerkverkehr besonders schnell durch die Google Cloud weiterleitet. Für unseren Service, der zwar viel Netzwerklast verursacht, aber hauptsächlich Requests aus Deutschland bzw. Europa beantwortet, bietet das Premium-Netzwerk keinen Mehrwehrt. 

Durch Verwendung des Standard-Netzwerks können wir ohne Qualitätsverlust zusätzlich Kosten einsparen.
Cloud-Kosten lassen sich bekanntlich nur schwer genau vorhersagen. Nach unserer Schätzung liegen wir mit unserem jetzigen Setup jedoch bei unter einem Zehntel der Kosten, die etwa durch eine Implementierung mittels z.B. Google Cloud Functions (analog zu AWS Lambda) verursacht worden wären.

Fazit und Ausblick

Der Orbidder befindet sich seit Mai 2019 im Livebetrieb und beantwortet aktuell schon mehrere Tausend Requests pro Sekunde, z.B. von t-online.de oder ebay-kleinanzeigen.de. Kontinuierlich kommen mehr Webseiten hinzu.
Um uns technologisch noch besser aufzustellen, planen wir in absehbarer Zeit, unser Orbidder-SSP Backend in ein Service Mesh zu integrieren. Da wir uns aktuell in GKE befinden, ist Istio als das von Google präferierte Service Mesh eine naheliegende Möglichkeit. 

Von dem Einsatz eines Services Mesh versprechen wir uns bessere Möglichkeiten, Abläufe innerhalb unseres Clusters zu beobachten und nachzuvollziehen (Observability), eine bei Bedarf feingranulare Steuerung des Netzwerkverkehrs, eine einfache gegenseitige Verschlüsselung des gesamten Verkehrs innerhalb des Clusters (mTLS), sowie viele weitere Komfortfunktionen, die den Betrieb vereinfachen.

Aktuell arbeiten wir jedoch mit Hochdruck an einer Lösung, die es auch den Partnern von OTTO ermöglichen soll, von den Vorteilen des Orbidders zu profitieren. Daher werden wir den Aufbau des Service Mesh nicht unmittelbar angehen.

0Noch keine Kommentare

Dein Kommentar
Antwort auf:  Direkt auf das Thema antworten
9066 - 2
Geschrieben von
Rainer Volk
Development

Diese Webseite verwendet Cookies. Durch die Nutzung der Webseite stimmen Sie der Verwendung von Cookies zu. Weitere Informationen: Datenschutzinformationen