Load Balancing für Milliarden Ad Impressions AWS Elastic Load Balancer raus - Nginx Plus rein
Deepintent ist ein auf den Gesundheits- und Pharmasektor fokussierter Anbieter von KI-gesteuertem Programmatic Advertising. Das Unternehmen liefert eine enorm hohe Anzahl an Anzeigen. Das Unternehmen nutzt „Nginx Plus“, um Kosten und Latenzzeiten bei der Auslieferung mehreren Millionen Anzeigen deutlich zu reduzieren.
Anbieter zum Thema

Deepintent bietet so genannte Demand-Side-Plattform-Services (DSP), die es Gesundheitsvermarktern ermöglichen, Gesundheitsdienstleister und Patienten über digitale Touchpoints zu erreichen. Die DSP-Dienste verwalten skalierbar Hunderttausende von Anfragen pro Sekunde.
Die Adserving-Plattform von Deepintent ist so konzipiert, dass sie täglich Milliarden von zielgerichteten Ad Impressions liefern kann. Das Unternehmen setzte ursprünglich auf den „Elastic Load Balancer“ (ELB) von Amazon Web Services (AWS), um seine Services bereitzustellen. Irgendwann stiegen die Kosten für deren Bereitstellung auf einen nicht mehr vertretbaren Betrag: mehr als 20.000 Dollar an monatlichen Gebühren allein für „ELB plus“ und ohne die Kosten für die eingehende und ausgehende Bandbreite.
Deepintent musste also die Kosten reduzieren, aber dabei weiterhin sicherstellen, dass es weiterhin Hunderttausende von Anzeigenanfragen pro Sekunde bei niedriger Latenzzeit liefern kann. Dabei ist das Load Balancing das Schlüsselelement. Ergänzend waren die allgemeine Netzwerksichtbarkeit sowie eindeutige und verfolgbare Kennzahlen ebenso für die Optimierung der Leistung entscheidend.
Die Herausforderungen
Außerdem musste der Experte für Programmatic Advertising weiterhin das gleiche Volumen an Verbindungen verarbeiten und alle Verbindungsanfragen aufrechterhalten. Auch die Fähigkeit, Instanzen durch AWS-Auto-Scaling-Gruppen schnell hinzuzufügen und zu entfernen, war ebenso eine wesentliche Betriebserfordernis.
Außerdem: Da das technische Team von Deepintent zuvor die Open-Source-Software von Nginxs verwendet hatte, sollte jeder Ersatz ebenso einfach zu konfigurieren und zu optimieren sein.
Als Alternativen zu AWS ELB, evaluierte das Tech-Team von Deepintent zunächst „HAProxy“ und seine kostenpflichtige Versionen. Im Vergleich lag Nginx Plus bei der Evaluation vorne und wurde implementiert. Als Gründe wurden genannt, dass die Konfiguration einfacher war und die Nginx-Software mehr unternehmensrelevante Funktionen bot, zum Beispiel aktive Health Checks.
Diese sind ein nun wesentlicher Bestandteil des Ganzen, da Deepintent eine große AWS-Installation betreibt. Sie setzt sich aus je einem Paar an Nginx-Plus-Servern pro Schlüsselregion (Asien, USA und Europa) zusammen. Jeder dieser Server leitet den Datenverkehr an 200 bis 400 spezifische Services weiter.
Die Implementierung
Das Nginx-Support-Team half zudem bei kleinen Änderungen der Konfiguration, um sicherzustellen, dass der IP-Adressraum zur Verfügung stand und die Systemressourcen ausreichend waren, um bis zu 700.000 aktive Verbindungen pro Box zu gewährleisten. Nach einer reibungslosen Implementierung verwendet Deepintent Nginx Plus für:
- Load Balancing
- SSL-Terminierung
- Aktive Health Checks
- API-Gateway zu Apps, die in AWS gehostet werden
Das Auto Sacling trägt nun zur Kostenreduzierung bei, indem die Anzahl der Instanzen an die aktuelle Arbeitsbelastung angepasst werden. Nun kann Deepintent Upstream-Server dynamisch hinzuzufügen und entfernen. Nach Aussage des Herstellers ist das eine der Besonderheiten von Nginx Plus.
Um ein optimales Setup zu gewährleisten, hat das Deep-Intent-Team zudem ein Template-Projekt aus dem „AWS Quick Start“ für Nginx Plus eingerichtet. Dazu kommt zur Verbesserung der Transparenz und des Monitoring eine benutzerdefinierte Integration, die Deepintent mit „AWS Cloudwatch" erstellt hat. Als technisch unkomplizierte Integration, liefert das neue Setup Warnmeldungen und stellt sicher, dass Metriken problemlos in Cloudwatch exportiert werden können.
Weitere Funktionen
Deepintent profitiert auch von der „Slow-Start“-Funktion, wenn neue und wiederhergestellte Server in die Lastausgleichsgruppe aufgenommen werden. Nun ist das Unternehmen in der Lage, eine viel größere Vielfalt von Problemen zu erkennen und zu umgehen sowie die Zuverlässigkeit von HTTP- und TCP/UDP-Applikationen deutlich zu verbessern.
Rickey Visinski, Senior Software Engineer bei DeepIntent, äußert: „In Nginx Plus ist es nicht kompliziert, etwas zu konfigurieren und zu implementieren. So konnten wir uns darauf konzentrieren, den Prozess so optimal wie möglich zu gestalten."
Die Ergebnisse
Das primäre Kostenproblem, das Deepintent zu lösen versuchte, wurde selbst bei stark ansteigendem Netzwerkverkehr gemildert: Der Kostenaufwand von über 20.000 Dollar pro Monat ließ sich auf monatlich 500 Dollar reduzieren, als, um das 40-fache.
Visinski ist zufrieden: „Im Großen und Ganzen bietet Nginx Plus sowohl eine geringere Latenzzeit als ELB und ist kostengünstiger, so dass es zu unserer 2in1-Lösung geworden ist“ und das trotz steigendem Datenverkehr.
Seit der ersten Implementierung ist der Traffic von 100.000 Anfragen pro Sekunde auf 500.000 gestiegen und wächst stets weiter. Visinski erläutert „Netzwerkstabilität war einer der Schlüsselfaktoren, damit wir uns weiter in Richtung unseres zweiten Ziels, von einer Million Anfragen pro Sekunde, bewegen können. Wir wachsen konstant, verkaufen mehr Anzeigen und erhalten im Gegenzug mehr Anzeigenanfragen.“
(ID:46025733)