Comment Criteo transforme Hadoop en moteur de sa rentabilité

Criteo vient de réserver 900 m2 de datacenters entièrement dédiés à un cluster Hadoop. Un investissement significatif qui s’explique par le rôle central que tient la technologie Open Source dans le modèle du Français. Et par sa contribution à la marge.

Comme nous l’expliquions la semaine dernière, Criteo vient d’investir dans deux salles du nouveau datacenter PA4 d’Equinix en région parisienne (à Pantin). Au total, environ 900 m2 qui, à terme, pourront recevoir plus de 5 000 serveurs (en photo ci-dessus). Un équipement de taille tout entier dédié à Hadoop, déjà déployé par la société française sur quelque 1 200 serveurs dans son datacenter d’Amsterdam. Cet investissement important s’explique par le rôle central que joue le framework Open Source dans le modèle économique de l’entreprise.

Pour bien comprendre la place que tient Hadoop dans le succès de Criteo, il faut plonger au cœur du fonctionnement de du spécialiste du marketing à la performance sur les bannières publicitaires. Traditionnellement, les bannières de publicité sur les sites sont achetées par lot de mille unités, sans garantie de performances, autrement dit sans garantie qu’un des internautes cliquera sur ces bannières. Le modèle de Criteo consiste à vendre ces bannières au clic effectué, et non plus au volume. « Les annonceurs nous payent au clic, tandis que nous achetons aux éditeurs des emplacements en volume. Le secret pour y parvenir ? Notre algorithme, la seule approche possible étant donné les volumes impliqués », résume Dan Teodosiu, le vice-président de l’ingénierie de Criteo.

Tout proche du trading boursier

Cet algorithme vise, notamment via des techniques de Machine Learning, à fournir des prédictions et des recommandations au ‘moteur’ Criteo, une technologie temps réel qui place les bannières auprès des éditeurs en fonction de probabilités de voir les internautes cliquer. « A chaque fois qu’on achète une bannière à l’éditeur, on le fait en fonction d’une prédiction de clic. Et si un utilisateur est rentable pour cet affichage, l’algorithme va décider de ce qui sera affiché », confirme Dan Teodosiu. Le tout travaille à des volumétries colossales : 15 millions de prédictions par seconde permettant d’afficher 3 milliards de bannières par jour, 1,2 million de transactions par seconde sur la plate-forme d’enchères. Et, surtout, en temps réel. « Nos bannières sont produites en temps réel pour chaque affichage, précise Matthieu Blumberg, en charge de l’infrastructure d’hébergement de Criteo. Notre plate-forme peut difficilement fonctionner avec un système de cache ».

En réalité, la plate-forme de production de la société se rapproche d’un système de trading : le moteur Criteo doit en effet placer des enchères auprès des systèmes gérant les espaces publicitaires en moins de 100 ms, « sinon les plates-formes nous blacklistent ». D’où l’implantation des datacenters de Criteo au plus proche des grandes places où se négocient ces emplacements, pour éviter d’allonger les temps de latence via des connexions transatlantiques par exemple (80 ms pour un aller-retour sous cet océan).

Le plus gros cluster privé en Europe

Et Hadoop dans tout ça ? Par nature, le framework Open Source peut difficilement répondre à ces contraintes de temps réel. Mais l’intérêt est ailleurs. Arrivé il y a quatre ans chez Criteo précisément pour monter un cluster Hadoop – « à l’époque, on n’était même pas sûr d’en avoir besoin » -, Matthieu Blumberg affirme que la technologie est un très fort contributeur à la marge de l’entreprise, ce qui d’ailleurs explique l’investissement significatif que vient de faire Criteo dans un cluster pouvant dépasser les 5 000 nœuds (autrement dit serveurs), en région parisienne. Classiquement, Hadoop sert chez Criteo à ingurgiter le maximum de données et à effectuer des calculs en parallèle sur cette masse d’informations. Sauf que, là encore, on parle de volumétries colossales. Le cluster Hadoop actuel de la société, situé à Amsterdam et regroupant 1 200 serveurs, affiche 39 Po de données et en ingurgite 26 To supplémentaires chaque jour. « C’est, selon ce qu’on en sait, le plus gros cluster privé d’Europe. Et nous sommes à court de place d’où la construction du cluster en région parisienne », dit Matthieu Blumberg.

Matthieu Blumberg
Matthieu Blumberg, devant les racks de serveurs dans le datacenter Equinix de Pantin.

La technologie est avant tout employée pour améliorer les performances du moteur principal de Criteo, le système plaçant des bannières en temps réel auprès des éditeurs de sites. Une sorte de moteur auxiliaire où sont testées les mises à jour des algorithmes qui sont ensuite poussées vers les plates-formes temps réel de la société. La société effectue ainsi plusieurs dizaines de milliers de tests A/B par an (test d’efficacité portant sur deux options différentes). C’est aussi sur cette infrastructure que sont importés les catalogues produits des e-commerçants (le cluster a ainsi mémorisé environ 3 milliards d’entrées de catalogues à ce jour). « La capacité à faire tourner les tâches d’apprentissage sur le cluster Hadoop plusieurs fois par jour cache un enjeu de performances essentiel, note Matthieu Blumberg. Plus on travaille sur des données fraîches – comme les nouveaux produits du catalogue d’un marchand -, meilleures sont les performances. » Récemment, Criteo est ainsi parvenu à faire descendre le temps nécessaire pour recalculer ses modèles de 6 heures à 1 heure environ, autorisant des mises à jour plus régulières des systèmes temps réel.

Hadoop fait, en partie, la marge

Employé également pour les besoins en BI de la société (environ 80 utilisateurs), le cluster Hadoop – bâti sur la version communautaire de Cloudera – encaisse déjà plusieurs dizaines de milliers de tâches par jour. Selon Criteo, avec l’ouverture du nouveau cluster, l’objectif est d’atteindre sous deux ans des centaines de milliers de tâches quotidiennes. D’abord en libérant les capacités des utilisateurs, que la société est parfois obligée de brider du fait de l’arrivée à saturation du cluster d’Amsterdam.

« La marge que nous générons entre le taux de clic et l’achat de bannières en volume est en partie due à la performance de notre infrastructure. Et notamment à Hadoop. Le retour sur investissement de ces investissements est indéniable », assure Matthieu Blumberg. Entre 2011 et 2014, le chiffre d’affaires de la société a été multiplié par 6. Dans le même temps, la taille de ses infrastructures IT a, elle, explosé par un facteur de 50, selon Criteo. La société aligne aujourd’hui près de 15 000 serveurs dans son réseau de datacenters partout dans le monde.

A lire aussi :

Hadoop sur le déclin ? Cloudera, Hortonworks et MapR répondent
Big Data : comment SoLocal apprivoise Hadoop