BT

Diffuser les Connaissances et l'Innovation dans le Développement Logiciel d'Entreprise

Contribuez

Sujets

Sélectionner votre région

Accueil InfoQ Articles Startup Architecture : Hadoop, Spark & Elasticsearch chez Realytics.io

Startup Architecture : Hadoop, Spark & Elasticsearch chez Realytics.io

À l'occasion de Microsoft experiences '16, InfoQ FR a pu échanger avec Sébastien Monteil de Realytics.io sur leur architecture technique de tracking et de mesure de performance des campagnes de pub télé.

InfoQ FR : Bonjour Sébastien, est-ce que vous pouvez nous présenter l'historique et le concept de Realytics.io ?

Sébastien : A l'origine, je suis le fondateur d'une société qui s'appelle Kobojo qui propose une technologie de social gaming. Je l'ai créée avec mes associés il y a sept ans et nous avions rencontré à Kobojo des problématiques qui étaient de traiter une grosse volumétrie de données le plus rapidement possible. Nous devions en effet réaliser des opérations marketing in-game, pour faire par exemple des promotions rapides sur un item qui marchait moins bien que d'autres. La difficulté majeure était de pouvoir analyser une population de 60 millions de joueurs de manière ultra-rapide.

A l'époque, il n'y avait pas grand chose sur le marché quand je suis sorti de Kobojo début 2013. Je me suis alors lancé sur ce projet et la promesse de départ était de créer une solution de Big Data analytics en temps réel ou pseudo temps réel pour tous les types de marchés. J'avais déjà travaillé avec Guillaume un associé et nous nous sommes fédérés autour de ce projet. Nous avons commencé par tester notre concept auprès de sociétés et clients que nous connaissions. Nous avons rencontré des sociétés comme Aéroport de Paris, qui nous a dit qu'ils allaient pouvoir optimiser le tri des bagages à Roissy avec ce concept, d'autres sociétés comme ALLO RESTO qui avait acheté pour des centaines de milliers d'euros de publicité télé et qui voulait savoir si notre concept leur permettrait de savoir s'ils gagnaient de l'argent. Au final nous avons décidé de prendre notre produit et de le spécialiser sur la mesure de la performance des publicités télé sur tous les environnements digitaux. Nous sommes partis des études et du constat que 75% des gens regardent leur télé avec un deuxième écran, soit leur PC, soit leur tablette, soit leur téléphone.

Nous avons en fait deux technologies, une technologie d'analytics qui est l'équivalent d'un Google analytics mais avec une précision à la seconde, puisqu'en effet une publicité à la télévision dure entre 10 et 30 secondes. Notre deuxième technologie est un robot qui regarde la télévision pour identifier les spots de nos clients. En effet lorsqu'un annonceur achète de la publicité à la télévision, il achète en fait des créneaux et des positions. Il sait par exemple qu'il va passer à 20h50 en 3ème position, mais le 20h50 peut être en réalité à 20h55 ou 20h42. Dés que notre robot détecte un spot de l'un de nos clients, il déclenche une phase de calcul qui dure 6 minutes. Pendant cette période nous analysons tout ce qui se passe sur le site de l'annonceur sur les applications mobiles et nous essayons de déterminer le nombre de visiteurs qui sont venus sur le site suite à la diffusion du spot. On fait ce calcul sur chaque spot mais aussi sur une période plus longue, afin de voir si des visiteurs sont venus quelques jours après. C'est ce que l'on appelle l'effet de halo.

Realytics fournit donc un service sous forme d'une plateforme SaaS de mesure de performance et de calcul du ROI d'une campagne de pub à la télévision.

InfoQ FR : Proposez-vous le service pour d'autres médias ?

Sébastien : On propose le service pour la télévision. Pour la radio nous disposons d'un robot équivalent qui écoute la radio.

InfoQ FR : Comment fonctionne la reconnaissance des spots de vos annonceurs ?

Sébastien : Le robot fait de la reconnaissance de pattern. C'est le principe de l'algorithme de Shazam. Pour la reconnaissance du spot télé, on est sur de la reconnaissance d'images. A partir de la vidéo de notre client, nous faisons une signature numérique et ensuite on recherche cette signature, c'est un peu plus long à traiter que pour la voix. La particularité de cette reconnaissance est qu'elle doit être temps réel.

InfoQ FR : Quelle est votre particularité par rapport aux autres solutions d'analytics ?

Sébastien : Par rapport aux autres solutions, on ne se contente pas simplement de savoir combien de visiteurs sont venus et ont acheté après avoir vu le spot de télévision. On va essayer de trouver qui sont ces personnes, en calculant l'équivalent d'un scoring par rapport à une multitude de paramètres, leurs devices par exemple et par rapport à des modèles mathématiques que l'on a accumulés depuis des années. Nous avons aujourd'hui plus d'un demi-million de spots analysés et nous commençons à avoir de l'expérience sur l'analyse du comportement des visiteurs.

