Products in this case study: 

Eine Million

Bid-Requests pro Sekunde

50%

Preisnachlass auf Infrastruktur

LiquidM ist eine der ersten Self-Service-Demand-Side-Plattformen (DSP) auf dem Markt. Diese Plattform kann von Agenturen, Werbetreibenden und Trading-Desks genutzt werden, um ihre Marketingziele mit der Leistung und Effizienz programmatischer Werbung zu erreichen.
Industries: 
Founded: 
2013
Headquarters: 
Berlin, Deutschland
Size: 
10-50 Mitarbeiter

Inleiding

LiquidM, eine in Berlin ansässige Demand Side Platform (DSP), läuft auf dedizierten Servern und hat keine Container in Produktion. Das Unternehmen verwendet Docker für Entwickler und führt K8 für das Staging ein. LiquidM ist prinzipiell nicht gegen die Cloud-Nutzung und hat sogar einen Anwendungsfall für diese. Doch sie ist kostenintensiv, weshalb LiquidM die Produktion so einfach wie möglich halten möchte. Erfahren Sie mehr über die Erfolgsgeschichte des Kunden und die technische Umsetzung.

Der Kunde

LiquidM hilft Werbetreibenden dabei, ihre programmatischen Werbekampagnen mit granularen Targeting-Einstellungen festzulegen und durchzuführen.

„Meiner Mutter habe ich das einmal so erklärt: Jedes Mal, wenn du eine Anzeige im Internet siehst, kannst du sicher sein, dass sie nach den Grundsätzen einer E-Commerce-Auktion verkauft wurde. Das bedeutet, dass jemand ein Gebot dafür abgibt. Der einzige Unterschied besteht darin, dass das keine Woche dauert, sondern 100 Millisekunden, bis eine Transaktion ausgeführt wird“, erklärt Hagen Rother, Lead Platform Engineer bei LiquidM. „Bei 100 Millisekunden geht man nicht auf die Suche nach den Auktionen, sondern man erhält sie blitzschnell. Wir erhalten etwa eine Million Requests pro Sekunde, wir filtern sie nach allen Kriterien und allen Marktkonzepten heraus und entscheiden dann, ob und wie viel wir für den Kunden bieten.“

Die Herausforderung

Das 100-Millisekunden-SLA von LiquidM ist ein beeindruckender und äußerst effizienter Benchmark, die weitgehend von Funktionalität, schneller Infrastruktur und der Netzanbindung abhängt. Das Realtime-Bidding-(RTB)-Protokoll an sich war schon eine Herausforderung, als LiquidM an den Start ging. Aus folgendem Grund: Nach Erhalt eines Bid-Request, bei dem es sich um HTTP handelt, kann nur mit einem eigenen Gebot geantwortet werden und die Transaktion endet. Ob Sie die Auktion gewonnen wurde und wie viel sie gekostet hat, erfährt man erst zu einem späteren Zeitpunkt. Das Budget anzupassen, Klickbetrug aufzudecken und die Millionen von Mikro-Transaktionen in aussagekräftigen Berichten zusammenzufassen, stellt eine große Herausforderung dar – und hier kommt LiquidM ins Spiel. Aufgrund der Latenzanforderungen wurden die Plattformen von LiquidM auf mehrere Leaseweb-Rechenzentren verteilt. Die Gebote mussten geografisch in der Nähe der Auktionsorte abgegeben werden, da die Zentralisierung das Tempo steigerte und die Berichterstattung erleichterte. Die Netzanbindung musste leistungsstark sein, sonst würde LiquidM möglicherweise für eine Anzeige bezahlen, aber nicht in der Lage sein, einem Kunden etwas in Rechnung zu stellen.

Schlüsselanforderungen

Eine schnelle Netzanbindung ist von entscheidender Bedeutung, und für LiquidM musste die Standardsoftware auf Geschwindigkeit optimiert werden. Rother und sein Team arbeiteten an kundenspezifischen Implementierungen, einschließlich einer In-Memory-Echtzeit-Replikation der PostgreSQL-Datenbank, für Rechenzentren auf der ganzen Welt. Die Datenbank von LiquidM ist ziemlich groß, die Anwendung skaliert nahezu linear mit der Anzahl der CPU-Kerne, und die Anzahl der erforderlichen CPUs übersteigt bei weitem jede vorhandene Hardware. Dies ist ein klarer Anwendungsfall, um die Implementierung auf dedizierten Servern zu halten.

