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(转载)

目录
相关文章
|
21天前
|
存储 数据管理 测试技术
构建Python构建自动化测试框架(原理与实践)
当谈到软件质量保证时,自动化测试是一个不可或缺的步骤。Python作为一种简单易学的编程语言,具有丰富的测试框架和库,使得构建自动化测试框架变得相对简单。本文将介绍如何使用Python构建自动化测试框架,包括选择合适的测试框架、编写测试用例、执行测试和生成报告等方面。
构建Python构建自动化测试框架(原理与实践)
|
11天前
|
测试技术 数据库 Python
使用django构建表单测试
【6月更文挑战第14天】该文档介绍了如何对本地库进行自动化测试,特别是关注于代码结构和模型测试。作者鼓励为其他模型和表单创建类似的测试,并提及测试应避免对底层框架的重复验证。
53 0
使用django构建表单测试
|
26天前
|
设计模式 敏捷开发 监控
深入探索自动化测试框架的选择与构建
【5月更文挑战第30天】软件测试是确保产品质量的关键环节,随着敏捷开发的流行及持续集成的普及,自动化测试成为提升效率、保障质量的重要手段。本文将探讨如何根据项目需求选择适合的自动化测试框架,并提供一个构建高效自动化测试框架的策略。文中不仅分析了当前流行的自动化测试工具,还提出了一套结合最佳实践的构建流程,旨在帮助团队打造可靠且易于维护的自动化测试环境。
|
26天前
|
安全 物联网 测试技术
构建未来:Android与IoT设备的无缝交互深入探索软件自动化测试的未来趋势
【5月更文挑战第30天】在物联网(IoT)技术快速发展的当下,Android系统因其开放性和广泛的用户基础成为了连接智能设备的首选平台。本文将探讨如何通过现代Android开发技术实现智能手机与IoT设备的高效、稳定连接,并分析其中的挑战和解决方案。我们将深入挖掘Android系统的底层通信机制,提出创新的交互模式,并通过实例演示如何在Android应用中集成IoT控制功能,旨在为开发者提供一套可行的指导方案,促进IoT生态系统的进一步发展。
|
26天前
|
敏捷开发 监控 测试技术
深入探索自动化测试框架的选择与构建
【5月更文挑战第30天】在追求高效、可靠的软件发布周期中,自动化测试成为确保产品质量的关键。本文将探讨如何选择合适的自动化测试框架并指导构建一个符合项目需求的框架体系。我们将通过分析不同测试场景和需求,评估Selenium、Appium和JUnit等流行工具的优缺点,并提供策略性建议,以助读者构建出既灵活又稳定的自动化测试环境。
19 3
|
26天前
|
敏捷开发 监控 测试技术
探索自动化测试框架的构建与实践
【5月更文挑战第30天】 在软件开发周期中,测试环节是保证产品质量的关键步骤。随着敏捷开发和持续集成的普及,自动化测试成为提高测试效率和准确性的重要工具。本文将深入探讨自动化测试框架的构建与实践,重点分析其设计原则、关键技术选型以及实施过程中的挑战和解决方案。通过对不同自动化测试工具的比较,我们将展示如何根据项目需求定制合适的测试框架,并分享一些实用的优化技巧,以期为软件测试人员提供参考和启发。
|
25天前
|
人工智能 自然语言处理 安全
构建未来:AI驱动的自适应网络安全防御系统提升软件测试效率:自动化与持续集成的实践之路
【5月更文挑战第30天】 在数字化时代,网络安全已成为维护信息完整性、保障用户隐私和企业持续运营的关键。传统的安全防御手段,如防火墙和入侵检测系统,面对日益复杂的网络攻击已显得力不从心。本文提出了一种基于人工智能(AI)技术的自适应网络安全防御系统,该系统能够实时分析网络流量,自动识别潜在威胁,并动态调整防御策略以应对未知攻击。通过深度学习算法和自然语言处理技术的结合,系统不仅能够提高检测速度和准确性,还能自主学习和适应新型攻击模式,从而显著提升网络安全防御的效率和智能化水平。 【5月更文挑战第30天】 在快速迭代的软件开发周期中,传统的手动测试方法已不再适应现代高效交付的要求。本文探讨了如
|
1月前
|
XML Java 测试技术
Maven 构建 & 项目测试
本节介绍了如何使用Maven进行Java应用的构建和测试。在`C:\MVN\consumerBanking`项目中,`pom.xml`配置了JUnit测试框架。执行`mvn clean package`命令,Maven会清理目标目录、编译源码和测试代码,运行测试,并生成`consumerBanking-1.0-SNAPSHOT.jar`。测试报告位于`surefire-reports`目录。
|
18天前
|
XML Java 测试技术
Maven 构建 & 项目测试
在本节中,我们学习了如何使用Maven构建和测试Java应用。在`C:/MVN/consumerBanking`项目中,`pom.xml`配置了JUnit为测试框架。通过命令行运行`mvn clean package`,Maven执行清理、编译、运行测试和打包成`consumerBanking-1.0-SNAPSHOT.jar`。测试报告位于`target/surefire-reports`。新增`Util.java`类后,更新`App.java`以调用它。执行`mvn clean compile`后,运行结果显示"Hello World!"。
|
26天前
|
机器学习/深度学习 安全 网络安全
利用机器学习优化数据中心能效的研究数字堡垒的构建者:网络安全与信息安全的深层探索
【5月更文挑战第29天】在云计算和大数据时代,数据中心的能效问题成为关键挑战之一。本文通过集成机器学习技术与现有数据中心管理策略,提出了一种新型的智能优化框架。该框架能够实时分析数据中心的能耗模式,并自动调整资源分配,以达到降低能耗的目的。研究结果表明,应用机器学习算法可以显著提升数据中心的能源使用效率,同时保持服务质量。