Facebook is now predominantly a mobile company, and that is why its new Oregon data center has a “Mobile Device Lab” that uses real devices to control its performance in real-time, according to TechCrunch. If Facebook wants all users to have the same experience, the app and Facebook’s mobile website must act the same, no matter which device is being used.
How has Facebook scaled up?
Facebook’s Mobile Device Lab has racks of several devices, from bargain handsets to flagships, that can hold around 60 devices. It all reportedly started with a “sled” that holds devices in a metal rack, but the metal blocked Wi-Fi. A Gondola (a sketchy plastic rack one sees in a low-end department store display) was built, but the cables running to and from it were clumsy. Then there was “Slatwall,” an extension of the Gondola, which allows Facebook to have 240 devices active at a given time.
Warren Buffett: If You Own A Good Business, Keep It
Facebook wanted 2,000 devices up and running, but keeping them at its Menlo Park headquarters was not going to work. So they started deploying them to its data centers.
Racks and signals
It looked simple. Just plug some phones in, keep them on, and run Facebook, but there are data center issues as well. For example, buildings and phones are always different. In addition, testing phones is a detailed process. To accommodate a robust Wi-Fi signal and a rack to power things, there has to be some amount of isolation.
Those racks either have four OCP Leopard serves (Android) or eight Mac Minis (for iOS devices). The racks are designed to function in an electromagnetic isolation chamber. Each OCP servers runs eight Android devices, whereas each Mac is connected to four iPhones.
Each rack can accommodate around 32 phones and has its own Wi-Fi access point for the devices. To record what is happening on-screen, the phones are presented on a slight slant. The physical wireless access point is kept at a four-foot distance from the devices and is insulated from other racks to avoid any signal interference.
Facebook uses a configuration manager and package manager named “Chef” for its servers. Chef assists the team in making sure that each server is running the proper configuration files and correct services. Chef ensures uniformity across servers, something very critical to determine where any issues may lie.
Going forward, Facebook reportedly plans to scale its racks to hold up to 64 devices, but before that, it will have to overcome several hurdles. It will also have to redesign the racks to fit bigger phones.