谷姐最近看上了谷歌,并向其表白。但作为搜索引擎的老大,谷歌觉得谷姐身价太低,一口回绝了她。
谷姐悲痛欲绝,但很快她就化悲痛为力量,准备通过自己的奋斗来与谷歌竞争,因为她知道,今非昔比,云计算时代,过去的万维网已进化为现在的万维电脑,能帮助谷姐的,也只有他了。
所谓知己知彼,百战百胜,谷姐必须知道谷歌是怎么做搜索的。
先看看其搜索技术:Google会对整个互联网都做个复制,并用“蜘蛛软件”来进行搜集和更新。通过秘密算法分析,建立全面的索引,按关键字相关度排序,并复制索引复制到每一个服务器群上。当人输入一个关键字时,该软件就把这个搜索申请转到某一个群,有几百或几千个服务器对它做同时审查。通过平行处理,每个服务器只负责将关键字索引的一小部分比较。该软件会收集和综合来自服务器的所有搜索结果,按相关度排列网页并发送。
我们再来看看Google。Google几乎所有的业务,包括Gmail、Google Maps、Google Earth、Google Docs和Google Wave,全部都是在云计算上运行的。我们可以通过各种终端、在各种平台上访问Google服务,可以是手机,可以是PC,也可以是Macintosh,或者在Linux环境中。Google之所以能够做到这一点,根本原因是它后面的云计算设施。
Google把这些云设施建到非常偏远的地区,比较冷和靠近电站的地区,用电成本非常低,通过光纤传信息来代替通过电线传电力。Google有一个说法,传输光子的成本要远远地公共低于传输电子。Google的云计算数据计算中心目前分布于30多个不同地点,共有200多万台计算机。我们来看看一些图片,这些云设施,被人们称为“信息时代的核电站”。再看看机房内部,有些机房里的机器就是一大堆普通的PC。极其廉价,但非常容易坏。Google认为,机器会坏是正常的,不坏是不正常的。Google牛就牛在任意一个节点坏,或者两个节点同时坏,它的数据不会丢,服务不会中断。它的云计算设施管理起来也非常方便,一个人可以管理上千台机器。这个人用小推车推了一些机器,看到机架上哪台机器的灯在闪,就将它拿下来,换一个新的插上去就可以了。你们看,图片上的机器是难看的背面对外,为什么?更换方便!
要做到这个境界,Google主要依靠四个技术:GFS、MapReduce、Bigtable和Chubby。这里我主要讲下Google文件系统GFS。这个文件系统能做什么呢?我们看这张图:GFS将集群里的节点分为管理节点和数据节点两类。管理节点存储元数据,客户端通过访问管理节点来获得文件应该存储在什么位置的信息。一个文件被分布若干块存储于不同的数据节点上,客户端从管理节点知道存储的节点编号后,就可以直接访问数据节点存取数据。这样,数据传输是直接发生在客户端与管理节点之间的,管理节点只需要处理元数据访问请求,从而不会在管理节点形成瓶颈。
我们再来看数据是怎么存放的。Google的数据块是比较大的,默认是64MB一块,这和Google应用的特点有关。任何一块数据在GFS里默认是有3份的,当客户端向数据节点A存储了一个数据块,A会立即将它复制给B和C。如果B坏了,会自动再复制一份给D。Google对GFS的访问作了许多限制,例如不允许在文件的中间去修改数据,但可以在后面加数据。之所以作限制,是为了实现方便并提高整体的可靠性。这个系统无论规模做得很大,瓶颈也不会显现出来,这个Google文件系统,看似非常简单,但是是一个非常巧妙的系统。如果GFS只管理了100台机器,看起来并不高明,甚至比不上常见的分布式文件系统,但当GFS管理了100万台机器时,它的优势就显现出来了。这就是规模效应。
任何公司的电脑运算系统完成一项运算任务所用的成本是Google的十倍。
谷姐知道要做个成功的搜索引擎,有份精神是不够的,还必须要有一定的硬件与软件资本,但是无奈自己荷包羞涩。所幸的是万维电脑决定帮助他。于是,谷姐开始了自己的搜索引擎之旅。
首先,谷姐需要把网上所有的内容进行打包,对整个互联网都做个复制,并用“蜘蛛软件”进行搜集和更新。这需要建立一个超大的存储设备以及超强计算机。于是,万维电脑带来了一个帮手—亚马逊,通过购买亚马逊的虚拟硬件服务(即S3和EC2),谷姐得到了能与Google匹敌的,亚马逊几乎无限的储存能力以及运算能力,数据库可由亚马逊的专业人员来管理维护,而谷姐只需要根据其使用的时间来付费,并可以随时调整租用的规模。
在服务器设置方面,通过全球性的网络,谷姐将自己的IT队伍外包到人力成本较低的国家,由他们来进行软件的开发工作,并管理在亚马逊的租用的电脑。
为了提高工作效率,让IT人员采用美国3Tera公司推出的AppLogic软件程序,这样的话,IT人员便可以通过拖动桌面表示传统部件(服务器,数据库,路由器,防火墙,连接电缆)图标,并将其投放到网络阅览器上的一个网页。让AppLogic在亚马逊公司的服务器中以虚拟的方式生成这个系统。谷姐通过已经镶嵌在软件上的流量表所标注的使用量来付费。
为了尽可能减少成本,谷姐采用的电脑全部都是“瘦客户机”,用skype与IT人员打视频电话,召开视频会议,利用谷歌的Apps Marketplace和Gmail来使用在线文档服务和管理网站。
就这样,经过一番挣扎,谷姐诞生了。
现在我们来看看采用云计算让谷姐减少了哪些成本。
1, 硬件成本,谷姐不仅省去了在开始时购买昂贵的服务器设备和场地,而且也省去了将来针对网络流量峰值的设备添加所带来的成本
2, 软件成本,云计算平台的开源软件一般都是免费的,就算是付费软件,谷姐也不必为了偶尔的使用而提前购买版权
3, 日常维护的成本,通过将服务器外包,谷姐省下了为了维护日常运作所必须的大量电费和雇用维护人员的费用
4, 系统开发的成本,这不仅体现在系统开发的时间成本,而且体现在IT人员的人力成本。
我们要知
腾仔现在写文章越来越有水平啦…赞
谢谢~~~
Pingback: 从概念出发,探索身边的“云计算” | 观尔腾