Obwohl wir nun viele kleinere Amazon EC2 Instanzen nutzen, bewältigen wir mehr Datenverkehr und haben unsere EC2 Kosten um über 70% gesenkt.
Amir Friedman Director of Engineering, PubNative

Durch die Migration zu einer Microservices-Architektur auf AWS konnte PubNative die Kosten senken, die Skalierbarkeit verbessern und Antwortzeiten erhöhen. Das Unternehmen bietet Publishern von Handy-Apps und Websites eine Plattform, über die sie ihre native Werbefläche verkaufen können. PubNative nutzt Docker Container mit AWS Elastic Beanstalk und weiteren AWS-Technologien, wie Amazon EC2, Amazon RDS und Amazon ElastiCache.

Die PubNative GmbH wurde 2014 gegründet und beschäftig mehr als 50 Mitarbeiter/innen auf drei Kontinenten. Das Unternehmen dient als Plattform, die Mobile Publishern die Möglichkeit gibt, ihre Apps und Websites bequem mit nativen Werbeelementen zu ergänzen. Unter nativer Werbung versteht man Werbeinhalte, die der Anzeigeumgebung in Form und Funktion entsprechen, sodass der Eindruck entsteht, sie sei Teil der Website oder werde vom Verleger – anstatt einem externen Werbetreibenden – bereitgestellt. Beispiele hierfür sind beworbene Social Media-Beiträge oder Empfehlungen in einer App. PubNatives Ziel ist das Kundenerlebnis mithilfe von Alternativen zu verbessern, da bestimmte Elemente – wie beispielsweise Werbebanner – speziell auf Mobilgeräten nicht richtig wirken.

PubNative ist eine Plattform für Angebotsseiten. Dies bedeutet, dass es sich bei der Klientel des Startups um Publisher handelt, die Werbeflächen bereitstellen. Sobald ein Nutzer eine Seite oder App mit einer leeren Fläche lädt, wird sie zu PubNatives Plattform vermittelt, die sich wiederum mit Demand Side-Plattformen verbindet. So wird der beste Preis ermittelt, den ein Werbender für die Platzierung einer Werbebotschaft auf der Leerfläche zahlen würde. Dieser Prozess wird auch Real Time Bidding (RTB) genannt. Da das Gebot beim Laden der Seite abgegeben wird, müssen Antwortzeiten so kurz wie möglich sein, um für das beste Kundenerlebnis zu sorgen.
Das rasante Wachstum ist eine weitere Herausforderung für das Unternehmen, dessen Umsatz gegenüber dem Vorjahreszeitraum um mehr als den Faktor 10 ansteigt und einen monatlichen Kundenzuwachs von fast 10 Prozent erzielt.
„Wir müssen schnell liefern können“, erklärt Amir Friedman, Director of Engineering bei der PubNative GmbH. „Wenn wir einen neuen Kunden mit hohem Datenaufkommen annehmen, dann wollen wir ihn rasch integrieren. Von uns wird erwartet, dass die Systeme funktionieren, also können wir uns keine Verzögerungen leisten, indem wir erst Hardware bestellen und aufsetzten müssen.“

PubNative wollte die Plattform von Anfang an wegen der Skalierbarkeit und der schnellen Reaktionsgeschwindigkeit und Implementierung auf Amazon Web Services (AWS) aufbauen. „Unsere eigenen Server zu kaufen, passt einfach nicht zu unserem Geschäftsmodell“, erläutert Amir Friedman. „Mit AWS können wir automatisch anhand der Nutzungsdaten skalieren.“
Eine frühere Version der Plattform nutze Ruby on Rails, ein Framework, das mittels Amazon OpsWorks und grosser Amazon Elastic Compute Cloud (Amazon EC2) Instanzen bereitgestellt wurde. „Aber wir wollten die Performance verbessern und gleichzeitig die Anzahl der von uns verwendeten Instanzen reduzieren“, so Amir Friedman. Demzufolge begannen er und sein Team damit, die Plattform mit Go umzuschreiben, wobei Docker und AWS Elastic Beanstalk eingesetzt werden. Klicks werden mittels Amazon DynamoDB aufgezeichnet. Daten werden mithilfe des Amazon Simple Storage Service (Amazon S3) gelagert und temporär mit dem Amazon Simple Queue Service (Amazon SQS) gespeichert, falls das Cluster ausfallen sollte. Zudem befindet sich der Amazon Relational Database Service (Amazon RDS) für MySQL mit Amazon Elasticache im Einsatz.

PubNative konnte Kosten reduzieren, Reaktionszeiten verkürzen und die Dienste durch eine Neugestaltung der AWS-Umgebung skalierbarer machen. „Es war naheliegend, uns für AWS Elastic Beanstalk zu entscheiden“, so Amir Friedman. „Obwohl wir nun viele kleinere Amazon EC2 Instanzen nutzen, bewältigen wir mehr Datenverkehr und haben unsere EC2 Kosten um über 70% gesenkt.“
Die Latenzzeiten—die gerade bei Real Time Versteigerungsplattformen so extrem wichtig sind—sind drastisch gesunken: Von rund 60 Millisekunden auf nur 5 Millisekunden. Amir Friedman: „Die Performance und schnelle Reaktionszeiten bilden die Basis unseres Unterfangens. Wir müssen in der Lage sein, komplette Transaktionen in weniger als 100 Millisekunden abzuschließen, was unsere Kommunikation mit den Demand-Side-Plattformen beinhaltet. Die Programmierer der Apps erwarten, dass die Werbung die Benutzererfahrung nicht beeinträchtigt und die Nutzer wollten nicht warten bis die Werbung lädt. Also betreiben wir nicht nur den Ad-Server in einem Docker-Container, sondern setzten zudem auch einen Cache-Layer auf der Instanz auf. Mit anderen Worten: Sollte der Server aus irgendwelchen Gründen nicht richtig funktionieren, bleibt die Werbefläche trotzdem nicht leer.“
PubNative kann sich zudem sicher sein, dass die Plattform stets mit dem weltweiten Kundenstamm mitwachsen wird. Aktuell wird die AWS-Infrastruktur im Osten der USA (Nord Virginia) und im asiatisch-pazifischen Raum (Singapur) betrieben. „Zudem können wir unsere Infrastruktur in weniger als einem Tag in einer neuen Verfügbarkeitszone aufsetzen, was notwendig wäre, wenn wir beispielsweise einen neuen Kunden in Brasilien oder Australien hätten“, so Amir Friedman.
Amir Friedman ist davon überzeugt, dass sein Team in der Cloud auch künftig das Wachstum bewältigen und den Service der PubNative-Plattform verbessern kann: „AWS bietet ein riesiges Ökosystem an Diensten wie kaum ein anderer Cloud-Anbieter. Wir wissen, dass wir die richtige Wahl getroffen haben.“

To learn more about how AWS can help run your website, visit our websites details page: aws.amazon.com/websites.
Besuchen Sie unsere Detailseite aws.amazon.com/websites, um mehr zu erfahren, wie AWS Sie beim Betrieb Ihrer Website unterstützen kann.