Die Lösung: Dedizierte Server als Cloud

Cloud wird im Allgemeinen mit einfacher Konfigurierbarkeit und Flexibilität in Verbindung gebracht. LiquidM sorgte dafür, dass dedizierte Server mit ihrer Cloud-ähnlichen Automatisierung auf die gleiche Weise funktionieren. Rother erklärt, sie hätten den Luxus, vorhersagen zu können, wie viel und welche Art von Datenverkehr ihre Kunden wünschen. Diese beiden Parameter ermöglichen LiquidM eine geringe Reaktionszeit und die Anpassung ihrer Hardware-Anforderungen. Sie können den Umfang des eingehenden Datenverkehrs vorhersagen und entscheiden, welche zusätzlichen Maschinen bei Leaseweb bestellt werden sollen. Anschließend können sie die Auslieferung der Maschinen automatisieren und sie so auslasten, dass die gewünschte Latenzzeit und das gewünschte Leistungsniveau erreicht werden. In Zusammenarbeit mit Leaseweb beträgt die Zeit von der Bestellung bis zur Produktion nur noch 48 Stunden. „Ich denke, das ist eine ziemlich gute Erfolgsbilanz. Und unser Bootstrapping ist vollständig skriptbasiert“, sagt Rother.

Der Prozess

LiquidM baute eine Infrastruktur, um dedizierte Server wie virtuelle Server zu behandeln (Cattle vs. Pet). Das funktioniert laut Rother folgendermaßen:

  1. LiquidM bestellt bestimmte Hardware bei Leaseweb und gibt den CPU-, RAM- und Laufwerkstyp sowie die Netzwerkverbindung an. In weniger als 48 Stunden integriert Leaseweb die Hardware in ein Rack und stellt sie LiquidM zur Verfügung.
  2. Als Nächstes initialisiert Rother ein Skript, um alle seine ISPs zu scrapen und aus den Informationen in der API automatisch einen Namen für die Maschine zu generieren, sodass sie sich im System von LiquidM registriert.
  3. Rother kann jede dieser Maschinen mit einem Einzeiler skripten und neu installieren, um über einen Rescue Boot ein Speicherabbild des Leaseweb network zu booten.
  4. Die DSL nimmt dann das von ihm ausgewählte Abbild, legt es auf dem dedizierten Server ab und startet die Maschine neu, um sie zu booten. Sie übernimmt auch die Registrierung in der Überwachungsinfrastruktur von LiquidM und setzt den richtigen Code ein, um zu entscheiden, ob das Image bereits vorinstalliert ist oder ob ein Installationstool erforderlich ist, um ein generisches Image zu nehmen und etwas Spezifisches darauf zu setzen.

Der obige Prozess ist auf eine einzige Zeile reduziert, sodass jede Maschine mit einem einzigen Befehl neu installiert werden kann. LiquidM nutzt außerdem das Rescue-System von Leaseweb.

"Ihr seid nicht unser einziger ISP und definitiv nicht unser erster ISP, aber es sieht so aus, als wärt Ihr unser letzter ISP. Ich hoffe, Ihr haltet diese Erfolgsbilanz aufrecht.”

Hagen Rother, Lead Architect/Head of IT, LiquidM

Quorum und Anforderungen an die Entfernung

Um mit den Latenzanforderungen Schritt zu halten, ist LiquidM derzeit auf drei Rechenzentren in Amsterdam verteilt: ein (nach Latenz ausgewählter) ISP ist mit den beiden Rechenzentren von Leaseweb (AMS-01 und AMS-02) verbunden. Beim Distributed Computing ist ein Quorum erforderlich (zwei oder drei bzw. drei oder fünf Maschinen). „Bei drei Maschinen kann eine ausfallen, und Sie haben immer noch eine verteilte Entscheidungsfindung. Bei fünf Maschinen können zwei Maschinen ausfallen, und Sie haben für die anderen drei immer noch eine verteilte Entscheidungsfindung“, erklärt Rother. Alles läuft weiter und selbst wenn ein Rechenzentrum ausfällt, würde es in der Produktion nicht auffallen. „Wir haben uns in Amsterdam einen zusätzlichen ISP ausgesucht, der wirklich gut mit Leaseweb verbunden ist, und wir haben dort eine einzige Maschine aufgestellt, die nichts anderes zu tun hat, als Split-Brain-Situationen zu vermeiden.“

