小蜜锋 - 云代码空间
—— 技术宅拯救世界!
图片摄影: Google/Connie Zhou
如果你想找寻这个数字时代的悸动和心跳——这个真实存在的地方展现给你的是比特王国和极客世界的壮丽不已和开放辽阔——没有一个地方比北卡罗来纳州的勒努瓦(Lenoir)更让人心跳加快。这座只有1.8万人口的小城曾经遍布着家俱工厂,现在这座城市变成了Google的数据中心。
工程技术的巨大力量使只成立14年的搜索巨擎,令人赞叹地一跃成为世界上最成功、最有影响力和最有实力的科技公司。它不断改进、优化的算法令人们获取信息,甚至是思维方式都发生了改变。其同样复杂的广告标售平台,同样成为Google永远的掘金机器。但是,另一方面,Google不为人熟知的战略及其工程技术领域的突破,无疑是Google成功的关键:配套建立、组织并管理庞大的服务器和光纤电缆。Google的基础设施遍布在全球各大州建立起来的巨大建筑物内——在当地建立起来的数十个信息宫殿,就如爱荷华州康瑟尔布拉夫斯、比利时的圣吉斯兰、未来的香港和新加坡的数据中心一样各具特色。这些地方的数据中心虽未向我们言明,但是无数的服务器不断处理并记录着人类编年史上的各种生活和体验。
实体网络、上千公里的光纤和服务器的聚合,组成了Google数据云之母,所有这些使一家初创的搜索公司真正地变成了现在的Google。花费数十亿美元的基础设施使Google每天为200亿个网页做索引;每天处理30亿次搜索查询;及时处理上亿个关键字广告;为4.25亿个Gmail用户提供免费空间;每天压缩数百万个YouTube视频;没有敲完键盘就提供给用户的即时搜索服务。在不久的将来,Google可穿上身的电脑平台Google眼镜一旦发布,Google的基础设施还会为其可视搜索结果提供技术支持。
想为Google数据中心献上最美颂歌的吟游诗人遇到的问题是,只有Google的核心员工才被允许一窥数据中心全貌,因为Google视其数据中心基础网络设施为赢得竞争的终级法宝。直到今天,一切有了改变。
爱荷华州Council Bluffs数据中心,图片摄影: Google/Connie Zhou
现在我就站在了这里,站在了位于勒努瓦的这幢巨大白色建筑旁,严密把守的大门前还站着Google员工。我即将成为最罕有的一位非Google员工,因为我可以走进Google数据中心的内部,来参观传奇的Google服务器库房,我只是简单地把它称之为“库房”。我的来访足以证明Google已经放开其“黑箱”政策。接待我的Google员工包括负责数据中心建设与运营高级主管乔·卡瓦(Joe Kava),和他的同事维塔利·谷德纳特——负责补充计算机设备并保证各种设备的稳定运行。
库房外面的警示牌警告没有耳膜保护措施是不得进入的。浅黄色的耳塞迅速地分配给我们,样子就像什锦果干,有如熊猫耳朵的耳罩和航空地勤工作人员戴的差不多。(控制空气流动的风扇会发出刺耳的嗡嗡声。)我们赶紧戴上耳塞。卡瓦举起手并伸向了安检扫描器,接着有如千斤重的大门徐徐打开。然后,我们就进入了隆隆作响的Google数据中心……
副总裁乌尔斯·霍泽尔(Urs Hölzle)ⓑ在被谢尔盖·布林和拉里·佩奇聘用前从未踏进这里半步。霍泽尔头发浓密,说话轻声细语,他在入职Google前是加州大学巴巴拉分校的计算机科学教授。1999年2月,新雇主带他来到位于圣克拉拉的出埃及服务器数据中心。出埃及是一家主机托管商,许多公司都在这里租用了服务器托管场地。Google的“笼子”和eBay及其它发展迅速的互联公司的设备紧邻着。但是搜索公司的服务器的排列却是最密集、最凌乱的。布林和佩奇打算升级数据系统,因为这时的系统足足需要3.5秒钟才能给出搜索结果,而且每到周一系统就会瘫痪。霍泽尔来这里就是负责升级数据系统的。
这可不是件容易的事儿。出埃及服务器系统简直是“乱了套”,霍泽尔说道。而且这种大杂烩现像还会越来越乱。Google每周不仅要处理数百亿条搜索,而且还要加大搜索频率与力度为网页做索引——收集网页信息并处理这些信息并使其转换为可搜索格式。关键字广告——为广告商提供的一种服务,广告商出价在搜索页面显示和搜索结果相关的商品信息——同样涉及繁复的计算过程,其对服务器的要求不亚于搜索服务。而且,佩奇还相当青睐搜索速度,飞快的搜索结果会给人错觉,以为Google可以和我们有心灵感应,这种小花招更是依赖稳定的服务和互联网接入。Google的搜索结果越快,就会越受欢迎,当然也会面临更多压力。与此同时,Google还增加了其它应用,包括邮箱服务,这就需要即时访问千万亿个字节的存储空间。更糟的是,直到上世纪九十年代末,整个科技公司的低迷状态使很多互联网数据中心不再那么受欢迎,在未来,服务器的租赁成本也会越来越高。
Google想要获得成功,就需要搭建自己的数据中心。Google如何节约成本又高效搭建数据平台的计划代号为“意志力”(Willpower),并且这个计划的实施比任何一家公司都要早。Google白手起家建立起来的第一个数据中心位于哥伦比亚河附近俄勒冈州的达尔斯小城。
霍泽尔和他的团队眼光独到、具有洞察力,他们计划投入6亿美元建设数据中心:数据服务器机房不再需要强制冷,保持过低的温度。一般来说,机器设备都会释放出大量的热量。传统上,数据中心都会使用巨型计算机机房空调保室内温度,所有冷气设备都被塞入高架地板下面,数据中心机房的温度堪比北极圈。然而,这样做就需要巨大的电能,而Google的数据中心则需要耗损全世界1.5%的电能。
Google发现机器前面的所谓的冷通道可以保持在80华氏度左右(约26.6摄氏度)——工作人员可以穿着短袖体恤衫工作,而不像通常那样需穿着保暖毛衣。“热通道”是一片封闭区域,服务器散发出的热量从这里传出,其温度允许达到120华氏度(约48.8摄氏度)。接着,“热通道”的热量可以被注满水的线圈吸收,再被抽出送到室外,经过冷却后又被输送到室内。细数Google所取得的成就,又可以再添加一项:打破惯例,不再使用机房空调。
Google在冷却循环水时,又想出了办法精打细算。很多的大型数据中心要依靠消耗能量惊人的冷却装置来实现,但是Google的超大数据中心只需要使用巨大的塔台代替。热水从超大的、足够多的散热器往下流淌。在这个过程中,热水或被蒸发,或被冷确却到常温(20摄氏度左右)。当水流又到达塔台底部时,水温便会更低一些。在比利时的数据中心,Google就使用循环的工业河道水进行冷却,在芬兰则使用海水进行冷却。
Google经过分析电流的使用,又发现另一个浪费源头:大多数数据中心为了防止断电、保护服务器都使用不间断电力系统。这种电力系统不仅漏电,而且其自身也需要冷却系统。但是Google重新设计了放置服务器及其设备的架子,这样留出的多余空间就可以为每个服务器安装备用电源,所以大型不间断电力设备就可以拿掉不再使用了。根据乔·卡瓦的介绍,光这一项节能方案就可以减省15%的电力损失。
所有这些创新帮助Google前所未有地完成了节能减损计划。衡量数据中心效能的参数叫做电能利用率(PUE)。参数达到1.0是最完美的,说明数据中心所有设备的电能全都有效地被利用。专家估计,能源评估参数能达到2.0——一半的电能被浪费掉了——对于数据中心来说是个正常数值。但是,Google公司的能源评估参数居然达到了1.2。
几年中,Google并没有和其它人分享这些经验。“我们真正的核心优势是大规模计算机网络系统,而且这种大型网络,世界上任何一家公司都不能比拟,”帮助公司建立服务器系统的吉姆·瑞兹说。“我们认为,不让竞争对手知道这些秘密对我们来说是最有益处的。”
但是,保守这个秘密也有弊端。Google被公认为是绿色环保公司的典范。2007年,公司正式承诺要达到碳中和目标,这就意味着公司每一项生产活动所产生的碳分子都要被抵消掉。保守这个能源节约的秘密就会削弱人们的信心:如果竞争对手知道Google可以节约多少资源,他们也同样会努力地追赶Google,那么对我们的环境质量就会真正地有所改善。同样,那堵围墙,特别是包围在达尔斯小城的围墙,也变得越来越可笑。人人都知道此地的拥有者是Google,但是公司仍然拒不承认。
2009年,在一次高效数据中心峰会上,Google宣布了其最新的电能利用率研究成果,并暗示了这项技术的使用技巧。这次会议成为行业实行节能减排的转折点,现在像Facebook和Yahoo等公司都有相似的改进电源使用率的节能措施。
无疑,成为绿色节能的高效公司还是Google发展的长久之计。“当然,我们希望节约能源。”霍泽尔道。“就如我们的Gmail邮箱服务。如果我们的数据中心和服务器依照传统方法运行,那么Gmail的投入将是很庞大一笔开销。因为建立起了高效的数据中心,我们就节约了大笔开支,所以我们有能力为用户提供免费的邮箱服务。”
Google的各种技术突破不仅局限在能源利用上。确实,Google仍然被看作是一家互联网公司,但是由于其大量的生产设备供自用,Google还是世界上最大的硬件生产商之一。1999年,霍泽尔一次性从“三个家伙的电子商店”里买来了2000个可拆卸的电路板。然后,他们自已组装,拆除不需要的零件,最后制作出了一批服务器。这些服务器每个只需要1500美元,而不是5000美元这个标准的市场价。霍泽尔、佩奇和另一个工程师完全自己设计各种设备。“谈不上是什么真正的‘设计’。”霍泽尔说道,还用了手势笔划了一下。
Google的服务器经过了十几代的淘汰和发展,Google现在在建立自己的服务器系统时,会更加得心应手。Google的工程师们完全知道,被严格监控的数据中心真正需要什么——高速度、高效能和稳定连接,及如何不购置多余设备以节省资金。(不需要图形卡,因为根本用着使用屏幕;不使用机箱,因为可以把主板直接放在架子上。)同样的管理方法还用在了计算机网络设备连接上,Google在几年前就开始筹建这些设备。
Council Bluffs数据中心室外,散热器形状的冷却塔把服务器中心吸收的热水冷却为常温水
图片摄影: Google/Connie Zhou
至今为止,Google只有一个领域没有涉足,那就是芯片制造。Google硬件平台副总裁巴特·佐表示,这也有可能改变。“我不会永远说不,”他说道。“事实上,每年拉里·佩奇都会问我这个问题。”
即使你重新认识了Google的数据中心,但如果不能稳定、迅速地把这些二进制数输送到用户的终端设备中,Google所做的这些努力也是白搭。所以,Google试图把世界封装在光纤电缆中。早在2000年时,有些通信公司运营失败,Google利用这个机会,收购了几家没能投入正常使用的光纤网络公司,而且收购价格非常便宜。通过收购、重组、和重铺成千上万股的光纤电缆,现在Google已经建立起了庞大的光纤网络连接。
但是,当你拥有了YouTube等这些应用时,你做的还远远不够。上百万用户从Google仅有的几个数据中心下载视频,同样会使网站速度变得缓慢,增加网站负担。为了解决负载问题,Google会在服务器架子上安装各种网络前哨——即迷你数据中心。有时这些迷你数据中心会和康卡斯特(美国最大的有线网络公司)或美国电话电报公司等这些网络服务商直接建立连接,然后那些最流行的视频会被放置在网络前哨中。例如,你想观看卡莉·蕾·吉普森的视频时,可能你并不是从勒努瓦或达尔斯数据中心抓取数据,几英里之外的服务器托管商最终会把数据传送到你的终端设备上。
几年时间里,Google已经建起了软件系统,这种软件系统可以使Google管理无数台服务器,这些服务器就如一个庞大的整体。身在其中的开发人员掌控着这里的一切,成千上万台计算机接到指令后会执行各种任务,这就如一个人控制一台计算机一样简单。2002年,Google研发人员创建了使文件可以顺利分配到各个计算机上的Google文件系统。为编写云端应用开发的并行编程技术(MAPREDUCE)大获成功,以至于其程序的开源版本Hadoop成为行业标准。Google还研制出了一种软件,可以解决大型数据操作面临的棘手问题:当计算机任务涌进数据中心,如何以最快的速度和效率决定哪个服务器可以更好地承担此项工作?Google利用自动软件系统“Borg”最终解决了“负载平衡”问题。
这些创新使Google实现了一个理念。这个理念在2009由霍泽尔及其高级助手电脑科学家鲁伊兹·以罗索的报告中被阐述:“人们现在关心的电脑平台不再像披萨盒或冰箱,它们更像装满电脑的仓库……我们必须把数据中心看作是一个超级大的计算机。”
这样的数据中心对于为Google写代码的程序员来说相当有用。当你的计算机只是一个单独设备却需要同时运行不同程序时——你不需要担心哪部分代码运行哪个应用程序——Google的工程师们会把无数的服务器当作一个整体来看待。他们只需要写自己手头上的产品代码,然后系统会使这些代码穿越服务器洪流并分配到指定位置。所有的服务器数据中心可能永远不需要他们进入。“如果你在这里只是一位普通的工程师,你完全可以不用在意其它事儿,”霍泽尔说道。“你可以事先预定任意千兆字节存储空间,你根本不用知道里究竟发生了什么。”
当然,如果没有稳定的服务,所有这些基础设施再棒也没用。Google为了解决服务稳定性和安全问题,还探索创新出了一套独特体系。Google这个建立在算法和自动化基础之上的高科技公司却弄出个让人无比惊讶的关键因素参与其中:人为行为。
在凌晨3点一个清冷的早晨,一小群工程师开始攻击Google服务系统。刚开始他们断开连接山景城、加洲和大学的内部网络,然后他们又使漏水的水管破坏Google的数据中心,他们还组织了一群抗议者聚集在Google大门口——希望转移人们注意力,使闯入者进入Google数据中心偷数据磁盘。他们还捣鼓出各种破坏行动,包括公司的广告网络,使荷兰数据中心掉线,或者是最致使的打击——切掉Google和亚州的光纤连接。
原来这些人“监守自盗”。其实,大学旁边一间办公室里聚集着一群Google人,他们是公司网站维护团队的一部分员工,他们的主要责任就是保证Google服务系统的稳定运行。Google维护团队不仅是发生故障时的检修工,他们还是工程师,负责把写好的产品代码传送到“裸机”服务器上。这群维护团队的成员,好似极客海豹突击队,会穿着皮夹克,并且衣服上还绣着军事化风格的徽标。每年,网站维护团队都会针对Google服务器及其设备模拟可能发生的各种事故,Google称它们为灾难复原测试(DiRT)。攻击是假,但是和真正发生事故时的处理程式却没有分别:事故管理者必须启动故障排除程序,就好像真的有灾难发生了一样,有时还会启动真正的补救服务和程式。如果排除故障小组不能找出事故原因并进行补救,那么这些攻击就必须停止,以防止影响用户的正常使用。在经典的Google范儿中,灾难复原测试小组总会为灾难模拟加上些令人发笑的元素——一段由攻击队成员描写的此次灾难发生原因的报告。他们的描述一般都很疯狂,在今年,他们就说这一次是有如电视剧《双峰》的灵异现象所导致的Google系统的失灵。以前,他们还说这是僵尸或外星人搞的鬼。
芬兰哈米纳港数据中心,这里至今为止还没安装服务器设备
图片摄影: Google/Connie Zhou
第一次攻击开始,精力旺盛的工程师盖瑞普·克瑞希南指挥每年一度的演习,在四处扔着速食食品的会议室向测试小组的20个成员讲述演习规则。“不要试着修复任何东西,”她说道。“只要有人在工作岗位上,我们就不会存在。如果真够幸运,我们也不会有什么损失”,然后她真的拔下了校园网的电源插头。接着,遍布全世界且时刻待命的Google员工就会注意到有意外发生,同时整个团队也会监视着他们的电话和实时聊天记录。不一会,远在欧洲的某个员工只用了5分钟就发现了问题,随即他立刻联系其他人。
“我的责任就是出个大难题进行测试,然后找出Google系统的薄弱之处,”克瑞希南这样说道。“这些年来,我们变得越来越勇敢,我们以最大限度破坏Google系统,还要保证它能正常工作。”这次Google的测试成绩如何?非常好。尽管公司网络中断,公司总裁埃里克·施密特(Eric Schmidt )还是能如期举行全球员工大会。假扮的抗议者会用虚拟比萨安抚。即使四分之三的Google亚洲传输系统被关闭,由于覆盖面广阔的缓存,整个亚洲的网络系统也不会完全闭塞。“这一次的灾难复原测试棒极了!”克瑞希南大声说道。
Google稳定性服务计划最早开始于霍泽尔让工程师本杰明·特雷诺(Ben Treynor )负责Google网络系统安全运行。像Google这样的大型公司,经常调整其系统和服务对于公司的稳定性来说是非常棘手的。必竟,不变是保持系统稳定性的最简单方法。特雷诺并没有一味地在“稳定性”这个概念上打转,也没有试图建立一个永不掉线的Google服务系统。相反他逆向相维,给每个服务系统一定的预留时间,即允许系统有一段时间的检修期。然后,他让Google的工程师好好的利用这段时间检修系统设备。“我们可以保证Google+在99.95%的时间内稳定工作,”霍泽尔说。“我们不想让Google因为一些愚蠢的疏忽导致系统瘫痪。我们希望有一段检修期,而且在这段时间里我们还可以推陈出新。”
然而,事故还是发生过,最近一次是在2012年4月17日的早晨。这天早上,塞布丽娜·法米尔——曾经在SRE团队工作过一年多,是Gmail稳定运行小组的负责人——正在参加例行的设计审议会议。突然间,一位工程师闯进了屋子并大声说,“发生了大事儿!”的确有大事儿发生了:1.4%用户(用户的基数却相当大)的Gmail不能访问。很快,关于Gmail瘫痪的消息开始在twitter和科技网站上蔓延开,甚至主流媒体也开始关注了这个事故。
随后,会议室变成了战场。法米尔开始和苏黎世的一个同事合作,调查事故原因。后来,她团队中负责Gmail运行的一位SREs成员怯懦地承认道,“周五时我为Gmail推送过更新,可能是这个原因”,这时Google工程师们才找到了解决事故的突破口。更新Gmail时,为了数据安全,系统会冻结数据,但是负责Gmail更新的员工却疏忽大意,导致了Gmail用户在打开邮箱时,服务器上的各种副本数据不能和用户帐户同步。
修复过程一共花了20分钟,原计划需要25多分钟完成——表现不错。但是这次事件却是Google犯的一次严重错误。“SREs的成员竟然导致了错误发生,一想到这里我就非常痛苦,”法米尔说。“没有丢失数据,这真是万幸。”尽管如此,如果未来的危机只限于可承受的僵尸攻击,那她会更高兴。
让人难以想像的一个最不靠谱的情景就是一位记者会出现在服务器机房中。的确,我现在就在勒努瓦,我戴着耳机,Google员工乔卡瓦还做了我的向导。
我们越过了又厚又重的大门,和远程遥控栅栏,这让我想起了三八线。我们又穿过了办公室,里面装饰着纳斯卡赛车比赛的徽章。(Google每一个数据中心都有独特主题设计风格)。我们参观了控制室,液晶仪表盘监视并显示着每一个可度量的数值。接着,我们爬上了狭长的小道,来到了巨大的冷却塔和备份发电机面前,它们就像披头士风格的(黄色)潜水艇,只不过它们都是绿颜色的。我们还要戴上安全帽,打算上山去正在兴建的第二个数据中心看一看。我们还将凝望着崎岖的大片土地,有一天,在这里建起来的数据中心将成为第三座庞然大物。
现在,我们进入了“仓库”。怎能一个大字形容得了。一排排的服务器架子伸展着,几乎没有尽头。乔治·蒙塔拿(Joe Montana)ⓐ在他最全盛时期,也不能把球踏得这么远。
采访Google员工时,热通道和冷通道完全是个非常抽象的概念,但是一到数据中心所有疑惑都没了。原来,冷通道指的是正常的室内温度——卡瓦还实地测量了温度,正好是77华氏度(25摄氏度)。热通道指的是两个服务器之间的狭长空间,服务器的背面都被薄铁皮紧紧地包裹着。一圈圈的金属圈吸收着热通道散发出的热量。上面就是巨大的吊扇,其发出的声音有如喷气式飞机引擎插上了扩音器。
Google的一位员工在工作,图片摄影: Google/Connie Zhou
我们在一列列服务器中间走来走去。所有插头和电缆线都放在服务器的前面,所以一旦有需要就不用在铁板上开个口,冒险进入热通道,最后变成烤肉。(如果真想进入里面,需要关闭服务器。)每个服务器都贴上标签,上面标注着准确的号码,防止出现错误。服务器的旁边安放着粗大的黑颜色电池。数据中心的一切都井井有条、工工整整,一点儿都不像很久以前,Google服务器在出埃及服务托管商时的一片狼藉,在那里你满眼看到的全是意大利面条式的各种连接线。
蓝色指示灯在闪烁,这表示什么?有人正在搜索网页?有人正在接收Gmail信息?或者是在谢尔盖戴着的Google眼镜前浮动的各种数据?任何东西都有可能。而且,你还能经常看到Google员工的身影——留着长发的那位伙计穿着中短裤踩着滑板车穿梭其中,或者穿着体恤衫的女士推着一辆车子,上面还放着手提电脑,正在分配服务器修补过的零件,这就像为病人发放药物一样。(实际上,数据中心保存备用设备的区域就叫做药房。)
Google一共安装了多少台服务器?自从Google建立起第一个数据中心,这个问题的答案一直是外界观察家们想要了解的。他们一直认为Google服务器大约有“成千上万台”。(在我访问勒努瓦的这一天,这里正在运行的一共有49923台服务器)。之后,我在探访山景城Google总部研发中心时找到了些许答案。在安全区,一排有纪念价值的主板被固定在了墙上,它们都是Google各个时期自己组装的主版。其中一个主版被高高地放在了一块饰以浮雕图案的装饰板上,并且上面还写着“2008年7月9日,Google第一百万台服务器”。但是主管向我解释道,这个数值是不断累加的结果,这并不表示Google一次性会启动百万台服务器。
信步走在勒努瓦Google数据中心的冷通道,我意识到,即使我们知道那些神奇的数字,也是没有任何意义的。如今的服务器,包括多核处理器和其它先进之处,比早期服务器的性能高出好多倍。Google在2012年的一个服务器处理能力可能等于20个上几代服务器的总和。无论何时,Google都根据簇集合的方式思考问题,即无数台机器要共同为一个服务器服务,或只运行一个应用程序。“单独一个服务器没什么价值,”霍泽尔说道。“我们把计算机运行能力作为抽象的度量标准。”这就是霍泽尔和以罗索三年前提出并转化为实际应用的概念:数据中心就是一台计算机。
当我们离开数据中心时,我几乎因为可以先睹Google的“秘密圣所”而飘飘然。但是几周之后,当我回到山景城的Google总部时,我意识到,我的“主显顿悟篇”俨然是有期限的。Google的意图是要说明,我刚刚结束访问的数据中心已经过时了。“一但我们的伙计适应了2013年最新建成的Google数据中心和簇集合,”霍泽尔说道,“他们就会开始抱怨我们现在的数据中心真是太差劲儿了。”
我又问道,未来的数据中心会期许什么改变,然后霍泽尔如数家珍地提到了数据中心和簇集合设计、快速部署及灵活机动性。最后,他停顿了一会。“有一样事情我不能说,”他说道,一丝笑容在他满是胡渣的脸上绽放开来,“我们奉献出了热血、汗水和热泪。我也希望其他人付出热血、汗水和热泪换取同样的科学新发现。”Google致力于向全人类提供世界上的所有数据信息,但是有些信息仍然不足为外人道也。
译注:
ⓐ乔治·蒙塔拿(Joe Montana),美式橄榄球的传奇人物。
ⓑUrs Hoelzle是Google公司组建建设团队的关键人物并且,人们评论,如果没有他Google的基础设施撑不过两年。他还被誉为Google伴(Google Fellow)——Google颁给其优秀员工的最高荣誉。
本文来自:译言网
最后一张,很不错!!