Le Big Data au service de l'optimisation marketing Piximedia adosse son adserver à une base non-relationnelle du cloud Amazon

Spécialisé dans les opérations de branding rich média sur le Web, Piximedia dispose de sa propre place de marché publicitaire, baptisée Alliance Marketplace, qui couvre la majorité des visiteurs uniques français. En fonction des budgets publicitaires, des offres d'enchère réalisées par les clients sur la plate-forme et de la cible d'internautes souhaitée par ces derniers, elle permet d'optimiser la diffusion de publicités sur une galaxie de sites médias. Pour mettre en œuvre ces algorithmes, Piximedia a développé un serveur de publicités maison, qu'elle héberge sur le Cloud d'Amazon.

alioune fofana, directeur technique de piximedia, gère l'usine informatique qui
Alioune Fofana, directeur technique de Piximedia, gère l'usine informatique qui supporte l'Alliance Marketplace. © PixiMedia

"Nous avons fait le choix d'Amazon Web Services car cette solution de cloud nous permettait de démarrer en disposant rapidement de puissance machine, sans avoir à réaliser d'investissement d'infrastructure et disposer d'une équipe de production en interne", commente Alioune Fofana, directeur technique de Piximedia, en soulignant la grande richesse de cette offre en termes de services cloud comparé à celles de Google et Rackspace. Aujourd'hui, 95% des systèmes de traitement de données de la société reposent sur le cloud d'Amazon. La solution d'auto-dimensionnement (auto-scaling) de l'opérateur présentant pour principal avantage de lui permettre d'accompagner une croissance rapide de son activité d'adserver et "d'encaisser les pics de charge avec un bon temps de réponse". 

Sans surprise, Piximedia fait appel pour son adserver au service de base DynamoDB. Cette base est le fruit de l'expérience d'Amazon dans le domaine du e-commerce. Elle est notamment déployée pour supporter sa plate-forme publicitaire, ainsi que son service de stockage en ligne Amazon Cloud Drive. De type non-relationnelle, elle repose sur une structure en clé/valeur. "Le service fait appel à des disques SSD afin de garantir des temps de réponse très courts, et n'impose aucune limitation en termes de capacité de requête et de taille de stockage pour une table donnée", indique Amazon. En fonction du dimensionnement spécifié, le service répartit les données sur plusieurs serveurs (via un processus de sharding) qui pourront ensuite gérer plusieurs flux de requêtes en parallèle.

Hadoop étudié comme alternative

Pour la création des formulaires associés aux publicités diffusées, Piximedia a recours à un autre service de base de données Amazon : SimpleDB. Un serveur de données, également non-relationnel, qui s'est révélé plus simple à administrer que la base MySQL dédiée, utilisée jusque-là en interne. A la différence de DynamoDB, la taille des tables de SimpleDB ne peut excéder 10 Go, et les requêtes 25 écritures par seconde. Elle est donc plus adaptée aux charges de travail peu importantes, avec "l'avantage de pouvoir indexer les attributs des articles, ce qui lui permet d'offrir des capacités de requête supérieures mais avec un impact sur les performances et le dimensionnement."

Pour réaliser les rapports de suivi des campagnes, à destination de ses clients, Piximedia a déployé, en interne cette fois, une base de données SQL (Oracle Database). Mais, là encore, des services Amazon (notamment EC2) peuvent être utilisés pour la génération des rapports finaux, qui impliquent de concaténer de gros volumes de logs. Les algorithmes déployés par Piximedia ? La société utilise Map-Reduce, mais également des algorithmes fournis par Amazon ou ses partenaires, et d'autres conçus en interne. "Tout dépend des besoins", commente Alioune Fofana. "Nous étudions d'abord ce qui est disponible sur le marché. Si nous ne trouvons rien d'adapté à nos besoins, alors nous le développons, ce qui arrive souvent pour les traitements temps réel." Mais Piximedia étudie également la possibilité d'utiliser Hadoop.


La gestion de la qualité des données : un véritable défi

Pour Alioune Fofana, une telle usine de données recouvre deux problématiques principales : la montée en charge, mais aussi la gestion de la qualité des données. "Quand on gère des dizaines voire des centaines de millions d'interactions avec les utilisateurs finaux, un bug peut rapidement prendre des proposions importantes", pointe le directeur technique. D'où l'importance de mettre en place des processus qualité, évaluer en permanence les modifications apportées au code et à l'architecture pour mieux les améliorer. Pour ce faire, Piximedia fait également appel à des services de supervision externe (comme Cedexis), dont les indicateurs sont intégrés à sa propre console de supervision interne. Enfin, l'adserver dispose de dispositifs de correction automatique, permettant de stopper par exemple la diffusion d'une campagne au-delà d'un certain niveau de publications.