Avec près de un milliard d'utilisateurs à travers le monde et 500 millions de visiteurs chaque jour sur son site, Facebook a travaillé dur sûr la gestion de ses systèmes. Pour l'aider dans cette démarche, la société a mis au point ses propres outils de gestion et de développement pour ses besoins spécifiques.

Parmi ces outils, on peut citer : Perflab pour évaluer les changements du site réalisés par les ingénieurs, Gatkeeper pour des tests A/B (pour calculer la performance d'une fonctionnalité) avancés de changement de code et Claspin, fournissant une carte haute densité sur la chaleur d'un grand ensemble de serveurs. « Nous avons passé beaucoup de temps à construire notre catalogue d'outils internes », a déclaré Jay Parikh, vice-président de l'infrastructure et de l'ingénierie chez Facebook, lors de la conférence O'Reilly Velocity.

Avec Perflab, Facebook peux tester toutes les modifications de code réalisées par les ingénieurs. L'outil aide le réseau social à intégrer des milliers de révisions de lignes de code par semaine. Il suit aussi les métriques de back-end, comme l'utilisation du processeur et les temps de réponse. Pour Gatekeeper, Jay Parikh explique que c'est essentiellement « un cadre de tests A / B gonflé aux stéroïdes. » Il distingue le code publié et l'activation d'une fonctionnalité en mode production. Enfin, pour Claspin, le dirigeant précise qu' « il donne une vue des systèmes distribués dans les infrastructures de Facebook. Cela nous permet de repérer très rapidement, en quelques clics, les problèmes présents ou à venir, en amont et en aval du système ».

Pas de distribution en Open Source en préparation

Jay Parikh annonce que le réseau social a élaboré une douzaine d'outils en propre. S'il ne commercialise pas ces outils, Facebook peut les proposer en Open Source, comme cela a été le cas en 2011 pour son logiciel de fabrication, Phabricator. Cependant aucune décision n'a été prise pour que Claspin, Gatkeeper et Perflab suivent cette voie. « Ces outils sont si ancrés dans notre système, qu'ils ne seront pas facilement généralisables. Nous ne sommes donc pas sûrs de les mettre en Open Source maintenant », affirme Jay Parikh.

Facebook est en tout cas devant un chantier immense en matière de gestion de données et de lignes de code. « Aujourd'hui, nous allons intégrer 10 To de données de type logs dans une framework Hadoop en 30 minutes environ. Pendant cette durée, 6 millions de photos vont être téléchargées et 160 millions d'actualités vont être écrites. Le réseau social supporte chaque jour 700 millions de modifications de code auprès de ses utilisateurs », conclut le responsable.