Products in this case study: 

Eén miljoen

biedingsaanvragen per seconde

50%

besparing op de infrastructuur

LiquidM is een van de eerste self-service Demand Side Platforms (DSP's) op de markt. Met het platform van LiquidM kunnen bureaus, adverteerders en handelsdesks hun marketingdoelstellingen behalen, dankzij de kracht en efficiëntie van programmatische reclame.
Industries: 
Founded: 
2013
Headquarters: 
Berlijn, Duitsland
Size: 
10-50 medewerkers

Inleiding

LiquidM, een Demand Side Platform (DSP) uit Berlijn, draait op dedicated servers en heeft geen containers in productie. Ze gebruiken Docker voor developers en introduceren K8 voor staging. LiquidM is niet principieel tegen de cloud en hebben er zelfs een use case voor, maar het is kostbaar en daarom willen ze de productie zo eenvoudig mogelijk houden. Ontdek hoe LiquidM zijn infrastructuur benadert in dit technische succesverhaal van de klant.

De klant

LiquidM helpt adverteerders bij het opzetten en uitvoeren van hun programmatische reclamecampagnes met gedetailleerde targeting. Hagen Rother, Lead Architect en Head of IT, legt het principe uit: “Dit is hoe ik mijn moeder vertel wat voor werk ik doe: elke keer dat je online een reclame ziet, kun je ervan uitgaan dat deze advertentieruimte is verkocht volgens de principes van een e-commerce-veiling. Dit betekent dat iemand biedt op die specifieke advertentieruimte. Het enige verschil is dat het geen week duurt voordat een transactie rond is, maar slechts 100 milliseconden. In 100 milliseconden ga je niet op zoek naar mogelijke veilingen – je krijgt ze gepusht. We ontvangen ongeveer één miljoen aanvragen per seconde. Die filteren we op basis van alle criteria en alle marktconcepten, en vervolgens beslissen we of we bieden voor de klant, en zo ja, hoeveel.”

De uitdaging

De SLA van 100 milliseconden van LiquidM is een indrukwekkende en extreem efficiënte benchmark, die grotendeels afhangt van functionaliteit, snelle infrastructuur en goede verbindingen. Toen LiquidM begon was het real-time biedprotocol (RTB) een uitdaging op zich: je krijgt een biedverzoek en aangezien het HTTP is, kun je alleen antwoorden met je bod – en dan is de transactie direct voorbij. Je komt er pas veel later achter of je de veiling hebt gewonnen en hoeveel je uiteindelijk moet betalen. Het uitspreiden van de begroting, het opsporen van klikfraude en het samenvoegen van de miljoenen microtransacties tot zinvolle rapporten is een forse uitdaging. En dat is precies wat LiquidM zijn klanten als service biedt.

Vanwege de hoge latency-vereisten verdeelde LiquidM zijn platforms over meerdere Leaseweb-datacenters. Het biedproces moest geografisch gezien dicht bij de veilingsites liggen, omdat de centralisatie de spreiding en de rapportering gemakkelijker maakte. En de verbinding moest sterk zijn, omdat LiquidM anders mogelijk kon betalen voor advertenties, zonder deze bij een klant in rekening te kunnen brengen.

Belangrijkste eisen

Snelle connectiviteit is cruciaal en voor LiquidM moest hun standaardsoftware geoptimaliseerd worden voor snelheid. Rother en zijn team werkten aan aangepaste implementaties met een in-memory real-time replicatie van de PostgreSQL-database naar datacenters over de hele wereld. De database van LiquidM is vrij groot, de applicatie schaalt bijna lineair met het aantal CPU-cores, en het aantal benodigde CPU's is veel groter dan wat bestaande hardware te bieden heeft. Dit is een duidelijke use case om de implementatie op dedicated servers te laten draaien.

De oplossing: Dedicated servers als Cloud

Cloud-technologie wordt over het algemeen geassocieerd met eenvoudige configuratie en flexibiliteit. Met een cloud-achtige automatisering wist LiquidM deze voordelen ook met dedicated servers te behalen. Rother legt uit dat ze een luxe positie hebben: ze kunnen voorspellen hoeveel verkeer en wat voor verkeer hun klanten willen. Deze twee parameters zorgen ervoor dat LiquidM snel kan reageren en hun hardwarebehoefte kan aanpassen. Ze kunnen de hoeveelheid binnenkomend verkeer inschatten en besluiten om extra machines te bestellen bij Leaseweb. En vervolgens kunnen ze de levering hiervan automatiseren en ze voldoende vullen om de gewenste latency en performance te bereiken. In samenwerking met Leaseweb is de tijd van bestelling tot productie teruggebracht tot 48 uur. Rother: “Ik denk dat dat een behoorlijk goede track record is. En onze bootstrapping is compleet gescript.”

Het proces

LiquidM heeft een infrastructuur gebouwd om dedicated servers te kunnen behandelen als virtueel. Rother legt uit hoe het werkt:

  1. LiquidM bestelt bepaalde hardware bij Leaseweb, met het type CPU, RAM, schijftype en netwerkverbinding. Binnen 48 uur zet Leaseweb de hardware in een rack in en is alles klaar voor gebruik door LiquidM.
  2. Vervolgens voert Rother een script uit bij al zijn providers om automatisch een naam voor de machine te genereren op basis van de informatie in de API – zodat de machine zichzelf registreert in het systeem van LiquidM.
  3. Rother kan elke machine met een one-liner scripten en opnieuw installeren om een reboot voor herstel aan te vragen en een kleine image van het Leaseweb network te booten.
  4. Rother heeft een DSL om de indeling van de partities te beschrijven die hij wil hebben van de hardware, die specifiek is voor die dedicated server of voor de rol van de dedicated server.
  5. De DSL neemt vervolgens de afbeelding die hij heeft geselecteerd, plaatst deze op de speciale server en start de machine opnieuw om de afbeelding op te starten. De DSL zorgt ook voor het registreren bij de bewakingsinfrastructuur van LiquidM en zet er de juiste code op om te beslissen of de afbeelding al vooraf is geïnstalleerd, of dat er een installatietool nodig is om een generieke afbeelding te maken en er iets specifieks op te plaatsen.

Het complete bovenstaande proces is samengevat in één enkele regel, waardoor elke machine met één opdracht opnieuw kan worden geïnstalleerd. LiquidM maakt ook gebruik van het herstelsysteem van Leaseweb.

"Jullie zijn niet onze enige provider en jullie waren ook niet onze eerste provider, maar het ziet er wel naar uit dat jullie de laatste zullen zijn. Ik hoop dat jullie die staat van dienst kunnen blijven waarmaken.”

Hagen Rother,Lead Architect en Hoofd IT, LiquidM

Quorum- en afstandsvereisten

Voor de vereiste latency werkt LiquidM momenteel met drie datacenters in Amsterdam: één ISP (geselecteerd op latency) en de twee datacenters van Leaseweb (AMS-01 AMS-02). Distributed computing vraagt altijd om een quorum – twee of drie, of drie of vijf machines. Rother: “Als je drie machines hebt, kun je er één verliezen en kun je nog steeds verdeelde overeenkomst houden. En met vijf machines kun je er twee verliezen, waarna er nog drie overige machines gecoördineerd verder draaien.” Alles blijft draaien en zelfs als er een DC uitvalt, zal dat niet merkbaar zijn in de productie. “We hebben een extra ISP in Amsterdam uitgekozen die mooi is aangesloten op Leaseweb en we hebben daar een enkele machine neergezet die er uitsluitend voor is om split-brains te voorkomen.”

Ook de ligging is een overweging: de afstand tussen de betrokken machines mag niet meer dan 80 kilometer zijn. “Zelfs met 80 kilometer merk je bij onze latencyvereisten al hoe lang het licht erover doet. De DC's moeten dus echt dicht bij elkaar staan.”

In de DC's heeft LiquidM gratis (symmetrische) kopieën van dezelfde software en hun bestellingen bij Leaseweb zijn in tweeën gesplitst, met de helft van de machines in AMS-01 en de andere helft in AMS-02. De daadwerkelijke gegevenscontent is gescript en de machines zelf zijn stateless en kunnen op ieder moment worden toegevoegd of verwijderd.

Criteria voor de serverselectie

Voor LiquidM zijn machines met goede verbindingen essentieel. Voor bepaalde modellen hebben ze hun selectiecriteria echter in de loop van de tijd bijgeschaafd. Waar ze in eerste instantie vooral naar een lage prijs kijken, heeft het team inmiddels een beter inzicht in de prijs-kwaliteitverhouding. Met Leaseweb is de relatie zo ver ontwikkeld dat een accountmanager Rother nieuwe hardware aanbood, om te testen of de performance en het prijspunt voor hem geschikt waren.

Rother: “Ik had geluk: Leaseweb bood aan om de nieuwe AMD-machines te testen. Die zijn zo verbazingwekkend goed dat ik hiermee daadwerkelijk 52 grote machines kon vervangen door 10 harmonisch grote 96 vCore AMD-machines. En op die schaal, vijf tegen één, maakt het niet meer echt uit hoeveel de nieuwe machines kosten. Dat was een besparing van 50%, en onze algehele systeemprestaties gingen zelfs omhoog. Ik waardeer de mogelijkheid om kosten te besparen en de flexibiliteit die Leaseweb me geeft.” Tevreden: “Leaseweb heeft me op alle punten geholpen om de kosten te verlagen, en als je kijkt naar de facturen die we uiteindelijk krijgen, zijn ze allemaal aanzienlijk gedaald.”

LiquidM heeft geprofiteerd van zijn keus voor dedicated servers, met een blijvend oog voor commodity-hardware en snelle prestaties – en dat alles tegen een concurrerende prijs. Als het gaat om de beschikbare technologie, zijn nieuwe servers een geliefd gespreksonderwerp. “Ik kan tegenwoordig al mijn materiaal binnen een dag verplaatsen, de helft van de prijs betalen en betere performance krijgen,” bevestigt Rother. Hij geeft ook toe dat hij niet langer kijkt naar individuele hardware voor specifieke onderdelen, maar dat hij kijkt naar het totaalplaatje: de algehele kosten om zijn operaties betrouwbaar te laten draaien. En hij waardeert het dat hij de machines kon uitproberen – met alleen virtualisering zou geen volledig beeld hebben gekregen van de hardware.

Het resultaat

LiquidM heeft veel slimme automatiseringen toegepast en heeft daarbij geprofiteerd van hun dedicated server-oplossing. Als u geïnteresseerd bent om met dedicated servers te werken, bekijk dan hun Drie tips voor professionals die een geautomatiseerde dedicated server-oplossing overwegen beschikbaar op GitHub.

Over Hagen Rother

Hagen Rother werkt als Lead Architect en Head of IT bij LiquidM. Hagen werkt er al zijn hele carrière aan om ontwikkelaars in staat te stellen zich te richten op de zakelijke behoeften, door hen de tools en platformen te leveren die ze nodig hebben op elke schaal – van een enkele smartphone tot een internationaal bedrijf. Zijn specialiteit is refactoring van bestaande platformen in de productie.