A principios de esta semana, Facebook dio un pequeño grupo
de periodistas un recorrido por su centro de datos en Prineville, Oregón. En el
proceso, la compañÃa también mostró su laboratorio de dispositivo móvil para
realizar pruebas en dispositivos fÃsicos nuevo IOS y versiones de Android de la
aplicación de Facebook, Messenger y Instagram.
El laboratorio de dispositivos móviles actualmente ocupa 60
bastidores en el centro de datos. Cada estante tiene 32 móviles, para un total
de casi 2.000 dispositivos, pero, como de Facebook Antoine Reversat nos dijo,
el plan es llevar este número a 64 equipos por rack.
Cada bastidor cuenta con su propia señal de Wi-Fi y es
también un recinto EMI para asegurarse de que bastidores vecinos no pueden
captar las señales Wi-Fi de sus vecinos.
Cada vez que un ingeniero hace cambios en una de las
principales aplicaciones móviles de Facebook, que la nueva versión de la
aplicación se prueba de forma automática en estos dispositivos para asegurarse
de que no hay accidentes o problemas de rendimiento.
Los dispositivos disponibles van desde teléfonos básicos
Android Galaxy a los últimos iPhones. Como se señaló Reversat, estos
dispositivos también se ejecutan un número de diferentes versiones de sus
respectivos sistemas operativos. Para Android, que son todas las últimas
versiones de KitKat sobre, y para iOS, que es iOS 7 a 9 (supongo que el equipo
también está probando iOS ya 10, también).
Para asegurarse de que las pruebas son comparables, los
teléfonos de todos reinicio después de cada prueba.
Todos los teléfonos también necesita ser conectado a un PC o
Mac con el fin de recibir el último código. Debido a esto, hay PCs y Mac Mini
de debajo de cada estante. Facebook utiliza ocho Mac Minis por rack para las
pruebas de iOS (porque cada uno sólo puede hablar con cuatro iPhones) o cuatro
servidores leopardo OCP para el ensayo de dispositivos Android.
Pero ¿por qué optar por pruebas en el dispositivo cuando hay
un montón de simuladores que serÃa mucho más fácil de manejar? Los equipos de
Facebook se argumenta que mientras que los simuladores son buenos para
averiguar qué aplicaciones pueden no ser correcto funcionamiento, no son
grandes para las pruebas de rendimiento. "Por ejemplo, que no serÃa capaz
de localizar a una regresión rendimiento de un 1 por ciento en un
simulador," Reversat dice en el anuncio formal de hoy. "Asà que
optamos por pruebas en el dispositivo."
Mientras que Facebook no dijo casi nada sobre cómo se empuja
actualizaciones a los teléfonos, además de que utiliza Chef, Reversat señaló
que el laboratorio dispositivo surgió a partir del trabajo de la compañÃa en
CT-Scan, un servicio de monitoreo del desempeño de la compañÃa habló por
primera el año pasado. Al principio, los ingenieros se ponen a prueba las
aplicaciones en un solo dispositivo, pero teniendo en cuenta el número de
teléfonos y tabletas que hay en el mercado hoy en dÃa, que simplemente no
escala y un pequeño equipo dentro de la organización de IngenierÃa de
Producción de Facebook ponen en camino para construir estos bastidores.
Las primeras versiones de estos bastidores eran bastante
básico y realmente no funcionan bien (en gran parte porque estaban hechas de
metal y demasiado metal significa que la señal Wi-Fi simplemente no funciona
más). El equipo también experimentó con la construcción de un muro con 240
dispositivos, sino que ocupaba demasiado espacio.
La última versión del dispositivo móvil del estante de la
empresa está utilizando actualmente en Prineville también cuenta con una cámara
para realizar un seguimiento de lo que sucede en los dispositivos, aunque se
parece bastante al equipo no ha activado esta función hasta el momento.
El equipo ahora está trabajando en el apoyo a un máximo de
64 dispositivos por rack y haciendo que el proceso de empujar nuevo código para
los dispositivos más eficientes. Tal vez aún más importante, sin embargo, el
equipo también tiene previsto abrir-fuente del diseño de los bastidores y las
recetas del cocinero que impulsan los teléfonos.
Facebook, por supuesto, no es el único en el funcionamiento
de un laboratorio como este. Si desea probar sus propias aplicaciones, por
ejemplo, se puede optar por ejecutarlas en los servicios de la talla de Xamarin
(ahora propiedad de Microsoft), Amazon y Google (para aplicaciones de Android).