Facebook从开源服务器、数据中心直到刚刚宣布将开源存储方案,Facebook 正在帮助互联网企业除去那些昂贵而且不必要的组件来降低成本,从新设计供电、主板和散热系统,并将方案分享给所有人。Wired记者Cade Metz对Facebook的系统工程经理Amir Michael进行了采访,为我们描绘了Facebook开源服务器和数据中心的诞生过程。你很难想象,Michael和他的团队仅仅用了12个月就完成了这一切。以下为全文翻译:
Amir Michael在Faceobook的服务器实验室
Amir Michael在Facebook工作,作为一名黑客这没有什么值得惊讶的。但他并非一名传统意义的软件黑客,而是一名硬件黑客——在作为临时实验室的收发室里。
到2010年底,Facebook在Palo Alto的总部码头不再接收任何货物。Michael和另外几名工程师随之涌入,因为他们需要建立更大的服务器实验室,这不,他们已经在隔壁建立了存储房间。
这里曾是发货码头,在地板上有一个巨大的标尺。有时候,这个巨大的标尺用来给包裹称重。当Michael和他的团队搬进来后,标尺用来测量从零开始制造的服务器。12个月后,他们为Prineville数据中心设计的服务器完成,其中一台放在标尺上。他爱不释手,这个服务器已经批量生产并在世界各地使用。
Michael制造的服务器轻了10磅。
像其他互联网巨头一样,Facebook为他的互联网帝国提供了大量数据中心网络和服务器,投入巨大,很多很多钱。如果你要为上亿的用户提供网页,就需要花掉大量的金钱,不仅仅要购买硬件,而且要为这些硬件提供电力。从某种角度上说,你真的花了太多钱了。你需要的东西与世界上的任何一件东西都不一样。
2009年春天,Facebook将Michael招募进来,帮助公司提高效率。“我的主管和我说:‘嘿,来吧,我们有很多架构要建立,我们要做许多创新,更加经济以及更高的能源效率’”,Michael回忆。“我问道有没有什么具体的目标么?他说:‘没有。为什么不来加入我们并找到它呢?’”于是,Michael就做了这些。
为了保持Facebook世界知名“黑客文化”,他从一块空白的地板开始,利用能触手可及的一切东西,以工程师的疯狂速度建造了Facebook IT存储间以及隔壁的收货“码头”。结果就是一个全新的服务器诞生了,不仅能效高、更加经济,而且外形(physically )更高效。
“为了优化成本,我们拿掉了标准服务器中很多组件,”Michael说,“这使得它更容易维修。由于少了很多阻挡物,散热变得更加高效。并且轻了10磅:这让我们少购买了10磅,任何时候把它放入或从机架上卸下变的更轻松,最后到报废的那一天,也少回收了10磅。”
Facebook并不是独自设计自己的服务器。Google参与几年了。不同的是,Facebook会邀请你进入临时的实验室,参观他们是怎么做的,还会把Michael设计的服务器提供给你,甚至包括Prineville数据中心的设计蓝图,有了它你就可以用把这些服务器串联起来工作了。
互联网巨头需要高效的硬件处理各种大量的业务。无论是金融机构、生物医药还是其它的商业机构,都遇到了同样的问题。Facebook希望帮助自己,也帮助他们。通过Michael以及其他Facebook的硬件智能团,可以将双方紧密携手。
在曾经的收发室内,Michael把服务器从机架上卸下。
最好的经验就是没有经验
在加入Facebook前,Michael在Google做了5年半多的硬件工程师。他调试过各种主板和电源,但从未设计过自己的服务器。这就是为什么他适合为Facebook制造一台服务器的原因。“我的愿景并不是混乱的,”他说。“我研究了很多独立的部件,但我从未涉及整个系统。”
他开始摆弄Facebook数据中心中的各种服务器和设备,Facebook仅仅租赁空间和基础设施。他和其他工程师做了一些改进,但他们很快意识到他们不能改变多少,除非从头设计数据中心和服务器。“我们不能改变一点数据中心,再改变一点服务器,”Michael说。“我们的确改进一些,但我们想走的更长远。”
于是一名叫Jay Park的工程师发力研究数据中心,Michael专注服务器。但他们还在一起工作。设计的想法由两个人密切合作完成。
一般而言,数据中心在交流、直流电转换以及不同电压间转换会浪费很多电能。但一天晚上,Jay Park说,他梦见了一个新的数据中心不存在这些浪费。当他醒过来,手边并没有纸,就随手在餐巾纸上画出了他的构想图。
我们没有采用大量的分散的装置将电压降到208伏,而是直接将277伏电流供给服务器机房。“我们这么做的原因和供电公司在传输网络上采用高电压的原因是一样的。”Michael说。“更高的电压,意味着更少的浪费,更高的效率。”而且,省去了那些庞大的不间断电源(UPS),从而减少了损耗。取而代之的是,Park和其他工程师将直流电池放进旁边的机架上,并将其装进服务器。这意味着,后备电源的供电距离较短,而且不需要从直流电转换到交流电,再从直流电转换到交流的长途跋涉。
但Park梦想中的数据中心还不能工作,除非你有能够适应这些变化的服务器。Michael对数据中心生态系统的贡献是将提供了两个而不是一个电源接口。其中包含一个277伏特交流电源,和一个在旁边机架上的48伏特的直流电池。“电源装置十分智能,当交流供电失效时,将自动切换到电池供电,”Michael说。“服务器甚至不知道电源供电消失了。”
但他并没有停下脚步。他设计了从服务器底架、风扇、主板等一切东西。Michael和他的团队并不是在现有的基础上修修补补,而且完全设计了一个新的机器。
一个Facebook的服务器部门的工作台。有时候会增加一倍大小。
哪里的世界是Amir Michael的?
以前从来没有做过一台服务器,你该怎么做呢?你阅读了大量描述供电装置的技术手册。于是,你找到了一个能真正制造电源的家伙。
当他开始设计服务器,他想到了Synnex,一家全能公司,在过去30年,深耕于全球的电脑硬件的购买和销售业务。Synnex总部位于美国加利福 尼亚州的佛瑞蒙,他与台湾、中国大陆以及其它地区的原始设备制造商(ODM)关系紧密。Michael要求公司指派他与各种各样的电源制造商、主板制造商 联系。
“我们也很愉快,”Synnex高级副总裁、总经理Steve Ichinaga表示。Steve Ichinaga与Michael紧密合作。毕竟这是在Facebook。最终,Facebook成为了Synnex的客户。在服务器运往 Prineville的数据中心前,Synnex负责对其进行测试。
通过Synnex和其它渠道,Michael与许多设备制造商取得联系,至少3家同意帮助制造服务器:广达,一位于台湾的主板和电脑制造商;台达, 另一家台湾制造商,专攻电源装置;宝威,另一家总部在美国的电源制造商。宝威拒绝接收采访,台达和广达没有对采访要求做出回应。但据Michael透露, 三家公司不仅为Facebook服务,而且他们之间彼此还有合作。
“我们选择的伙伴非常开放,沟通很顺利,并给我们分享了很多经验,帮助我们更好的优化,”Michael说。“我们与主板供应商分享了我们的供电设计,并邀请他们一起工作。因此,我们紧密的合作。每个人都能看到全局,这让所有的工程师更有效率。让我们有同样的思考方向。”
别的服务器设计师并不这样工作,他补充道,显然在暗指Google。“其它公司将这些事情分离开来,要花很多精力来进行沟通和理解。工程师不可能集中精力设计好的服务器。许多很小的细节,人们也不得不亲自描述。”
Facebook也与Intel和AMD合作,他们的CPU用于制造服务器。Intel数据中心群组高密度计算业务总经理 Jason Waxman拒绝透露合作的细节,但他表示Intel与Facebook在设计服务器项目上工作“非常和谐”。
通过与这些伙伴合作,Michael的目标是制造一个“无浪费”(vanity-free)的服务器,不含有任何一个Facebook不需要的组 件。“我们不需要花精力去照看服务器,”他说。“没有喷漆,前面板上没有按键,没有logo或徽章。”但是,这朴实的设计只是我们努力的一部分,这帮助我 们减少制冷的成本。
最终,他们被固定在底架上,由于比一般的服务器高,所以可以容纳更大的风扇和散热器。大风扇提供更高效的气流。由于采用更大的散热器,不需要那么多流动的空气。散热器有更大的表面积,帮助CPU散热的效率更高。
同时,Michael的团队从新设计了主板上的芯片位置来增大气流。“这个主意产生了一些列连锁反应,”冷空气吹向发热的设备。设备彼此间不会“遮挡”。更多的冷空气直接吹向需要冷却的设备。通过调整电路设计,我们提升了散热设计。”
Michael从2010年1月开始设计,第一台原型机在夏天到达他的临时实验室。
Facebook风洞,测试服务器散热。
批萨、啤酒、薯片和主板
批萨和啤酒运到这里已经几周了。在Santa Clara的数据中心,Michael组建了“build聚会。”批萨和啤酒用来招待来自Facebook和其它地方的服务器技术员,技术员被分好区,并 在Michael的原型机上工作,他的团队在一边观看。技术员会把他们放在一起,然后再分开。“这很有趣,令人兴奋,并从中学到很多经验,”Steve Ichinaga说,“这是个好办法,让所有的人都知道每件东西是怎么工作的。”
包括Amir Michael和他的工程师在内,工程师们通过众所周知的方法来测试原型机的极端状态。他们安装了热量测试间,并对服务器极端加热和冷却。有时,他们会让 服务器迅速加热或冷却,会产生严重的凝结,生成一大块冰。在第三个房间,他们建立的风道,用来测试服务器散热。在风道边旁,一台示波器用于追踪通过主板的 信号。
Facebook的热量测试间,也称服务器烤箱。
经过3轮原型机、5个月反复测试,他们确定了最终设计方案。12月,整整7个机架的服务器运送到Oregon Prineville的数据中心,Michael和几个工程师也来到这里,不过他们并没有做什么。“我们启动了机架上的服务器,一切都开始工作。没有 bug。婴儿的死亡率——服务器在运输过程中的损坏率非常低,比我们用过的那些服务器要低。”他说。“事实上,那是非常无聊的一天。服务器运来。我们调试。然后我们鼓掌。我们没有其它事可做。”对于过去的5个月测试,这是一份遗书,他说。
他在那里多待了一天防止出任何差错。但什么都没发生。于是他就回家了。
生命的2.0
请拿走我的服务器
Michael说,一个工程师喜欢在Facebook工作的原因就是,我们经常讨论谁不愿意在Facebook工作。与数据中心和服务器一起工作,公司给予了极端的企业文化。 去年四月,在Michael启动那些服务器后3个月后,公司发布了他的设计方案,这成为 了Open Compute Project的一部分。任何人都可以获得它。
任何人都能对其更新。Open Compute Project 1.0发布一年后,Michael和他的团队将要发布2.0版。Synnex建立了新的组织——Hyve,提供开放服务器和其它定制机,一些设备已经在订单系统中,其中包括1、2个互联网大佬级企业的名字。
为了分享设计,Facebook希望降低设备的价格,也鼓励其它组织帮助提高设计。公司清楚这些对大家协作制造服务器有所帮助。
为了制造Facebook的服务器,Michael同宝威的工程师奋斗在意大利,与台达的工程师在德国工作,其它工程师则前往台湾。为了2.0版,他联合了第二家台湾主板制造商纬创。在圣诞假期到来前,我们站在他的服务器实验室中谈论,一名叫Peter Ha的Facebook工程师,以及两名来自其它公司叫不上名字的朋友,一起仔细检查新设计的细节。尽管Michael正走向Facebook的新总部的实验室,这里曾是Sun Microsystems在California Menlo Park的老校区。
他们并不常说英语。碰巧的是,在与Michael结束谈话前我问道,你和你的团队如何应对语言障碍。“我们工程师中的许多人都熟练的说普通话(Mandarin。Facebook中有许多华人工程师?),”他说。“如果沟通中出现困难,谈话语言会变成普通话。”
和其他自称Facebook黑客的同事一样, Amir Michael和他的团队知道如何解决手头的问题,并且与来自世界各地的伙伴良好合作。