Chaque seconde, Twitter traite environ 6 000 messages, soit plus de 500 millions par jour et environ 3,5 milliards par semaine. « Mais, il est arrivé que le réseau ait à traiter jusqu'à 143 000 messages par seconde, comme ce fut le cas lors de la diffusion du film de Hayao Miyazaki, « Le Château dans le ciel », au Japon un peu plus tôt cette année », comme l'a raconté hier le responsable de l'informatique Open Source de Twitter, Chris Aniszczyk, pendant la conférence LinuxCon Europe qui se tient actuellement à Édimbourg (du 21 au 23 octobre). « La prise en charge de cette énorme quantité de messages n'a pas été facile », a-t-il ajouté. Au départ, en 2006, Twitter utilisait la plateforme monolithique Ruby on Rails et non une structure distribuée. À l'époque, c'était suffisant, parce que la demande était raisonnable. Mais, la situation est devenue compliquée à partir de 2008. L'augmentation croissante des messages échangés a provoqué de nombreuses interruptions de service, des « Fail Whales » à répétition, comme dit Twitter. « Chaque fois, les ingénieurs du réseau social ont réussi à affronter la charge avec quelques rustines », a ajouté Chris Aniszczyk.
Mais les choses sont vraiment devenues problématiques lors de la Coupe du Monde de football de 2010, qui a été à la fois un point bas et un point haut pour Twitter. Le service était capable de traiter 3 000 messages par seconde, mais au-delà, ça devenait difficile. « D'un point de vue technique, c'était très pénible parce que toutes les ressources étaient mobilisées », a déclaré le responsable de l'informatique Open Source de Twitter. « Chaque fois qu'un but était marqué ou que l'arbitre donnait un carton rouge ou jaune, le site tombait », a-t-il ajouté. Il fallait donc que ça change. Twitter a compris que le problème venait du code de base qui servait à tout gérer, depuis les données brutes de la base de données jusqu'au rendu graphique du site. « Pour maintenir le service, la seule chose que nous faisions était d'ajouter des machines pour compenser. Mais ce n'était pas la meilleure solution, car cela coûtait cher », a expliqué Chris Aniszczyk.
Une refonte de l'architecture devenue nécessaire
Après la Coupe du Monde de 2010, Twitter a commencé à travailler sur une refonte de son architecture. Ses efforts ont finalement commencé à payer à partir de l'été dernier. Au lieu d'améliorer le système et de déployer de nouvelles fonctionnalités, les ingénieurs de Twitter sont partis « à la chasse à la baleine » pour résoudre des défaillances spécifiques, ce qui n'était pas vraiment la meilleure solution. Finalement, Twitter a compris qu'il était temps d'investir dans de nouvelles infrastructures. « Le réseau social a doublé sa JVM (Java Virtual Machine), ce qui lui a permis de répartir la tâche de l'application monolithique sur différents services, dont un service pour traiter spécifiquement les messages », a encore ajouté Chris Aniszczyk. « L'ingénierie est maintenant en place avec des équipes autonomes qui peuvent fonctionner indépendamment ».
Pour réduire les coûts et le nombre de machines, Twitter s'est également tourné vers le projet de recherche Apache Mesos mené à l'origine par l'Université de Berkeley, en Californie. Mesos est un gestionnaire de cluster qui permet aux utilisateurs d'exécuter plusieurs processus sur la même machine. « Le matériel est donc utilisé de manière plus efficace et cela permet d'économiser de l'argent », a déclaré le responsable de Twitter. Le réseau est également allé chercher d'autres outils comme Netty, qui permet de créer des serveurs de protocole très performants, et Scalding, qui facilite l'écriture de tâches pour le big data. « Twitter n'a pas pu complètement s'affranchir du framework d'application Ruby on Rails. Mais ces outils, plus le passage de l'infrastructure de base à la JVM, ont permis au réseau social d'éviter les interruptions de service et d'améliorer les performances », a déclaré Chris Aniszczyk. « Cela a aussi permis à l'entreprise de grandir », a-t-il ajouté. « Twitter compte plus de 2 000 salariés, dont environ la moitié sont des ingénieurs », a-t-il déclaré.
Une meilleure gestion des ressources disponibles
De ces différentes expériences, Twitter a notamment retenu que le choix de l'Open Source pour son infrastructure était judicieux. « C'est là que l'on trouve aujourd'hui les meilleurs logiciels », a affirmé Chris Aniszczyk. Selon lui, c'est également une bonne chose de contribuer à la communauté Open Source, ce que fait Twitter avec twitter.github.io qui sert de bibliothèque pour une centaine de dépôts publics. « Le changement incrémental a aussi été une bonne idée, car il augmente les chances de réussite », a-t-il dit, ajoutant que les entreprises devraient également être attentives à ce que font les universités.
« Le parcours accompli par Twitter pour transformer son infrastructure de base peut servir d'exemple. Il montre aux entreprises comment tirer profit de la technologie Open Source », a déclaré Jim Zemlin, directeur exécutif de la Linux Foundation. « L'Open Source permet de maintenir ses coûts, mais aussi de répondre très rapidement aux défis de mise à l'échelle des infrastructures », a-t-il ajouté. « De nombreuses entreprises, dont de grandes sociétés comme Google, Amazon et Facebook, ont opté pour des plates-formes informatiques Open Source HyperScale. Les entreprises peuvent aussi apprendre de ces exemples », a-t-il ajouté.
Twitter se tourne vers l'Open Source pour éviter les ruptures du service
7
Réactions
Twitter a radicalement changé son infrastructure de base, non seulement pour réduire ses coûts, mais aussi pour prévenir les interruptions de service et obtenir de souplesse. Surtout, son choix s'est porté sur des outils Open Source.
Newsletter LMI
Recevez notre newsletter comme plus de 50000 abonnés
quote :"Donc l'open source à court terme vous permet de sauver des coûts, mais qu'en est'-il du long terme?"
Signaler un abusUn début de réponse par là : http://www.iris-recherche.qc.ca/wp-content/uploads/2013/09/Note-Logiciels-libres.pdf
Je comprends la pensée derrière l'open source, par contre là où je ne suis pas d'accord c'est le fait de dire que les solutions propriétaire ne valent plus rien. On dirait que c'est maintenant la nouvelle mode. Si je prends une solution qui ce dit open source, que je la modifie, et que je conserve les modifications sans les redistribuer, alors je deviens une solution propriétaire, à base open source? Que faire avec tous les "supposés" avantages de l’open source si c'est ce que je fais ...? Je deviens donc un leechers de code et ne contribue en rien à la cause. À toute les fois que j'ai croisé une compagnie qui avait une solution open source, comprenant du développement sur mesure, qui avait choisi cette approche c'était dans l'optique d'avoir plusieurs centaines de personnes pouvant continuer l'évolution de leur application. Cependant lorsqu'il est temps de faire affaire avec une nouvelle firme, celle-ci recommence toujours de 0 même si c'est une solution open source, car aucun standard n'a été mis en place. Je ne crois pas que l'open source est la solution à tous les problèmes en informatique, mais chaque fois que je lis un article qui parle d'open source, on dirait que c'est la nouvelle révolution qui va régler tous les problèmes de la terre. Tout ce que j'entends dans la bouche de mes clients c'est "open source" "open source" "open source". Dans certain cas, la solution peut s'avérer être la bonne et dans d'autres non. Je trouve donc déplorable que chaque fois que je lis un article, celle-ci donne l'impression que la seule voix est l'open source!
Signaler un abusJe comprends la pensée derrière l'open source, par contre là où je ne suis pas d'accord c'est le fait de dire que les solutions propriétaire ne valent plus rien. On dirait que c'est maintenant la nouvelle mode. Si je prends une solution qui ce dit open source, que je la modifie, et que je conserve les modifications sans les redistribuer, alors je deviens une solution propriétaire, à base open source? Que faire avec tous les "supposés" avantages de l’open source si c'est ce que je fais ...? Je deviens donc un leechers de code et ne contribue en rien à la cause. À toute les fois que j'ai croisé une compagnie qui avait une solution open source, comprenant du développement sur mesure, qui avait choisi cette approche c'était dans l'optique d'avoir plusieurs centaines de personnes pouvant continuer l'évolution de leur application. Cependant lorsqu'il est temps de faire affaire avec une nouvelle firme, celle-ci recommence toujours de 0 même si c'est une solution open source, car aucun standard n'a été mis en place. Je ne crois pas que l'open source est la solution à tous les problèmes en informatique, mais chaque fois que je lis un article qui parle d'open source, on dirait que c'est la nouvelle révolution qui va régler tous les problèmes de la terre. Tout ce que j'entends dans la bouche de mes clients c'est "open source" "open source" "open source". Dans certain cas, la solution peut s'avérer être la bonne et dans d'autres non. Je trouve donc déplorable que chaque fois que je lis un article, celle-ci donne l'impression que la seule voix est l'open source!
Signaler un abusA long terme ?
Signaler un abusSimple statistique : aucune des entreprises web du top 10 n'utilise de logiciels Oracle ou microsoft pour servir leur clients. Aucune : car au delas du cout ils ne savent pas faire en terme de scale out.
L'open source permet de réaliser des millions d'euros d’économie par an, et tout les point évoqués sont depuis bien longtemps balayés et ne servent plus que d’argumentaire commercial au éditeurs traditionnels qui veulent garder captif les clients par la peur.
Et les économies ne sont pas seulement sur les licences mais sur la qualité de service supérieure.
Visiteur3134, je pense que tu n'a pas bien compris l'OpenSource.
Signaler un abusUn éditeur ou contributeur de l'OpenSource peut tout à fait utiliser le logiciel OpenSource en question.
Il n'est pas obligé de fusionner son code avec les apports communautaires.
C'est typiquement le cas avec Linux: le project lead n'accepte pas forcément les patches.
Les failles de sécurité connues par des centaines de milliers de gens: il faut les corriger. Point.
Sur le long terme, tout dépend de la typologie du projet: Twitter peut gagner à directement contribuer à RoR pour le rendre scalable. Mais ils n'ont pas fait ce choix sur RoR, ils ont choisi de porter leurs efforts sur d'autres contributions. Par contre, d'autres petits projets n'ont aucun interet à s'impliquer dans l'OpenSource.
Je trouve que la vague open source prend des proportions démesurées. On entend open source sur tous les toits. Qu'est ce que ça veut vraiment dire open source. Le fait que plusieurs centaines de milliers de gens contribuent à une solution ... c'est ça l’open source? Dans le fond le choix technologique est dans le seul et unique but d'économiser des coûts? Comment est-ce que ça coute, maintenir à jour leurs systèmes? Qu'arrive t'-il avec les failles de sécurités connues de centaine de milliers de personnes puisque les sources sont disponibles? Avant une mise à jour des systèmes, comment faire pour savoir que tous les modules ajoutés peuvent bien travailler ensemble? Il vont devoir faire des tests interminables pour s'assurer que les modifications faites par la communauté n'ont pas d'impact sur leurs systèmes. Donc l'open source à court terme vous permet de sauver des coûts, mais qu'en est'-il du long terme?
Signaler un abusPartout GNU/Linux, sauf là où l'on le bannit par vente liée interposée...
Signaler un abus