Ces logiciels open source indispensables aux géants du Web Twitter : des milliers de nœuds de traitement Hadoop

Initialement créé sur l'infrastructure Ruby on Rail, Twitter a ensuite été redéveloppé en langage Scala pour pouvoir monter en charge. Pour supporter sa communauté, Twitter a conçu et maintient maintenant plusieurs librairies de développement pour ce langage, dont Bijection, Scalding, Summingbird - pour écrire des programmes en Scala pour MapReduce. Pour l'exécution, Twitter a privilégié OpenJDK, implémentation open source de la plateforme Java.

Twitter est un gros utilisateur de technologies Big Data open source. Le site de microblogging a déployé des milliers de nœuds de traitement Hadoop pour ses analystes. Ce cluster exécute les modèles de machine learning réalisant la détection des spams, ainsi que le moteur de recommandation qui propose aux membres de suivre les twittos qui s'intéressent aux mêmes thématiques qu'eux. Les Data Scientist de Twitter exploitent des scripts en langage Pig pour lancer leurs requêtes.

Pour gérer ses logs, Twitter utilise l'outil open source Scribe de Facebook

le site de microblogging a déployé des milliers de nœuds de traitement hadoop.
Le site de microblogging a déployé des milliers de nœuds de traitement Hadoop. © Qiun - Fotolia

Pour gérer les données de log générées par l'activité de ses membres, Twitter s'appuie la solution qui a été développée par Facebook depuis plusieurs années : Scribe. Aujourd'hui publié en open source, c'est ce logiciel qui permet à Facebook de déplacer et d'agréger les données générées par les utilisateurs sur ses différents serveurs. Twitter utilise aussi Mesos, une architecture de gestion de grappes de serveurs, une solution directement inspirée de Borg et Omega, les logiciels créés par Google mais qui ne sont pas disponibles en open source.

Enfin, Twitter est un utilisateur de MySQL depuis son origine. Un choix qui n'a pas empêché le site de basculer le stockage des tweets et RT vers la base NoSQL Cassandra dès 2010. Twitter a récemment dévoilé une base de données "maison", Manhattan, base de données à grande capacité et faible temps de réponse. Celle-ci exploite Hadoop et HDFS pour importer des données. Mais Manhattan reste encore un développement propriétaire, et n'a pas encore été publié sous licence open source par Twitter.

 Principales solutions open source : Linux, MySQL, Cassandra, Hadoop, Lucene, Pig, Memcached, Redis, Apache Mesos, Zookeeper