Produits couverts par cette étude : 
LiquidM est l’une des premières Demand Side Platform (DSP, plateforme côté demande) en libre-service sur le marché. Elle permet aux agences, aux annonceurs et aux comptoirs de négociation d’atteindre leurs objectifs marketing en utilisant la puissance et l’efficacité de la publicité programmatique.
Secteurs : 
Créée en : 
2013
Siège : 
Berlin, Allemagne
Taille : 
10 à 50 employés

Présentation

LiquidM, une Demand Side Platform (DSP) basée à Berlin, fonctionne sur des serveurs dédiés et n’a pas de conteneurs en production. Elle utilise les outils de développement Docker et K8 pour la pré-production. Cette entreprise n’a rien contre le cloud et l’utilise même à certains moments, mais le service est onéreux et elle souhaite préserver la simplicité de la production. Découvrez comment elle y parvient dans ce témoignage de réussite technique d’un client.

Le client

LiquidM aide les annonceurs à définir et à exécuter leurs campagnes de publicité programmatique avec des paramètres de ciblage granulaires.

« Voici comment j’explique à ma mère ce que nous faisons : pour résumer, à chaque fois que vous voyez une annonce sur le web, vous pouvez être sûr qu’elle a été vendue selon les principes d’une vente aux enchères en ligne. Cela signifie que quelqu’un a fait une offre. La seule différence c’est que l’exécution d’une transaction prend 100 millisecondes au lieu d’une semaine », explique Hagen Rother, ingénieur en chef de la plateforme chez LiquidM. « À 100 millisecondes, vous n’allez pas chercher les enchères, vous les poussez. Nous recevons environ un million de demandes par seconde. Nous les filtrons en fonction de tous les critères et de tous les concepts du marché, puis nous décidons si nous faisons une offre pour le client, et à combien elle s’élève. »

Le problème

L’accord de niveau de service (SLA) de LiquidM millisecondes de 100 est une référence impressionnante et extrêmement efficace, qui dépend largement de la fonctionnalité, de la rapidité de l’infrastructure et de la connectivité. Le protocole d’enchère en temps réel (RTB) a représenté un défi en soi aux débuts de LiquidM, et pour cause : vous recevez une demande d’offre et, comme il s’agit d’un protocole HTTP, vous ne pouvez répondre qu’avec votre offre et la transaction se termine. Vous ne saurez que bien plus tard si vous avez remporté l’enchère et combien vous devez payer. La gestion des budgets, la détection de la fraude au clic et l’agrégation des millions de micro-transactions dans des rapports pertinents constituent un problème difficile - que LiquidM résout avec un service.

En raison des exigences de latence, les plateformes de LiquidM ont été réparties entre plusieurs datacenter de Leaseweb. Les offres devaient être réalisées à proximité des sites d’enchères, car la centralisation facilitait le rythme et les rapports. La connectivité devait également être solide, ou LiquidM aurait potentiellement pu payer pour une publicité mais ne pas être en mesure de facturer un client.

Principales exigences

Une connectivité rapide est cruciale, et LiquidM devait donc optimiser la vitesse de son logiciel standard. Hagen Rother et son équipe ont travaillé sur des implémentations personnalisées, notamment une réplication en temps réel en mémoire de la base de données PostgreSQL vers des datacenter du monde entier. La base de données de LiquidM est assez importante, l’application évolue de façon presque linéaire avec le nombre de cœurs de processeurs, et le nombre de processeurs requis dépasse de loin tout matériel existant. Il s’agit d’un cas d’utilisation clair de maintien de la mise en œuvre sur des serveurs dédiés.

La solution : des serveurs dédiés en tant que cloud

Le cloud est généralement associé à la facilité de configuration et la flexibilité. LiquidM a fait en sorte que les serveurs dédiés fonctionnent de la même manière grâce à son automatisation de type cloud. Hagen Rother explique que son équipe a le luxe de pouvoir prédire le volume et le type de trafic souhaité par ses clients. Ces deux paramètres permettent à LiquidM d’offrir un faible temps de réponse et d’ajuster ses besoins de matériel. La société peut prédire la quantité de trafic entrant et décider des machines supplémentaires à commander auprès de Leaseweb, puis automatiser la livraison des machines et les remplir suffisamment pour atteindre le niveau de latence et de performance souhaité. Grâce à sa collaboration avec Leaseweb, le délai entre la commande et la production a été réduit à 48 heures. « Je pense que c’est un très bon bilan. Et notre démarrage est entièrement scripté », ajoute Hagen Rother.

Le processus

LiquidM a construit une infrastructure pour traiter les serveurs dédiés comme s’ils étaient virtuels (bétail vs animal de compagnie). Plus précisément :

  1. LiquidM commande du matériel spécifique auprès de Leaseweb et spécifie le type de CPU, la mémoire RAM, le type de disque et la connexion réseau. En moins de 48 heures, Leaseweb intègre le matériel dans un rack et le met à disposition de LiquidM.
  2. Hagen Rother initialise ensuite un script pour récupérer tous ses FAI afin de générer automatiquement un nom pour la machine à partir des informations contenues dans l’API - ce qui signifie qu’elle s’enregistre auprès du système de LiquidM.
  3. Hagen Rother peut créer un script et réinstaller n’importe laquelle de ces machines avec une seule ligne pour demander un démarrage de secours et démarrer une petite image à partir du réseau Leaseweb.
  4. Hagen Rother dispose d’un DSL pour décrire la disposition des partitions qu’il souhaite obtenir du matériel, spécifique à ce serveur dédié ou au rôle du serveur dédié.
  5. Le DSL prend ensuite l’image qu’il a sélectionnée, la place sur le serveur dédié et redémarre la machine pour l’amorcer. Il se charge également de l’enregistrer auprès de l’infrastructure de surveillance de LiquidM ainsi que d’y apposer le bon code, afin de décider si l’image est déjà préinstallée ou si elle nécessite un outil d’installation pour prendre une image générique et y ajouter quelque chose de spécifique.

