mercredi 5 septembre 2012

Tw.... @ Journal du Net


Les coulisses informatiques de Twitter


© Scanrail - Fotolia.com
Bases de données, traitement analytique en masse, moteur de recherche... Quelles briques informatiques clés se cachent derrière le site de microblogging ?



Utilisateur de la première heure du langage de programmation Ruby On Rails (RoR) pour ses serveurs Web, Twitter s'est finalement décidé à se tourner vers Java en avril 2011. Le fruit de ce revirement porte un nom :Blender, son nouveau serveur frontal Java.  
de zipkin à iago en passant par scalding, twitter prend l'habitude de partager
 
De Zipkin à Iago en passant par Scalding, Twitter prend l'habitude de partager ses développements sous la licence libre Apache V2. © Scanrail - Fotolia.com
 
Pour ce qui est des systèmes d'exploitation qui tournent au cœur de son infrastructure de serveurs, pas de surprise, il s'agit de Linux (et la version de noyau 2.6.39). A ce jour, on ne connaît pas le nombre exact de serveurs utilisés par le site de microblogging pour soutenir ses services, mais leur nombre serait de plusieurs dizaines de milliers. 
Parmi les autres solutions Open Source utilisées par Twitter, on trouve Zipkin, un outil de collecte et de traçage des informations relatives aux requêtes de ses API. Mais aussi Memcachedqui sert à l'amélioration des performances et de l'évolutivité des sites Web dynamiques sous MySQL. Ou encore Git, pour gérer les codes sources, et notamment pour conserver l'historique des modifications réalisées sur un fichier.




Analytics : Hadoop et Scala à tous les étages



Hadoop est un des principaux frameworks Open Source permettant de traiter de très fortes volumétries de données. Ce dernier est parfaitement taillé pour répondre aux besoins du géant du microblogging en matière d'exécution de flux d'informations. 
né dans les laboratoires de google, et non de yahoo!, hadoop a vu son code rendu
 
Né dans les laboratoires de Google, et non de Yahoo!, Hadoop a vu son code rendu public en juin 2009. ©  backgroundstore - Fotolia.com
 


Il faut dire qu'avec 2,8 milliards de tweets édités par an (5 000 tweets par seconde en moyenne avec des pics à plus de 25 000), pouvoir traiter en masse les données est plus qu'une priorité pour Twitter. 

Parmi les principales briques d'Hadoop utilisées par le réseau social pour répondre à ses besoins analytiques, on trouve notamment MapReduce et le système de fichiers HDFS (Hadoop Distributed File System). Parallèlement, Twitter fait appel un autre gestionnaire de traitement en masse des données : Pig. 

Le site a également conçu Scalding, une libraire reposant sur le langage de programmation Scala : un puissant système de requêtage pour, par exemple, connaitre le nombre de fois que chaque URL est tweetée pour un jour donné.



Moteur de recherche : des performances multipliées par trois avec Lucene




Après avoir pendant longtemps misé sur MySQL pour son moteur de recherche exécuté en temps réel, Twitter a changé son fusil d'épaule fin 2010. Il y a en fait été contraint en raison de l'accroissement de la volumétrie du nombre de tweets, mais aussi des problèmes liés à son incapacité à gérer la montée en charge associée. 
twitter a indiqué que les performances de lucene n'avaient rien à voir avec
 
Twitter a indiqué que les performances de Lucene n'avaient rien à voir avec celles de la brique qu'il utilisait précédemment : Summize (basée sur Ruby on Rails en frontal et MySQL en arrière plan). ©  Lucene
 
En quête d'une solution plus robuste, le réseau social s'est alors tourné vers un autre projet soutenu par la fondation Apache : Lucene. Twitter y a apparemment beaucoup gagné au change puisque selon lui, les performances du moteur ont été multipliées par trois par rapport à son ancien outil, Summize. 
Une infrastructure maison d'équilibrage de charge
Pour s'assurer que ses services puissent encaisser des pics de trafic, Twitter a fait le choix de développer un outil maison d'équilibrage de charge, seul à même selon lui de répondre à ses besoins : Iago. En juin 2012, il a d'ailleurs fait un geste significatif envers la communauté Open Source en rendant son code public. 







Bases de données : SQL et noSQL à l'honneur chez Twitter




Présent dès l'origine de la création du site en 2006, le système de gestion debase de données relationnelle Open Source MySQL est une composante clé de l'informatique de Twitter. Il assure entre autres la gestion du stockage des centaines de teraoctets de données générées par ses 500 millions d'utilisateurs. 
twitter a recourt également à flockdb, une base de données graphique open source
 
Twitter a recourt également à FlockDB, une base de données graphique Open Source qui s'appuie sur le gestionnaire de partition de données Gizzard. ©  Yabresse - Fotolia.com
 
Depuis avril 2012, Twitter a par ailleurs décidé de reverser à la communauté Open Source (viaGitHub) de nombreux développements réalisés autour de MySQL. Notamment ceux qui concernent l'optimisation de l'allocation mémoire sur systèmes NUMA (Non-Uniform Memory Access) ou serveurs SSD. 
En début d'année 2010, Twitter a annoncé vouloir migrer ses serveurs de données vers la base noSQL Cassandra : un projet soutenu par la fondation Apache.
Cette brique Open Source est aussi utilisée par des géants du Cloud comme Google, Facebook ou encore Amazon. Les raisons de ce chantier pour Twitter ? Optimiser encore les performances de la plate-forme, et améliorer sa capacité de déploiement. Aujourd'hui pourtant, Twitter a fait le choix de la cohabitation en regroupant le meilleur des deux mondes en termes de bases SQL (MySQL) et noSQL (Casandra).






En savoir plus




Twitter a rejoint fin août la Fondation Linux en qualité de membre Silver. Il a expliqué son choix par le fait que l'Open Source a été fondamental à son succès. 
Le service de microblogging participe activement au reversement de développements à la communautéOpen Source, avec pas moins de 80 projets déjà présents sur GitHub, un service de partage de projets Open Source communautaires. Twitter est utilisé par plus de 500 millions d'utilisateurs dans le monde pour un nombre de tweets par an qui atteindrait 2,8 milliards. 



google twitter +

Comment Twitter dope le référencement dans Google

Une nouvelle étude vient précisément mesurer l'impact des liens postés dans Twitter sur le référencement. A partir de 50 tweets, les effets seraient notables et au-delà de 1000, ils peuvent devenir spectaculaires. Lire

twitter

Ce que promet Twitter Web Analytics

Twitter prépare la sortie d'un outil de suivi de trafic à destination des sites Web exploitant son réseau social et de microblogging. Décryptage des fonctions annoncées. Lire

twitter anaylitcs mini

Six outils Analytics pour suivre son activité sur Twitter

Suivi du nombre d'abonnés, de retweets, de réponses... Les outils conçus pour analyser et piloter son activité sur le réseau social se sont multipliés. Lire






Aucun commentaire:

Enregistrer un commentaire