Ebay : les dessous techniques de la refonte de son moteur de recherche

Cassini va remplacer le moteur de recherche actuel d'eBay en place depuis 10 ans. Les serveurs SPARC sur lesquels il repose seront remplacés par des modèles sous x86 tandis qu'Hadoop sera encore plus exploité.

"C'est l'un des projets les plus ambitieux qui a été entrepris chez eBay depuis très, très longtemps", estime le responsable de la mise en place du nouveau moteur de recherche du site d'enchères Hugh Williams, détaillant le projet à nos confrères du Register. Annoncé en octobre de l'année dernière, ce nouveau moteur, baptisé Cassini, doit rentrer en phase de test à la fin de l'été et en production l'année prochaine. Il remplacera Voyager, en place depuis 10 ans.

 

Un projet colossal

L'enjeu est de taille et le projet, colossal. Il ya des milliers de requêtes effectuées chaque seconde sur un catalogue de plus de 200 millions de références, dont plusieurs millions sont ajoutées ou supprimées quotidiennement. L'immense catalogue changeant 24h/24 doit être indexé en temps réel. eBay prétend avoir près de 100 millions d'utilisateurs actifs, répartis sur 41 pays. La moitié des achats effectués sur eBay commencent par une simple requête sur le moteur, qui est donc au cœur du succès du site (9,2 milliards de dollars de revenus en 2010).

"C'est probablement l'un des environnements de recherche en temps réel les plus difficiles", a admis Hugh Williams, qui a passé quatre ans chez Microsoft à piloter le développement de Bing avant de rejoindre eBay en 2009.

 

Un moteur plus pertinent, plus facilement évolutif et moins cher

eBay va augmenter l'usage d'Hadoop pour son moteur

Le site d'enchères souhaite que son moteur soit plus pertinent, plus facilement évolutif et surtout, pour corser encore un peu plus la difficulté du projet, moins cher. Le moteur devra pouvoir évoluer sans nécessiter une réécriture totale dans dix ans. Et pour qu'il revienne moins cher à l'exploitation pour eBay, les milliers de serveurs SPARC que l'actuel moteur nécessite dans les datacenters d'eBay répartis dans le monde seront remplacés par des x86, d'Intel ou AMD, moins onéreux.

"Dans les années1990, la philosophie pour faire fonctionner les moteurs de recherche était plutôt d'acheter des machines coûteuses que des humains faisaient bien marcher. Dans les années 2010, il s'agit plus de faire bien fonctionner des machines bon marché grâce à des logiciels", estime Hugh Williams. Le projet nécessitera donc en outre, pour accompagner les serveurs x86, de déployer des logiciels chargés de les piloter (mise en place, test et monitoring de serveurs, mesures en cas de problèmes, etc).

 

100 ingénieurs d'eBay sont mobilisés autour du projet Cassini

Quant à la pertinence, Cassini devra être plus intuitif que Voyager, et notamment mieux comprendre les comportements passés des utilisateurs pour mieux deviner leurs intentions et donc, de mieux filtrer les résultats. Pour cela, Cassini va augmenter considérablement l'usage de la technologie de calcul Open Source d'Hadoop pour lui permettre de mieux exploiter les téraoctets de données.  

Cassini mobilise aujourd'hui un quart des 400 ingénieurs d'eBay. Chez Microsoft, Hugh Williams était directeur du développement en charge de 150 ingénieurs logiciels travaillant sur Microsoft Live Search et Bing, un projet qui a reçu des milliards de dollars en financement.