Ce processus est réduit à une seule ligne, ce qui permet de réinstaller n’importe quelle machine avec une seule commande. LiquidM utilise également le système de secours de Leaseweb.

« Vous n’êtes pas notre seul FAI, et vous n’êtes assurément pas le premier, mais il semble que vous serez le dernier. J’espère que vous maintiendrez ces performances. »

Hagen Rother, Architecte principal et responsable du service informatique, LiquidM

Quorum et exigences de distance

Pour répondre à ses besoins en matière de latence, LiquidM dispose actuellement de trois datacenter à Amsterdam : un FAI (sélectionné en fonction de la latence) vers deux datacenter de Leaseweb (AMS-01 et AMS-02). Avec un système informatique distribué, un quorum est nécessaire (deux ou trois, ou, trois ou cinq machines). « Avec trois machines, vous pouvez en perdre une et toujours disposer d’un arrangement de distribution. Avec cinq machines, vous pouvez en perdre deux et toujours disposer d’un arrangement de distribution pour les trois autres », explique Hagen Rother. Tout continue à fonctionner et, même si un datacenter tombe en panne, la production n’est pas affectée. « Nous avons choisi un fournisseur d’accès supplémentaire à Amsterdam, très bien connecté à Leaseweb, et y avons placé une seule machine qui n’a rien à faire, si ce n’est éviter un split-brain. »

Il existe également un besoin en matière de distance : ces machines ne doivent pas se trouver à plus de 80 kilomètres de distance. « Même avec 80 kilomètres, vous pouvez remarquer la longueur du trajet que la lumière doit parcourir avec les exigences de latence que nous avons. Les datacenter doivent donc être vraiment très proches ».

Dans les datacenter, LiquidM possède des copies complémentaires (symétriques) du même logiciel et ses commandes auprès de Leaseweb sont divisées en deux : la moitié des machines sont déployées sur l’AMS-01 et l’autre moitié sur l’AMS-02. Le contenu réel des données est scripté, et les machines elles-mêmes sont passives et peuvent être ajoutées ou supprimées à tout moment.

Critères de sélection de serveur

Il est essentiel pour LiquidM de disposer de machines bien connectées. Toutefois, en ce qui concerne les modèles particuliers, ses critères de sélection ont évolué au fil du temps. Alors qu’un prix compétitif était le facteur le plus important au départ, l’équipe a fini par mieux comprendre le rapport qualité/prix. Avec Leaseweb, la relation s’est développée au point qu’un Chargé de comptes a proposé à Hagen Rother de tester un nouveau matériel afin de décider si les performances et le prix lui convenaient.

« J’ai eu la chance que Leaseweb me propose de tester les nouvelles machines AMD. Leurs performances sont telles que j’ai décidé de remplacer 52 grosses machines par 10 machines AMD vCore 96 cœurs mieux proportionnées. Et à cette échelle de cinq contre un, le coût des nouvelles machines n’a pas vraiment d’importance. Nous avons bénéficié d’une réduction de prix de 50 %, et les performances totales de notre système ont augmenté. J’apprécie la possibilité de réduire les coûts et la flexibilité offerts par Leaseweb », ajoute Hagen Rother. «Leaseweb m’a pleinement soutenu dans mes efforts pour réduire les coûts dans la mesure du possible, et si l’on regarde les prix de facturation, on constate qu’ils ont tous considérablement baissé. »

LiquidM a bénéficié du fait de proposer des serveurs dédiés, de rester attentif au matériel de base et d’offrir des performances rapides - le tout à un prix compétitif. En ce qui concerne la technologie disponible, la discussion sur les nouveaux serveurs est un sujet brûlant. « Aujourd’hui, je peux déplacer tout mon matériel en une journée, payer la moitié du prix et obtenir de meilleures performances », confirme Hagen Rother. Celui-ci reconnaît également qu’il ne s’intéresse plus au matériel particulier pour des composants spécifiques, mais se préoccupe surtout du coût de fonctionnement dans le cadre de ses opérations. Il a apprécié de pouvoir essayer et tester les machines, et n’aurait pas pu disposer d’une vue d’ensemble si le matériel s’était trouvé sur un plan virtuel, à distance.

Le résultat

LiquidM a réalisé de nombreuses opérations d’automatisation intelligente en tirant profit de sa solution de serveur dédié. Si vous souhaitez vous aussi vous lancer dans les serveurs dédiés, consultez le document Three  Tips for  Those Considering  an Automated Dedicated Server Solution (Trois conseils pour tous ceux qui envisagent une solution de serveur dédié automatisé). Hagen Rother a été extrêmement satisfait des serveurs dédiés et de la production, et il voit bien les avantages offerts par Docker et Kubernetes pour les développeurs et les environnements de pré-production. Si vous êtes intéressé par l’outil de LiquidM, conçu pour gérer son matériel avec Leaseweb, vous le trouverez en open source et disponible sur GitHub.

À propos de Hagen Rother

Hagen Rother est architecte principal et responsable du service informatique chez LiquidM. Tout au long de sa carrière, il s’est efforcé de permettre aux développeurs de se concentrer sur les besoins de leur entreprise en leur fournissant les outils et les plateformes dont ils ont besoin à n’importe quelle échelle - du smartphone à l’entreprise. Sa spécialité : remanier les plateformes existantes en production.