当前所有业务都是基于互联网展开的,追求的目标是在未来将现在几乎所有的软件、存储和计算都放在网络上进行。可以说,Google 的发展战略就是云计算模式所追求的理想境界。在云计算的海洋中遨游,似乎也没有哪一家公司比互联网巨头Google更适合来做这个舵主。当前国际IT厂商对于云计算是否有过于炒作之嫌?Google的云计算模式是怎样的?其核心技术又将如何支撑云计算服务?如何看待云和端的关系?对于上述热点话题,记者特意专访了Google中国研究院的副院长张智威先生,请他与读者分享他的观点。
云计算并无实质新内容
在谈到甲骨文CEO拉里?埃里森所宣称的,云计算只是当前IT业界出于商业目的所追捧的广告词一说,张智威表示在一定程度上赞同这种说法。他承认,当前的云计算概念有炒作的成分,其本身并没有比过去更多的实质的新内容,跟以往提到的网格计算、并行计算并没有本质的区别,内涵是一致的。其核心强调的都是将存储和计算更多的通过网络进行,通过共享达到提高资源的利用率降低成本的最终目的。
但张智威同时强调,他并不完全同意埃里森所说的云计算仅仅是广告宣传语的说法。在未来的两三年内,实现将个人数据全部存储在云端不一定能实现,但更多目前安装于本地用于存储和计算的软件都会向网络延伸。从长远来看,这是个不可避免的发展趋势,而非仅仅是大公司出于商业目的的炒作。
对于云计算将如何改变个人用户的网络使用习惯,张智威引用了Google大中华区总裁李开复博士曾经打过的一个形象比喻。在过去金融业尚不发达的时候,人们习惯把钱塞在自己的枕头底下,然后用小本记下自己的每一笔入账和花销。这种方式的缺点显而易见,账本可能丢失或字迹模糊,存放在枕头底下的钱也易失窃。后来随着银行、钱庄的发展、完善,人们开始逐步把一些暂时不用的钱存放到了有品牌保障的金融机构。既不用担心失窃,也可以随时利用ATM机、电话银行或网上银行管理账目,更有银行里的专业人士帮你理财。尝到好处之后,老百姓于是开始喜欢把钱交由专门的金融机构来管理,自己只随身带少量的现金留做备用。把钱存进银行就对应于我们在网络时代里用云计算来实现数据和应用的共享。云计算在推进的过程中也会逐步改善人们传统的网络使用习惯,经历一个逐步被用户接受的过程。
在谈到当前国际大厂商纷纷角逐云计算战场的现状,张智威表示,这是大公司具有前瞻性战略眼光的表现,拥有较为雄厚资金和技术积累、商业模式比较成熟的大公司,需要进行一些能够引领未来技术趋势和商业模式发展方向的项目。大公司积累的各方面资源会让他们做出一些前瞻性的预测,未来三到五年内商业模式将会发生何种改变。当前包括微软、IBM、Google在内的国际IT巨头都形成了共识:云计算未必在两三年内就能被用户普遍接受,但十年后这种模式一定会非常普及。如果到那时再下手云计算的准备工作,就势必会在同行业内落后于竞争对手,形成对自己不利的局面。
可靠软件技术是支撑云计算的核心
张智威表示,大厂商对于云计算的基本理念大体都类似。云计算的实施可划分为三个层次,在底层的是构成一个网络架构的基础硬件,包括CPU、内存;基于最底层硬件之上的是一个软体层,包括支持并行计算的操作系统、中间件;位于最上层的由很多具体应用构成,诸如Gmail、Google Docs、Google Picasa Web等等,未来还会包括网络电视、视频点播更多的应用服务。
Google中国研究院的副院长张智威
在硬体方面的研究至少应包括三个方面:第一个是需要大量非常廉价的服务器、CPU组成集群,在此单个的服务器或CPU的性能或许并不出众,但构建起来的整个网络,在可靠性、稳定性和计算能力上,均能达到大型计算机的标准;第二个需要注意的是,在搭建云计算数据中心过程中,所要求的硬件性能及其组织架构一定要具有良好的散热能力。对于个人用户来说,散热似乎不是需要单独考虑的问题,但对于集群服务器来说,追求良好的散热能力是服务商必须面对的现实问题。第三个方面是,要求每台服务器、每个CPU的耗电量非常低,否则在机器量达到数十万级时,每个月的耗电量都将成为一笔不可忽视的庞大开支。
Google的三大核心技术构成了实现云计算服务的基础:GFS(Google文件系统)、MapReduce(分布式计算系统)、BigTable(分布式存储系统)。GFS位于这三项技术的最底层,负责许多服务器、机器数据的存储工作。它将一个大体积数据(通常在百兆甚至千兆级别)分隔成固定大小的数据块放到两到三个服务器上。这样做的目的是当一个服务器发生故障时,可以将数据迅速从另外一个服务器上恢复过来。在一定程度上,在存储层面,机器故障的处理由Google文件系统来完成。
第二个部分就是MapReduce,它是Google开发的C++编程工具,用于大于1TB数据的大规模数据集并行运算。这项技术的意义在于,实现跨越大量数据结点将任务进行分割,使得某项任务可被同时分拆在多台机器上执行。例如把一项搜索任务拆分成一两百个小的子任务,经并行处理后,将运算结果在后台合并,最后把最终结果返回到客户端。
第三个部分BigTable,作为Google一种对于半结构化数据进行分布存储与访问的接口或服务,它是建立在GFS和MapReduce之上的结构化分布式存储系统,可以帮助Google最大限度利用已有的数据存储能力和计算能力,在提供服务时降低运行成本。
如果没有以上软体的支持,云计算战略的最终实现就只能是一个虚幻的梦。Google一直坚信所有的硬件都有可能在某个时间出错,不可靠的硬件数量最好是可靠机型的两倍,最重要的,需要将可靠性放在软件层面。过于关注单个线程的性能意义并不大,对于Google来说,更重要的是对于并行处理技术的完善。为了应对海量级的数据访问和查询,他们需要让每台廉价的服务器的性能发挥到极致,将核心的技术优势牢牢掌握在自己手中才是最安全的。
对开发者的影响
云计算时代的到来,对于开发者最大的影响就是,如果还像以前一样只和一台计算机和有限的存储打交道已远远不够,以前开发的软件或许只在单机上运行就可以了。但云时代的工程师应该更多的掌握分布式计算的基本原理和开发方法,有能力掌握用于分布式计算的协议或语言,开发出可以运行在几百台、几千台甚至几万台计算机上的应用程序,并用该程序管理分布在不同数据中心的海量存储设备,软件执行的速度需要非常快。
云计算是趋势
对于微软提倡的云和端相对平衡的云计算战略,即未来不仅在云端,在终端也需要很强的计算和存储能力,完全用网络实现储存和计算不大可能的看法,张智威表示理解。他笑道,把个人资料和数据放在网络上,就像把钱存进银行,家里总还要留一点现金备用的。在今后很长的一段时间内客户端软件都不会消失,用户的终端上也还需要备份一些最基础的软件。站在微软的立场上看,作为一家传统的平台厂商,当然也不希望客户端最终消失,抛弃过去在客户端积累的优势和传统的商业模式,完全拥抱云计算对于微软来说是不可能,也不理智的。
张智威最后强调,当前业界炒作的云计算概念,不可否认里面有不少商业推广的因素,但没有人敢否认这是互联网发展的大势所趋。就像在最初没有人能够想到电力可以交给专门的电力公司来做一样。现在各大厂商推广的云计算并不是在推一种崭新的技术或商业模式,更多的是在推广一种新的理念。任何新的革命性的事物从出现到被用户广泛接受都要经历一个过程。现在用户的客户端还是比较肥大,但逐步就会有个此消彼长,客户端会比今天变得更瘦,云端会越来越庞大,一旦提供的带宽和相应的服务模式足够成熟,直到某一天,云计算将给互联网带来一场革命性的变化。