Darüber hinaus gibt es auch eine Anforderung an die Entfernung: Die Maschinen sollten nicht mehr als 80 Kilometer voneinander entfernt sein. „Selbst bei 80 Kilometern kann man bei unseren hohen Latenzanforderungen immer noch gewisse Verzögerungen feststellen. Daher müssen die Rechenzentren wirklich nahe beieinander liegen.“

In den Rechenzentren verfügt LiquidM über komplementäre (symmetrische) Kopien derselben Software, und ihre Bestellungen bei Leaseweb werden in zwei aufgeteilt, wobei die eine Hälfte der Maschinen in AMS-01 und die andere Hälfte in AMS-02 bereitgestellt wird. Der eigentliche Dateninhalt ist gescriptet, und die Maschinen selbst sind zustandslos und können jederzeit hinzugefügt oder entfernt werden.

Server-Auswahlkriterien

Für LiquidM ist es wichtig, dass die Maschinen gut miteinander verbunden sind. Doch bei bestimmten Modellen haben sich die Auswahlkriterien im Laufe der Zeit weiterentwickelt. Während anfangs ein günstiger Preis im Vordergrund stand, legte das Team schließlich mehr Wert auf ein gutes Preis-Leistungs-Verhältnis. Mit Leaseweb entwickelte sich die Beziehung so weit, dass ein Kundenbetreuer Rother neue Hardware zum Testen anbot, damit er entscheiden konnte, ob Leistung und Preis seinen Vorstellungen entsprechen.

„Ich hatte großes Glück, dass Leaseweb mir die neuen AMD-Rechner zum Testen anbot. Diese sind so erstaunlich gut, dass es mir tatsächlich gelungen ist, 52 große Rechner durch 10 harmonisch große 96 vCore AMD-Rechner zu ersetzen. Und in dieser Größenordnung, fünf zu eins, spielt es eigentlich keine Rolle, wie viel die neuen Maschinen kosten. Für uns war das eine Preissenkung von 50 %, und unsere Gesamtsystemleistung ist sogar gestiegen. Die Möglichkeit, Kosten zu senken und die Flexibilität, die mir Leaseweb bietet, weiß ich zu schätzen“, sagt Rother. „Ich wurde bei der Reduzierung der Kosten, wo immer möglich, voll und ganz von Leaseweb unterstützt, und wenn man sich die Abrechnungspreise ansieht, sind sie alle erheblich gesunken.“

LiquidM hat davon profitiert, dass es sich um einen dedizierten Servershop handelt, der auf Standard-Hardware sensibel reagiert und schnell arbeitet - und das alles zu einem wettbewerbsfähigen Preis. Was die verfügbare Technologie betrifft, so ist die Diskussion über neue Server ein heißes Thema. „Heute kann ich alle meine Sachen innerhalb eines Tages verlagern, den halben Preis bezahlen und bessere Leistungen erzielen“, bestätigt Rother. Er gibt auch zu, dass er nicht mehr auf die einzelnen Hardware-Elemente für bestimmte Komponenten achtet, sondern vielmehr darauf, wie viel es kostet, seinen Betrieb am Laufen zu halten. Er fand es großartig, dass er die Maschinen ausprobieren und testen konnte und er hätte nicht das vollständige Bild erhalten, wenn die Hardware virtualisiert vor ihm verborgen gewesen wäre.

Das Ergebnis

LiquidM hat ein hohes Maß an intelligenter Automatisierung durchgeführt und dabei von der dedizierten Serverlösung profitiert. Wenn Sie sich für dedizierte Server interessieren, lesen Sie die Drei Tipps für diejenigen, die eine automatisierte dedizierte Server-Lösung in Betracht ziehen. Hagen Rother ist mit den dedizierten Servern und der Produktion sehr zufrieden, und er sieht den Nutzen von Docker und Kubernetes für Entwickler und Staging-Umgebungen. Für diejenigen, die sich für das Tool interessieren, das LiquidM zur Verwaltung der Hardware mit Leaseweb entwickelt hat: Es ist open-source und auf GitHub verfügbar.

Über Hagen Rother

Hagen Rother ist Lead Architect und Head of IT bei LiquidM. Während seiner gesamten Karriere hat Hagen daran gearbeitet, Entwicklern zu ermöglichen, sich auf Geschäftsanforderungen zu konzentrieren, indem er ihnen die erforderlichen Werkzeuge und Plattformen in allen Größenordnungen zur Verfügung stellt – von Smartphone bis Enterprise. Seine Spezialität ist das Refactoring bestehender Plattformen in der Produktion.