Ces géants du Web qui passent au Cloud 2.0 Twitter : une architecture orchestrée par Apache Mesos

Twitter est bien connu pour avoir été développé à l'origine en langage Ruby. C'est vrai pour ses frontaux, pour le site web lui-même, mais son back office s'appuie désormais sur le langage Scala. Celui-ci s'exécute sur des machines virtuelles Java containérisées, et a aujourd'hui évolué vers une architecture de type micro-services.

Aurora pour contrôler l'architecture de micro-services

Pour gérer cette architecture en micro-services, Twitter utilise le système de gestion de cluster Apache Mesos. Ce fut le premier déploiement de Mesos sur une infrastructure de cette taille. Une solution à laquelle les ingénieurs de Twitter ont ajouté l'intelligence du framework Aurora. C'est cette couche open source qui s'assure que toutes les tâches de fond nécessaire au service Twitter fonctionnent correctement. En cas de panne sur une machine ou un cluster de machines, Aurora va redistribuer la tâche pour que Twitter ne tombe pas.

En termes de bases de données, les équipes de Twitter ont préféré développer leur propre base NoSQL à partir de Cassandra. Cette nouvelle base de données, Manhattan, a été créée pour présenter les plus faibles temps de latence face à la sollicitation des applications, tout en assurant la haute disponibilité et la capacité de montée en charge requises par ce type de service.

architecture de twitter. schéma projeté par adrian cockcroft, spécialiste des
Architecture de Twitter. Schéma projeté par Adrian Cockcroft, spécialiste des micro-services et ex-architecte cloud de Netflix, lors d'une présentation réalisée à l'occasion de la DockerCon Europe 2014. © Adrian Cockcroft