Published On: Wed, Jul 13th, 2016

Facebook rises a deceive on the mobile device contrast lab

Earlier this week, Facebook gave a tiny organisation of reporters a debate of a Prineville, OR data center. In a process, a association also showed off a mobile device lab for contrast on earthy inclination new iOS and Android versions of a Facebook app, Messenger and Instagram.

device_testing_lab_facebookThe mobile device lab currently occupies 60 racks in a information center. Each shelve binds 32 phones, for a sum of roughly 2,000 devices, but, as Facebook’s Antoine Reversat told us, a devise is to move this series to 64 inclination per shelve in a future.

Each shelve facilities a possess Wi-Fi vigilance and each shelve is also an EMI enclosing to make certain that adjacent racks can’t collect adult a Wi-Fi signals from a neighbors.

Every time an operative creates changes to one of Facebook’s categorical mobile apps, that new chronicle of a app is automatically tested on these inclination to safeguard that there are no crashes or opening issues.

The accessible inclination run from simple Android Galaxy phones to a latest iPhones. As Reversat noted, these inclination also run a series of opposite versions of their particular handling systems. For Android, that’s all a latest versions from KitKat on, and for iOS, that’s iOS 7 to 9 (I assume a group is also contrast iOS 10 already, as well).

To safeguard that tests are comparable, a phones all reboot after any test.

All of a phones also need to be connected to a PC or Mac in sequence to accept a latest code. Because of this, there are PCs and Mac Mini’s underneath any rack. Facebook uses 8 Mac Minis per shelve for iOS contrast (because any one can usually speak to 4 iPhones) or 4 OCP Leopard servers for contrast Android devices.


But since opt for on-device contrast when there are copiousness of simulators that would be most easier to handle? The Facebook teams argues that while simulators are good during reckoning out since apps might not be operative right, they aren’t good for opening testing. “For example, we wouldn’t be means to lane down a 1 percent opening retrogression in a simulator,” Reversat says in today’s grave announcement. “So we opted for on-device testing.”

While Facebook didn’t contend all that most about how it pushes updates to a phones besides that it uses Chef, Reversat remarkable that the device lab grew out of a company’s work on CT-Scan, a performance-monitoring use a association initial talked about final year. Early on, engineers would exam apps on a singular device, nonetheless given how many phones and tablets there are on a marketplace today, that simply didn’t scale and a tiny group within Facebook’s Production Engineering classification set off to build these racks.

  1. IMG_20160712_122640

  2. fb_data_center-2

  3. fb_data_center

The beginning versions of these racks were flattering simple and didn’t unequivocally work good (largely since they were done from steel and too most metal means a Wi-Fi vigilance simply didn’t work anymore). The group also experimented with building a wall with 240 devices, nonetheless that took adult too most space.

The latest chronicle of a mobile device shelve a association is now regulating in Prineville also facilities a camera to lane what’s function on a devices, nonetheless it seems a group hasn’t utterly activated this underline yet.

The group is now operative on ancillary adult to 64 inclination per shelve and creation a routine of pulling new formula to a inclination some-more efficient. Maybe even some-more importantly, though, a group also skeleton to open-source a pattern of a racks and a Chef recipes that expostulate a phones.

Facebook, of course, is not alone in using a lab like this. If we wish to exam your possess apps, for example, we can opt for using them on services from a likes of Xamarin (now owned by Microsoft), Amazon and Google (for Android apps).


About the Author

Leave a comment

XHTML: You can use these html tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>