Des racks et des racks de serveurs remplis de 2 000 smartphones iOS et Android qui testent inlassablement les modifications apportées au code des apps de Facebook et d’Instragram. Objectif, vérifier si ces révisions n’ont pas d’impacts négatifs sur les performances et l’autonomie de ces téléphones, pour la plupart anciens.
Facebook a convié des journalistes américains à visiter son premier data center ouvert en 2011, dans l’Oregon (au nord de la Californie). Son “Mobile Device Lab” consiste en 60 baies contenant chacune 32 smartphones de générations souvent anciennes.
Ces presque 2 000 téléphones sont télécommandés pour tester constamment les dernières build des apps du réseau social et celles de ses filiales, leur a expliqué Antoine Reversat, l'un des ingénieurs responsables. Il y a aussi bien des iPhone 4 que des 5c ou les dernières générations de Nexus. Sur iOS comme sur Android, il s’agit de voir dans quelle mesure des téléphones, certains avec quelques années au compteur, peuvent encaisser les changements apportés dans le code de ces apps. Est-ce que leur batterie en prend un coup, est-ce que l’app perd en fluidité, quid du côté de la mémoire ? Il y a lieu effectivement de se poser la question (lire Facebook : 15 % de batterie en plus en supprimant l'app).
Pour piloter les grappes d’iPhone, 8 Mac mini sont sollicités. Ces téléphones sont aussi filmés pour que les ingénieurs puissent, le cas échéant, observer à distance l’activité sur leurs écrans. Un test qui n’est pas réalisé en revanche, c’est le comportement de ces apps en fonction de qualités de connexion médiocres. Ce n’est pas non plus prévu à terme, mais Facebook s’est déjà penché sur la question en sollicitant directement des employés de son campus (lire Le mardi c’est “connexion pourrie” chez Facebook).
Ce laboratoire de test est amené à grandir, les compartiments hébergeront prochainement le double de smartphones, il faudra aussi accommoder des rangements à la présence de modèles à grand écrans qui sont peu testés aujourd’hui. Facebook veut également simplifier les procédures de test. En passant par exemple de 20 étapes à 1 seule les opérations nécessaires pour remettre un iPhone dans l’état qui précède le lancement d’une nouvelle série de tests.
À l’origine, les développeurs de Facebook testaient leur code de manière artisanale, avec un téléphone à leurs côtés et un logiciel qui automatisait l’exécution des tests. La procédure a évolué au profit d’un simulateur logiciel. Mais il s’est avéré que ce système manquait de précision pour estimer des changements dans le comportement, telle une régression dans les performances de l’ordre du pourcent.
Facebook a plusieurs fois revu sa copie pour améliorer le dispositif. Les armoires tout métal, équipées chacune d’une connexion Wi-Fi, perturbaient les communications. Des plateaux en plastiques ont été utilisés à la place.
Puis c’est la place qui a manqué. La première installation se situait dans une pièce du campus californien, elle contenait 240 téléphones. Ce nombre ne pouvant aller qu’en augmentant à toute vitesse, ce labo a été déplacé l’année dernière dans les locaux plus vastes d’un data center voisin.
En plus de continuer à faire croître ce labo, Facebook prévoit d’en mettre à disposition en open source les détails techniques. Pour qu’il profite à d’autres éditeurs confrontés aux mêmes problématiques d’un parc de mobiles hétéroclites.