论文部分内容阅读
你的计算机速度够快吗?在你回答这个问题之前,你很可能用1秒钟回想了一下自己PC的配置:酷睿双核CPU、300GB硬盘、2GB内存……然后勉强说:“一般,要是能再快点就好了,可惜最近没钱升级。”不用举出具体例子,相信你也支持我们对计算机性能的要求是永远无法被满足的说法,这意味你还要为更新硬件设备烧很多钱,想想就心疼吧?在这样的背景下,你很难相信Google CEO埃里克·施密特所谓的“PC终将消失”的言论会成为现实。但在看完这篇文章后,你也许就会改变这种“旧观念”,因为本篇提到的“云”被它的吹捧者视为“革命性的计算模型”,它将会切实地让你省下荷包里为升级硬件储蓄的银子,并且一点不耽误你获得超级无敌的计算性能。
云,一种由无数细小水滴组成的变幻莫测的东东,假如我们带着足够微观的视角去想象,每颗水滴都是一台计算机,那么这朵“云”就会是一个超大规模的计算机集群;又假如我们设置了一套规则,将这个庞大的计算机集群架构起来,就组成了一台超级NB的计算机。现在,Google就在做这样一个超级NB的计算机。
互联在“云”中
概念听起来有点悬,但其实很简单,因为你现在已经在用这个东东了。先拿Google这个“云”的最坚定也是最强大的倡导者举例吧。Google在一份官方的宣传文档中表示,Google目前所做的一切业务都是基于“云”的,想想有什么?搜索、Gmail、Google Earth、Google Talk、Google Docs、Google Calendar……但这一切怎么突然就跟“云”这个陌生字眼挂上钩了呢?
先不说其他,Google的搜索相信大家都熟得不能再熟,在不到1秒的时间内搜寻超过全球1亿个网页,用的就是“云”这个技术。试想当你在Google首页的搜索框中输入一个关键词,按下回车的一瞬间,背后的指令将在分秒之间传达到上百万个服务器中,并在搜寻后立刻返回结果,数据流量之大会让一台单个计算机“死得很惨”。然而,有了Google遍布全球的数据中心(每个数据中心拥有大概1万台服务器,并且数据中心的数量还在增加中),这些计算就无需在你本地电脑中运行,而是在这些数据中心里飞快地得到解决,在显示器前的你得到结果就那么易如反掌。
另外一个经常被提到的“云”的应用就是Google Apps,它类似于一种简化的Office软件包,所有文档数据都在互联网上处理与存储,而且支持多人协作地写作和修改。
IT天空多“云”
事实上,就像我们说的,“云”的概念早已有之,Sun很早就提出过“网络就是计算机”的说法。现在想来和“云”所倡导的一切都可以变得“在线”,个人信息可以随时带在自己身边的意境有着异曲同工之妙。Google把这种改变比喻为不用随身装着钱,而是用信用卡来消费。你只需要签下自己的名字(输入ID和password),而不用管商场和银行间的结算是如何进行的。
说到这里就不得不提一下微软,知名互联网评论家洪波在讨论“微软为什么错过了互联网”时说,当计算机只是一些各自独立的机器时,微软赋予它能量、智慧和灵魂,所以我们离不开微软。但当计算机成为网络中的一个个节点,而网络本身成为计算机时,游戏规则一下子全变了。
不过,微软这只大鳄只要迈出一点步子,就能对产业构成影响。微软Windows Live用统一的ID整合了邮箱、网络相册、IM、博客和搜索几项业务,已经预言了微软向网络服务提供商的角色转换。除此之外,它也仿照雅虎和亚马逊那样通过开放服务器集群(云)来加深与科学研究团体的联系。这也就是为什么雅虎研究主管普拉巴卡·拉加万会说:“从某种意义上说,世界上不过有5台真正的计算机。”那就是Google、雅虎、微软、IBM和亚马逊。
谁制衡谁
微软大张旗鼓做的事情,在Google这里却相当的“润物细无声”。仔细想想,下面的说法是不是有道理。大家都知道,搜索本身对用户来说是黏性很低的业务,你搜索到想要的结果,就会离开Google的页面。Google可不傻,想出了一个办法,就是Gmail,就是这么个简单的玩意却套出了大家的ID。用这个ID,你可以享受Google一整套的服务。而这背后,Google的强大搜索能力就能精准地定位你的职业、兴趣爱好、居住城市、人际圈子等等。如果你曾经或正在使用Gmail,就不难发现Google已经通过这些信息为你精准地推送了新闻咨询、广告信息等等。最难得的是,你还不会觉得这些很“垃圾”。不晓得今后Google还会耍出什么“花招”,当然我们也不用去猜,Google在这方面无疑是目前最有办法让你离不开的。
毫无疑问,互联网广告一直是Google的特长,但如果这就是“云”的终极目的,那就太让我们跌眼镜了,Google当然不会这么小儿科。尽管Google中国的公关经理崔谨保持了与CEO施密特一致的口径:“Google是搜索公司,我们仍将继续植根于核心业务”,并且很低调地表示,云现在还在发展的初级阶段,还没有考虑到所谓的赢利模式(与雅虎、亚马逊、Sun对外租赁数据处理能力不同,Google会采取免费策略),但Google渴望占据“云计算”市场中的相当份额是不言而喻的,更多人也看到了Google随时做好了成为下一代计算的主导力量的准备。业内人士预测说:“Google是想树立行业的权威,一旦云成为行业标准,那Google就可以收费了。”
林爽,清华大学计算机系大四学生,他的出现非常偶然。大背景是Google在去年第一次与中国内地的高校合作“云”计划就选择了清华大学。为了采访,我试探着在水木清华BBS的Google版上发了一个寻找参加该计划的学生的帖子,一天之后,我的站内邮箱里就收到了林爽的回信。
非常顺利,我与林爽在清华FIT大楼的实验室中见面了。他递过来一张据说在一家美国网站上花7美元就能印250张的、可以自己定制的名片,让我对这个外表沉稳的清华男生有点意外的感觉。
他很详细地跟我介绍了他参加“云计算学术合作计划”的始末,“我们大三的暑假有一个为期5周的小学期,对计算机系的学生来说,有4门课可以选,而到我们这届,又加了一门Google的MapReduce的编程课。不过我们当时不知道这是‘云’计划的合作,但事实上,‘云’计划最核心的技术就是MapReduce。”
MapReduce是Google的一项重要技术,它通过把数据分发给网络上的每个服务器来实现大数据量的计算。对于大数据量的计算,通常采用的处理手法就是并行计算。但现阶段而言,对许多开发人员来说,并行计算还是一个比较遥远的东西。MapReduce就是一种简化并行计算的编程模型,它让那些没有多少并行计算经验的开发人员也可以开发并行应用。在林爽看来,这就是MapReduce的价值所在。
“比如课程中有一个简单的实例,就是计算莎士比亚所有作品中一共出现过多少个词汇。如果不用MapReduce,编程就基本有两个思路,要么就是线性地把莎士比亚的42本著作都输入一台计算机里,每出现一个新的词汇,就把它加到词汇列表里,但是这样做会比较慢。要么程序员就要规定好几台机器怎么并行运作,每台机器的数据怎么合并起来,合并后重复的词汇怎么来去除等等问题,很麻烦。而如果用MapReduce,只需要两个函数就可以把所有工作搞定。”这只是个简单的例子,如果计算量更大,会有更出色的效果。
毫无疑问,MapRudece的出现,给程序员们扩展了新的思路。最早提出要与大学合作“云”的Google高级软件工程师克里斯托夫·比希利亚就告诉应聘Google的程序员说,要想在Google发展,就必须学会从更宽广、更宏观的角度来工作和思考。“Think Big是Google的一种理念”,林爽坦言说:“我是个Google fans,去年7月到11月就在Google做实习生,也受到很多Google理念的影响。在Google看来,所有的问题要往大了想,数据量小的时候看不出一些规律、趋势和优势,但是数据量大到难以想象的大时,我们的处理的结果就会出奇的好。”
Google大学合作项目负责人朱爱民对我说:“云计算学术合作计划希望能培养下一代掌握大规模数据处理和分布式计算的新型人才,帮助中国学生及研究人员采用新兴技术,在未来云计算环境下创造出更多实用的互联网规模应用程序。”
Google的云计算是啥意思?
自然界中看似变幻莫测的云,在Google这里也有着一番神秘色彩。在采访初期,诸多的技术名词搞得我这个技术“菜鸟”晕头转向。好在经过几番求证,我终于理解了其中的些许玄妙。简单说,我把它归为两层含义:对技术工程师来说,它是一种服务器架构,原来需要在单机PC上完成的计算、存储任务,通过云可以分配到互联网千千万万台普通服务器上,从而达到意想不到的计算能力和速度;而对普通网民来说,它就是一种接入方式,你只需要有自己的用户名和密码,便可以在任意时间任意地点,通过任意设备(电脑、手机、电视、汽车)接入到互联网,享受到强劲的计算能力。
云计算从哪诞生的?
云计算(Cloud Computing)其实并不是一个多么新的概念,而是分布式计算(Distributed Computing)、并行计算(Parallel Computing)和网格计算(Grid Computing)的发展。将上述概念融汇、改进、打包,云计算就这么诞生了。
云计算和以前的概念有啥不同?
云计算和网格计算的概念中都包含了“通过网络,将各处计算机(处理能力)联合起来,形成虚拟的超级计算机”的意思,而这个将计算和数据分布在大量的分布式计算机上的过程中就渗透了分布式计算的概念。另外,让计算在各处的计算机上同时进行,也包含着并行计算的技术。有人说,事实上还是那些老概念,只不过被Google打上了“云计算”的标签,做了一次商业炒作。
差不多的概念,过去没成功,现在云能成功吗?
原来的计划之所以失败,原因有以下几个:1.当年的基础设施还不能支持这些概念的实施,带宽太窄,而服务器的价格太贵;2.由于当时网络用户比例还偏低,用户对这些概念的理解、接受,直到愿意花钱去使用它至少还需要3年以上的时间,这是在风险投资人的期望之外的。于是风险投资纷纷撤退,数百家创业公司倒闭。
云有哪些应用?
云是一种全新的商业模式,从大方向上来讲,所有使用户脱离用单机PC计算和存储,转而依靠互联网计算和存储的应用都应该算云的应用。比如搜索、电邮、在线地图和文档处理等。随着互联网连接速度的提高和互联网软件的改进,据说90%计算任务都能够通过“云”来完成,其中包括几乎所有的企业计算任务和白领员工的任务。
其他公司的搜索和邮件业务也是云吗?
事实上我也很疑惑这个问题,不过业内人士表示,Google拥有的服务器数量之多连Google的员工都说不清楚(2007年又增加了4个数据中心,平均每个成本达6亿美元),这意味着其他公司的计算资源根本无法跟Google同日而语。更重要的是,在这么庞大的计算资源之上,Google还拥有包括Mapreduce、Google File System以及Bigtable等别人无法比拟的、非常系统的技术架构。坦白讲,如果其他公司愿意将他们的业务称为“云”,对Google来说也是好事,他们现在正希望推动这个产业,加入的伙伴越多越好。
云在未来能发展成什么样?
Google对云可以预见的发展,一是解决一些长期探索却依然没有解决的问题,比如翻译。不够智能化一直是翻译的瓶颈,云的超级计算能力有望改善甚至解决这个老大难问题;二是做个性化搜索和智能搜索。现在我们搜一个关键词,会搜到十几万的结果,不够精准是个问题;三是让世界互联网化得更彻底。
把自己的信息都存在不知道在什么地方的服务器里安全吗?
有一种解释是,对云计算过程里的数据安全问题“完全不必担心”,因为数据在集群上被分解为散乱的状态,就连服务器也不太理解他们,想要破译与还原数据难度非常高。但也有人说这种说法完全站不住脚,既然用户自己能读取全部的数据,那么黑客就能。云的安全性还在探讨中。
云,一种由无数细小水滴组成的变幻莫测的东东,假如我们带着足够微观的视角去想象,每颗水滴都是一台计算机,那么这朵“云”就会是一个超大规模的计算机集群;又假如我们设置了一套规则,将这个庞大的计算机集群架构起来,就组成了一台超级NB的计算机。现在,Google就在做这样一个超级NB的计算机。
互联在“云”中
概念听起来有点悬,但其实很简单,因为你现在已经在用这个东东了。先拿Google这个“云”的最坚定也是最强大的倡导者举例吧。Google在一份官方的宣传文档中表示,Google目前所做的一切业务都是基于“云”的,想想有什么?搜索、Gmail、Google Earth、Google Talk、Google Docs、Google Calendar……但这一切怎么突然就跟“云”这个陌生字眼挂上钩了呢?
先不说其他,Google的搜索相信大家都熟得不能再熟,在不到1秒的时间内搜寻超过全球1亿个网页,用的就是“云”这个技术。试想当你在Google首页的搜索框中输入一个关键词,按下回车的一瞬间,背后的指令将在分秒之间传达到上百万个服务器中,并在搜寻后立刻返回结果,数据流量之大会让一台单个计算机“死得很惨”。然而,有了Google遍布全球的数据中心(每个数据中心拥有大概1万台服务器,并且数据中心的数量还在增加中),这些计算就无需在你本地电脑中运行,而是在这些数据中心里飞快地得到解决,在显示器前的你得到结果就那么易如反掌。
另外一个经常被提到的“云”的应用就是Google Apps,它类似于一种简化的Office软件包,所有文档数据都在互联网上处理与存储,而且支持多人协作地写作和修改。
IT天空多“云”
事实上,就像我们说的,“云”的概念早已有之,Sun很早就提出过“网络就是计算机”的说法。现在想来和“云”所倡导的一切都可以变得“在线”,个人信息可以随时带在自己身边的意境有着异曲同工之妙。Google把这种改变比喻为不用随身装着钱,而是用信用卡来消费。你只需要签下自己的名字(输入ID和password),而不用管商场和银行间的结算是如何进行的。
说到这里就不得不提一下微软,知名互联网评论家洪波在讨论“微软为什么错过了互联网”时说,当计算机只是一些各自独立的机器时,微软赋予它能量、智慧和灵魂,所以我们离不开微软。但当计算机成为网络中的一个个节点,而网络本身成为计算机时,游戏规则一下子全变了。
不过,微软这只大鳄只要迈出一点步子,就能对产业构成影响。微软Windows Live用统一的ID整合了邮箱、网络相册、IM、博客和搜索几项业务,已经预言了微软向网络服务提供商的角色转换。除此之外,它也仿照雅虎和亚马逊那样通过开放服务器集群(云)来加深与科学研究团体的联系。这也就是为什么雅虎研究主管普拉巴卡·拉加万会说:“从某种意义上说,世界上不过有5台真正的计算机。”那就是Google、雅虎、微软、IBM和亚马逊。
谁制衡谁
微软大张旗鼓做的事情,在Google这里却相当的“润物细无声”。仔细想想,下面的说法是不是有道理。大家都知道,搜索本身对用户来说是黏性很低的业务,你搜索到想要的结果,就会离开Google的页面。Google可不傻,想出了一个办法,就是Gmail,就是这么个简单的玩意却套出了大家的ID。用这个ID,你可以享受Google一整套的服务。而这背后,Google的强大搜索能力就能精准地定位你的职业、兴趣爱好、居住城市、人际圈子等等。如果你曾经或正在使用Gmail,就不难发现Google已经通过这些信息为你精准地推送了新闻咨询、广告信息等等。最难得的是,你还不会觉得这些很“垃圾”。不晓得今后Google还会耍出什么“花招”,当然我们也不用去猜,Google在这方面无疑是目前最有办法让你离不开的。
毫无疑问,互联网广告一直是Google的特长,但如果这就是“云”的终极目的,那就太让我们跌眼镜了,Google当然不会这么小儿科。尽管Google中国的公关经理崔谨保持了与CEO施密特一致的口径:“Google是搜索公司,我们仍将继续植根于核心业务”,并且很低调地表示,云现在还在发展的初级阶段,还没有考虑到所谓的赢利模式(与雅虎、亚马逊、Sun对外租赁数据处理能力不同,Google会采取免费策略),但Google渴望占据“云计算”市场中的相当份额是不言而喻的,更多人也看到了Google随时做好了成为下一代计算的主导力量的准备。业内人士预测说:“Google是想树立行业的权威,一旦云成为行业标准,那Google就可以收费了。”
林爽,清华大学计算机系大四学生,他的出现非常偶然。大背景是Google在去年第一次与中国内地的高校合作“云”计划就选择了清华大学。为了采访,我试探着在水木清华BBS的Google版上发了一个寻找参加该计划的学生的帖子,一天之后,我的站内邮箱里就收到了林爽的回信。
非常顺利,我与林爽在清华FIT大楼的实验室中见面了。他递过来一张据说在一家美国网站上花7美元就能印250张的、可以自己定制的名片,让我对这个外表沉稳的清华男生有点意外的感觉。
他很详细地跟我介绍了他参加“云计算学术合作计划”的始末,“我们大三的暑假有一个为期5周的小学期,对计算机系的学生来说,有4门课可以选,而到我们这届,又加了一门Google的MapReduce的编程课。不过我们当时不知道这是‘云’计划的合作,但事实上,‘云’计划最核心的技术就是MapReduce。”
MapReduce是Google的一项重要技术,它通过把数据分发给网络上的每个服务器来实现大数据量的计算。对于大数据量的计算,通常采用的处理手法就是并行计算。但现阶段而言,对许多开发人员来说,并行计算还是一个比较遥远的东西。MapReduce就是一种简化并行计算的编程模型,它让那些没有多少并行计算经验的开发人员也可以开发并行应用。在林爽看来,这就是MapReduce的价值所在。
“比如课程中有一个简单的实例,就是计算莎士比亚所有作品中一共出现过多少个词汇。如果不用MapReduce,编程就基本有两个思路,要么就是线性地把莎士比亚的42本著作都输入一台计算机里,每出现一个新的词汇,就把它加到词汇列表里,但是这样做会比较慢。要么程序员就要规定好几台机器怎么并行运作,每台机器的数据怎么合并起来,合并后重复的词汇怎么来去除等等问题,很麻烦。而如果用MapReduce,只需要两个函数就可以把所有工作搞定。”这只是个简单的例子,如果计算量更大,会有更出色的效果。
毫无疑问,MapRudece的出现,给程序员们扩展了新的思路。最早提出要与大学合作“云”的Google高级软件工程师克里斯托夫·比希利亚就告诉应聘Google的程序员说,要想在Google发展,就必须学会从更宽广、更宏观的角度来工作和思考。“Think Big是Google的一种理念”,林爽坦言说:“我是个Google fans,去年7月到11月就在Google做实习生,也受到很多Google理念的影响。在Google看来,所有的问题要往大了想,数据量小的时候看不出一些规律、趋势和优势,但是数据量大到难以想象的大时,我们的处理的结果就会出奇的好。”
Google大学合作项目负责人朱爱民对我说:“云计算学术合作计划希望能培养下一代掌握大规模数据处理和分布式计算的新型人才,帮助中国学生及研究人员采用新兴技术,在未来云计算环境下创造出更多实用的互联网规模应用程序。”
Google的云计算是啥意思?
自然界中看似变幻莫测的云,在Google这里也有着一番神秘色彩。在采访初期,诸多的技术名词搞得我这个技术“菜鸟”晕头转向。好在经过几番求证,我终于理解了其中的些许玄妙。简单说,我把它归为两层含义:对技术工程师来说,它是一种服务器架构,原来需要在单机PC上完成的计算、存储任务,通过云可以分配到互联网千千万万台普通服务器上,从而达到意想不到的计算能力和速度;而对普通网民来说,它就是一种接入方式,你只需要有自己的用户名和密码,便可以在任意时间任意地点,通过任意设备(电脑、手机、电视、汽车)接入到互联网,享受到强劲的计算能力。
云计算从哪诞生的?
云计算(Cloud Computing)其实并不是一个多么新的概念,而是分布式计算(Distributed Computing)、并行计算(Parallel Computing)和网格计算(Grid Computing)的发展。将上述概念融汇、改进、打包,云计算就这么诞生了。
云计算和以前的概念有啥不同?
云计算和网格计算的概念中都包含了“通过网络,将各处计算机(处理能力)联合起来,形成虚拟的超级计算机”的意思,而这个将计算和数据分布在大量的分布式计算机上的过程中就渗透了分布式计算的概念。另外,让计算在各处的计算机上同时进行,也包含着并行计算的技术。有人说,事实上还是那些老概念,只不过被Google打上了“云计算”的标签,做了一次商业炒作。
差不多的概念,过去没成功,现在云能成功吗?
原来的计划之所以失败,原因有以下几个:1.当年的基础设施还不能支持这些概念的实施,带宽太窄,而服务器的价格太贵;2.由于当时网络用户比例还偏低,用户对这些概念的理解、接受,直到愿意花钱去使用它至少还需要3年以上的时间,这是在风险投资人的期望之外的。于是风险投资纷纷撤退,数百家创业公司倒闭。
云有哪些应用?
云是一种全新的商业模式,从大方向上来讲,所有使用户脱离用单机PC计算和存储,转而依靠互联网计算和存储的应用都应该算云的应用。比如搜索、电邮、在线地图和文档处理等。随着互联网连接速度的提高和互联网软件的改进,据说90%计算任务都能够通过“云”来完成,其中包括几乎所有的企业计算任务和白领员工的任务。
其他公司的搜索和邮件业务也是云吗?
事实上我也很疑惑这个问题,不过业内人士表示,Google拥有的服务器数量之多连Google的员工都说不清楚(2007年又增加了4个数据中心,平均每个成本达6亿美元),这意味着其他公司的计算资源根本无法跟Google同日而语。更重要的是,在这么庞大的计算资源之上,Google还拥有包括Mapreduce、Google File System以及Bigtable等别人无法比拟的、非常系统的技术架构。坦白讲,如果其他公司愿意将他们的业务称为“云”,对Google来说也是好事,他们现在正希望推动这个产业,加入的伙伴越多越好。
云在未来能发展成什么样?
Google对云可以预见的发展,一是解决一些长期探索却依然没有解决的问题,比如翻译。不够智能化一直是翻译的瓶颈,云的超级计算能力有望改善甚至解决这个老大难问题;二是做个性化搜索和智能搜索。现在我们搜一个关键词,会搜到十几万的结果,不够精准是个问题;三是让世界互联网化得更彻底。
把自己的信息都存在不知道在什么地方的服务器里安全吗?
有一种解释是,对云计算过程里的数据安全问题“完全不必担心”,因为数据在集群上被分解为散乱的状态,就连服务器也不太理解他们,想要破译与还原数据难度非常高。但也有人说这种说法完全站不住脚,既然用户自己能读取全部的数据,那么黑客就能。云的安全性还在探讨中。