Ces modèles mathématiques nous permettent ainsi de déterminer les probabilités qu'un visiteur ait vu le spot de télévision. Pour les visiteurs pour lesquels nous avons un scoring, nous sommes aujourd'hui les seuls sur le marché à pouvoir les retargeter. Si un visiteur a vu par exemple le spot télé et revient trois jours après sur youtube ou Facebook, s'il n'avait pas été converti à l'époque, nous pouvons lui réafficher le spot télé ou un message complémentaire. Les annonceurs prévoient souvent de raconter une histoire qui accompagne le visiteur sur internet après la diffusion du spot télévision.

InfoQ FR : Pouvez-vous nous parler de votre architecture technique ?

Sébastien : Nous avions une forte expérience Cloud issue du gaming social. Nous sommes partis tout d'abord sur Amazon Web Services. Une des particularités de notre business est que nous avons eu très tôt des leads et des clients à l'international, aux États-Unis, en Australie et au Brésil. Nous avons donc été obligés d'avoir une présence technique globale dès le départ à l'international. L'architecture Cloud est aujourd'hui pour nous indispensable et nous permet d'avoir des points de présence, ce qui est vital pour nous comme pour tout outil de tracking. Nous avons en effet besoin d'être proche du client pour éviter la latence et de perdre de l'information.

Aujourd'hui nous avons une partie de l'infrastructure sur AWS et une partie sur Microsoft Azure. A Paris, pour des raisons de réglementation, nous avons les données qui concernent les utilisateurs, notamment dans les banques et la finance. On a procédé à un découpage fonctionnel entre ces deux infrastructures Cloud. Toutes nos APIs de tracking sont sur AWS. Toute la partie compute, le traitement et l'analyse des données, les dashboards sont sur Microsoft Azure. Ces deux mondes communiquent via des VPN.

InfoQ FR : Pourquoi avoir fait ce choix de deux infrastructures ?

Sébastien : Je veux pouvoir migrer à tout moment sur une infrastructure. Nous avons développé la possibilité de migrer complètement une infrastructure, sur l'un des deux clouds en cas de problème. L'objectif est que la plateforme de captation de données (le tracking) soit toujours disponible.

InfoQ FR : Comment avez-vous géré cette migration d'infrastructure ?

Sébastien : On utilise pour cela Ansible.

InfoQ FR : Vous n'avez pas eu de problème de pairing entre AWS et Microsoft Azure ?

Sébastien : Non à ma grande surprise, même sur toutes les configurations de zones. On a bricolé un Openswan entre les deux, puisqu'il n'y avait pas à la base de solution technique toute prête pour le faire. Au final, nous avons mesuré moins de 2 ms de latence entre Microsoft Azure et AWS en Irlande. Les data centers doivent être très très proches. Nous avons du coup aucun problème pour nos transferts de données.

InfoQ FR : Quelles stacks techniques utilisez-vous ?

Sébastien : Nous sommes essentiellement sur des technologies open source. On est partis très vite sur le mode ARM d'Azure (Azure Resource Manager). Nos APIs sont développées en Node.js et sont déployées sur AWS, derrière un HAProxy pour gérer toute la plateforme de captation des données de tracking.

Ensuite sur la partie traitement de la donnée, nous sommes sur un cluster Hadoop et Spark qui tourne dans Azure.

InfoQ FR : Pour le cluster Hadoop, vous le faites tourner vous-mêmes ?

Sébastien : Oui nous le faisons tourner nous-mêmes. La seule ressource managée que nous utilisons c'est Redis pour la partie caching. Nous avons également 4 clusters Elasticsearch, maintenus par nous, hébergés sur Azure et alimentés par le cluster Hadoop.

InfoQ FR : Et pour le front, qu'est ce que vous utilisez ?

Sébastien : En front nous avons une API en .Net qui communique avec MySQL et les clusters Elasticsearch. Cette API est interfacée avec une application en ReactJS.

InfoQ FR : De combien de serveurs disposez-vous ?

Sébastien : Entre quarante et cinquante machines pour Microsoft Azure et une vingtaine dans AWS. Nous sommes présents en Australie, aux Etats-Unis, en Irlande, en France et Amérique du Sud.

InfoQ FR : Pour la partie Dashboard, vous utilisez une solution ?

Sébastien : Non on a tout fait nous-mêmes en React et en icharts.

InfoQ FR : Combien de clients avez-vous aujourd'hui ?

Sébastien : En deux ans, on a un demi-million de spots analysés pour 150 annonceurs. On arrive à scorer 9 000 visiteurs par minute.

InfoQ FR : En ce qui concerne la roadmap technique, quelles sont les prochaines étapes pour vous ?

Sébastien : Aujourd'hui, les enjeux sont pour nous surtout scientifiques. Nous allons bientôt sortir un module prédictif, c'est à dire que si un client arrive avec un plan média et des chaînes cibles, nous aurons la capacité, une fois qu'il aura entré ses données dans notre calculateur, de prévoir le nombre de visiteurs. Ce sont des choses que nous testons depuis 4 mois en interne. Cette approche ne demande pas de technologie particulière mais c'est du domaine de la data science pure.

InfoQ FR : Merci Sébastien !

Sébastien : Merci et à bientôt !

Evaluer cet article

Pertinence
Style

Contenu Éducatif

BT