Facebook公司在其普赖恩维尔数据中心构建移动测试实验室

简介:

日前据悉,Facebook公司已经在其俄勒冈州普赖恩维尔的数据中心创建了一个独特的移动设备测试实验室。该公司采用了60个定制服务器机架,基础设施的自动化工具Chef,数据中心的布线技术,以及近2000部平板电脑和智能手机,旨在提高第三方硬件与自己的软件之间的兼容性。

  Facebook公司在普赖恩维尔数据中心的移动设备实验室

  第一代移动设备机架metalsleds

  第二代移动设备机架godola

  第三代移动设备机架slatwall

  第四代-移动设备机架

Facebook公司曾在实验室对部署手机设备的机架设计进行了几次尝试,而工程师们意识到采用数据中心机架设计是这项工作的最佳选择。现在,该公司正在致力于开源的机架和基础设施的自动化工具的相关设计。

试验和错误

Facebook公司在普赖恩维尔的数据中心是该公司采用自己的设计和产品建设的第一个数据中心,这代表了其在大型数据中心的未来思考和设计理念与创新:2013年,该数据中心分别获得DatacenterDynamics的两个类别的奖项。

Facebook公司已在该数据中心园区新建了一个设施,目前正在兴建第三个,预计将在今年12月完成。

原来,除了数千台兼容开放计算项目(OCP)的服务器以外,普赖恩维尔数据中心还拥有数以千计的移动设备。

该公司在2015年推出了一个CT扫描平台,可以监控Facebook的软件代码更改的影响,并帮助开发者减少发生错误,例如产生更多的数据,内存不足或电池的使用等等。

Facebook公司生产工程师,安东尼·瑞威斯特表示,采用CT扫描最初用于测试插入个人计算机的各个设备的代码,但工作团队很快就意识到他们需要一个实验室,可以在数百种的数千台不同的移动设备上运行,并测试代码,最终建立了这个实验室。

但是建立这样一个实验室是一个挑战。例如实验室中部署的机架使得实验的效果不是很好,这主要是因为第一种设计机架采用了金属材质,而太多的金属意味着使Wi-Fi网络信号会受到影响。

第二个版本称为“gondola”,是采用塑料材质的机架,可以承载每100台移动设备。塑料材质并不具有Wi-Fi干扰,但是USB电缆的长度短造成了很大的问题。瑞威斯特将其技术设计形容为“一团糟”。

  移动设备机架的内部布局

接着,Facebook公司的工程师们建立了第三种机架设计“slatwall”,整个空间用金属和木材构建,就像移动设备运营商店那种组合的货架。这种类型的单间可容纳240部移动设备,这意味着Facebook公司还要建造另外九个这样的空间,以满足其要求。

正是出于这一点,Facebook公司的工程师决定采用第四种设计,数据中心设备部署的方式,也就是他们所熟悉的服务器机架,每个机架可以部署测试32个移动设备。

“我们定制自己的机架,并将其设计成为一个电磁隔离(EMI)的空间。每个机架容纳8台MacMini(或测试Android系统的四个OCPLeopard服务器)系统驱动的手机,并进行安装,测试和卸载我们正在测试的应用程序。每个MacMini可以连接4个iPhone,而每个OCPLeopard服务器可以连接到8个Android设备,每个机架总共可以测试32部手机。”瑞威斯特解释说。

“这些手机通过每个机架的无线接入点连接到Wi-Fi网络。这些手机部署在一个稍微倾斜的面板上,安装的摄像头可以记录他们的屏幕状态。工程师可以远程访问这些摄像头,可以详细了解每一部手机对代码的变化作出的反应。”

工程师们还部署了Chef,这是Facebook公司使用的管理其庞大数量的服务器的一个软件工具,可以对移动设备进行自动化管理。该公司现在计划部署两个开源的机架和Chef工具。这两个机架采用了新型的机架设计,可以部署64个设备,是该实验室的硬件密度的两倍。

“我们希望通过开放的硬件设计,通过移动设备测试机架和自动化管理软件工具来控制和测试手机,其他公司也可以从我们的做法获得效益,并对我们的设计提出更好的建议。”瑞威斯特说。





====================================分割线================================


本文转自d1net(转载)

目录
相关文章
|
7月前
|
测试技术 持续交付
单元测试:构建稳健应用的第一步
在现代软件开发中,单元测试已经成为构建稳健应用程序的不可或缺的一环。它们是自动化测试的一种形式,旨在验证应用程序的各个部分是否按预期工作。本博客将深入探讨单元测试的核心概念、实施方法以及为什么它们对于开发可维护、可靠的软件至关重要。
29 0
|
4月前
|
测试技术 Docker 容器
使用Docker构建多环境应用:开发、测试、生产环境
Docker已经成为了现代应用程序开发和部署的核心工具之一。通过使用Docker,开发团队可以轻松地在不同的环境中构建、测试和部署应用程序,从而提高开发速度和应用程序的可移植性。本文将介绍如何使用Docker构建多环境应用,包括开发、测试和生产环境,并提供丰富的示例代码,以帮助大家轻松应对不同环境的挑战。
|
1月前
|
Java 测试技术 持续交付
【软件工程】单元测试:构建坚固软件基石的不可或缺一环
【软件工程】单元测试:构建坚固软件基石的不可或缺一环
21 0
|
3月前
|
安全 Linux 应用服务中间件
Linux系统管理与服务器安全:构建稳健云数据中心
Linux系统管理与服务器安全:构建稳健云数据中心
140 0
|
3月前
|
测试技术 UED Python
使用Python构建自动化测试框架
本文介绍了如何使用Python语言构建一个强大的自动化测试框架,该框架可以帮助开发人员在软件开发过程中进行高效的测试工作。通过使用Python的强大功能和第三方库,我们可以轻松地编写、运行和管理各种测试用例,并生成详细的测试报告,提高软件质量和开发效率。
|
3月前
|
测试技术 Apache 项目管理
软件测试|探索Flask接口路由技术:构建灵活可拓展的Python应用
软件测试|探索Flask接口路由技术:构建灵活可拓展的Python应用
28 1
|
4月前
|
SQL Oracle 关系型数据库
助力工业物联网,工业大数据之ODS层构建:申明分区代码及测试【十】
助力工业物联网,工业大数据之ODS层构建:申明分区代码及测试【十】
43 0
|
4月前
|
安全 测试技术 持续交付
Docker和容器编排工具的自动化测试:构建可靠的容器化应用
容器化应用程序在现代软件开发中越来越受欢迎,而Docker和容器编排工具如Kubernetes、Docker Compose等的自动化测试是确保应用程序的可靠性和稳定性的关键。本文将深入探讨如何使用自动化测试来验证和验证Docker容器化应用程序,提供丰富的示例代码和详细的指南,以帮助您构建更可靠的容器化应用。
|
4月前
|
安全 Linux 应用服务中间件
Linux系统管理与服务器安全:构建稳健云数据中心
Linux系统管理与服务器安全:构建稳健云数据中心
124 0
|
5月前
如何在手机上查看测试vue-cli构建的项目
如何在手机上查看测试vue-cli构建的项目
36 0