野蛮秘笈粤语:云计算权威人士专访

来源:百度文库 编辑:偶看新闻 时间:2024/04/29 22:30:24
作者:佚名    文章来源:csdn    点击数: 4118    更新时间:2008-11-25
本文通过对Google中国研究院副院长张智威、IBM Tivoli软件总经理Alfred Zollar、群硕软件技术总监邵荣、自由软件之父Richard Stallman 的专访,更深入地探究云计算。使我们对云计算有更深入的了解。
云计算推广的是互联网新理念——专访Google中国研究院副院长张智威
2008.11.25  来自:《程序员》杂志
当前所有业务都是基于互联网展开的,追求的目标是在未来将现在几乎所有的软件、存储和计算都放在网络上进行。可以说,Google 的发展战略就是云计算模式所追求的理想境界。在云计算的海洋中遨游,似乎也没有哪一家公司比互联网巨头Google更适合来做这个舵主。当前国际IT厂商对于云计算是否有过于炒作之嫌?Google的云计算模式是怎样的?其核心技术又将如何支撑云计算服务?如何看待云和端的关系?对于上述热点话题,记者特意专访了Google中国研究院的副院长张智威先生,请他与本刊读者分享他的观点。
云计算并无实质新内容
在谈到甲骨文CEO拉里•埃里森所宣称的,云计算只是当前IT业界出于商业目的所追捧的广告词一说,张智威表示在一定程度上赞同这种说法。他承认,当前的云计算概念有炒作的成分,其本身并没有比过去更多的实质的新内容,只是“新瓶装旧酒而已”。跟以往提到的网格计算、并行计算并没有本质的区别,内涵是一致的。其核心强调的都是将存储和计算更多的通过网络进行,通过共享达到提高资源的利用率降低成本的最终目的。
但张智威同时强调,他并不完全同意埃里森所说的云计算仅仅是广告宣传语的说法。在未来的两三年内,实现将个人数据全部存储在云端不一定能实现,但更多目前安装于本地用于存储和计算的软件都会向网络延伸。从长远来看,这是个不可避免的发展趋势,而非仅仅是大公司出于商业目的的炒作。
对于云计算将如何改变个人用户的网络使用习惯,张智威引用了Google大中华区总裁李开复博士曾经打过的一个形象比喻。在过去金融业尚不发达的时候,人们习惯把钱塞在自己的枕头底下,然后用小本记下自己的每一笔入账和花销。这种方式的缺点显而易见,账本可能丢失或字迹模糊,存放在枕头底下的钱也易失窃。后来随着银行、钱庄的发展、完善,人们开始逐步把一些暂时不用的钱存放到了有品牌保障的金融机构。既不用担心失窃,也可以随时利用ATM机、电话银行或网上银行管理账目,更有银行里的专业人士帮你理财。尝到好处之后,老百姓于是开始喜欢把钱交由专门的金融机构来管理,自己只随身带少量的现金留做备用。把钱存进银行就对应于我们在网络时代里用云计算来实现数据和应用的共享。云计算在推进的过程中也会逐步改善人们传统的网络使用习惯,经历一个逐步被用户接受的过程。
在谈到当前国际大厂商纷纷角逐云计算战场的现状,张智威表示,这是大公司具有前瞻性战略眼光的表现,拥有较为雄厚资金和技术积累、商业模式比较成熟的大公司,需要进行一些能够引领未来技术趋势和商业模式发展方向的项目。大公司积累的各方面资源会让他们做出一些前瞻性的预测,未来3到5年内商业模式将会发生何种改变。当前包括微软、IBM、Google在内的国际IT巨头都形成了共识:云计算未必在两三年内就能被用户普遍接受,但十年后这种模式一定会非常普及。如果到那时再下手云计算的准备工作,就势必会在同行业内落后于竞争对手,形成对自己不利的局面。
可靠软件技术是支撑云计算的核心
张智威表示,大厂商对于云计算的基本理念大体都类似。云计算的实施可划分为三个层次,在底层的是构成一个网络架构的基础硬件,包括CPU、内存;基于最底层硬件之上的是一个软体层,包括支持并行计算的操作系统、中间件;位于最上层的由很多具体应用构成,诸如Gmail、Google Docs、Google Picasa Web等等,未来还会包括网络电视、视频点播更多的应用服务。
在硬体方面的研究至少应包括三个方面:第一个是需要大量非常廉价的服务器、CPU组成集群,在此单个的服务器或CPU的性能或许并不出众,但构建起来的整个网络,在可靠性、稳定性和计算能力上,均能达到大型计算机的标准;第二个需要注意的是,在搭建云计算数据中心过程中,所要求的硬件性能及其组织架构一定要具有良好的散热能力。对于个人用户来说,散热似乎不是需要单独考虑的问题,但对于集群服务器来说,追求良好的散热能力是服务商必须面对的现实问题。第三个方面是,要求每台服务器、每个CPU的耗电量非常低,否则在机器量达到数十万级时,每个月的耗电量都将成为一笔不可忽视的庞大开支。
Google的三大核心技术构成了实现云计算服务的基础:GFS(Google文件系统)、MapReduce(分布式计算系统) 、BigTable(分布式存储系统)。GFS位于这三项技术的最底层,负责许多服务器、机器数据的存储工作。它将一个大体积数据(通常在百兆甚至千兆级别)分隔成固定大小的数据块放到两到三个服务器上。这样做的目的是当一个服务器发生故障时,可以将数据迅速从另外一个服务器上恢复过来。在一定程度上,在存储层面,机器故障的处理由Google文件系统来完成。
第二个部分就是MapReduce,它是Google开发的C++编程工具,用于大于1TB数据的大规模数据集并行运算。这项技术的意义在于,实现跨越大量数据节点将任务进行分割,使得某项任务可被同时分拆在多台机器上执行。例如把一项搜索任务拆分成一两百个小的子任务,经并行处理后,将运算结果在后台合并,最后把最终结果返回到客户端。
第三个部分BigTable,作为 Google一种对于半结构化数据进行分布存储与访问的接口或服务,它是建立在GFS和MapReduce之上的结构化分布式存储系统,可以帮助Google最大限度利用已有的数据存储能力和计算能力,在提供服务时降低运行成本。
如果没有以上软体的支持,云计算战略的最终实现就只能是一个虚幻的梦。Google一直坚信所有的硬件都有可能在某个时间出错,不可靠的硬件数量最好是可靠机型的两倍,最重要的,需要将可靠性放在软件层面。过于关注单个线程的性能意义并不大,对于Google来说,更重要的是对于并行处理技术的完善。为了应对海量级的数据访问和查询,他们需要让每台廉价的服务器的性能发挥到极致,将核心的技术优势牢牢掌握在自己手中才是最安全的。
对开发者的影响
云计算时代的到来,对于开发者最大的影响就是,如果还像以前一样只和一台计算机和有限的存储打交道已远远不够,以前开发的软件或许只在单机上运行就可以了。但云时代的工程师应该更多的掌握分布式计算的基本原理和开发方法,有能力掌握用于分布式计算的协议或语言,开发出可以运行在几百台、几千台甚至几万台计算机上的应用程序,并用该程序管理分布在不同数据中心的海量存储设备,软件执行的速度需要非常快。
云计算是趋势
对于微软提倡的云和端相对平衡的云计算战略,即未来不仅在云端,在终端也需要很强的计算和存储能力,完全用网络实现储存和计算不大可能的看法,张智威表示理解。他笑道,把个人资料和数据放在网络上,就像把钱存进银行,家里总还要留一点现金备用的。在今后很长的一段时间内客户端软件都不会消失。站在微软的立场上看,作为一家传统的平台厂商,当然也不希望客户端最终消失,抛弃过去在客户端积累的优势和传统的商业模式,完全拥抱云计算对于微软来说是不可能,也不理智的。
张智威最后强调,当前业界炒作的云计算概念,不可否认里面有不少商业推广的因素,但没有人敢否认这是互联网发展的大势所趋。就像在最初没有人能够想到电力可以交给专门的电力公司来做一样。现在各大厂商推广的云计算并不是在推一种崭新的技术或商业模式,更多的是在推广一种新的理念。任何新的革命性的事物从出现到被用户广泛接受都要经历一个过程。现在用户的客户端还是比较肥大,但逐步就会有个此消彼长,客户端会比今天变得更瘦,云端会越来越庞大,一旦提供的带宽和相应的服务模式足够成熟,直到某一天,云计算将给互联网带来一场革命性的变化。(本文来自《程序员》杂志0811期)
何来云计算?——IBM Tivoli软件总经理Alfred Zollar专访
2008.11.25  来自:《程序员》杂志
记得第一次做多核计算选题的时候,正是微软的软件大师Herb Sutter在DDJ杂志上发表《免费午餐已经结束》一文的时候。多核的出现让当今计算机的计算能力再一次跃上了新数量级。然而爆发式增长的计算需求似乎总是能将快速增长的计算能力迅速吞噬,这篇文章给我们一个重要的提示:如何有效利用现有的计算能力,应对没有止境的计算需求。
尽管Sutter先生谈的更多是软件设计以及算法的重要性,更兼软件如何进行并行计算,但是在企业级领域,另外一个问题也同样值得我们关注,那就是数据中心的效率以及企业计算如何更大范围的并行。时逢IBM CDL乔迁之喜,IBM公司诸多高层领导莅临访华,而IBM中国软件开发中心“开放日”也同日举行,我便格外留意专门从事信息管理相关Tivoli产品线的策略,也听得一堂Tivoli软件总经理Alfred Zollar先生关于绿色数据中心的演讲,事后有幸参与了对Zollar先生的专访。
计算的效率
如果你曾经去过任何一个大型企业的数据中心,一定会有很深刻的感受。偌大的一个房间,塞满了各式各样的机柜,嗡嗡作响的风扇试图流通原本就不大的空间。然而,每一个企业都需要如此庞大的数据中心吗?大量的事实告诉我们,这些数据中心的利用率通常低到20%以下,巨大的计算能力却因为各种各样的原因不断消耗资源,同时产生大量的二氧化碳。
Alfred Zollar先生的演讲中提到,今天的数据中心,大约有70%的能源消耗于散热,闲置服务器的运转不仅仅空耗计算资源,还同时需要大量散热。
为了解决这个问题,早些年出现了“网格计算”这个词汇,它通过分布式的网络架构,将具备计算能力的小岛汇聚起来,从而尽可能利用这些计算能力来完成更多计算工作。然而,网格计算的概念更多被用在了科学实验等领域,毕竟对于企业来说,通过网络分享自己多余的计算能力还存在太多风险,同时网格计算本身对于计算能力和网络的管理来说,还并不能达到企业计算的需求。
然而这件事情终究还是被意识到了,人们需要监管能力更强的计算模型,来充分提高计算效率,不仅仅是计算资源的利用率,而且是从物理上降低设备的能耗,这也为今天的数据中心提出了新的课题:如何实现更加绿色的计算数据中心。
从节能到云计算
在绿色科技的大背景下,IBM将云计算从原来的技术当中剥离出来,并专门建立的Green DataCenter项目。值得一提的是,IBM自己的云计算,并不打算做成如Google的App Engine或是Amazon的Web Service形式,而是从IBM自己的定位出发,希望其云计算是专门针对企业或行业的计算中心解决方案。这当中除了要应对一系列企业级计算涉及的问题,如安全性、可用性、可伸缩性等相关特性外,还需要解决节能这个关键问题,否则便是师出无名。
到底怎样才能做到真正意义上的分享数据中心计算能力呢?这当中有若干重点的指标:
优化资产的能源使用   只能收费   环保的业务服务   节能配置
这些核心的课题是“Tivoli绿色能源监控”的核心要素。旨在动态配置能源的利用,有效控制二氧化碳排放量。
然而,大目标好订,但针对到不同的角色上,对云计算的需求却是不一样的。IT客户希望能尽可能减少数据中心的运营成本,IT分析师需要高度虚拟化,最终用户需要弹性的扩展,财务分析师则希望灵活定价。这些共同的属性,组成了IBM云计算的核心:
随时随地访问作为服务动态交付的计算资源
通过只能服务交付模式优化IT资源的使用
随需扩展资源,并维持统一的服务质量
快速响应市场变化,快速创新并加速面市时间
把握云计算特色
如果从这样看,云计算似乎只是具备了比当初网格计算更多的管理能力,其收费模式又与现有的SaaS极为类似。那么,这三者之间的区别是什么?Zollar先生对这个问题的回答是:“我们应该尽可能少的强调技术概念,更多地强调客户需要解决的业务问题”。其实不论是Grid Computing(网格计算)、Cloud Computing还是Software as a Service,最终要解决的都是客户的问题,只是它们回答了不同角色的问题。
仅以IBM公司自身为例,为了推动云计算在IBM内部带来的价值,公司启动了专项的TAP(Technology Adoption Program)项目,将重点放在服务的控制和审核上,一年可以节省IT运营成本700万美元。当然,这种项目的基础是建立在企业自身SOA实施良好的条件下进行的,同时IBM对于自身的业务也非常熟悉。如果将云计算的模式推广到其它行业当中,必须要结合各个行业不同的情况,结合这些行业多年IT实施当中的经验和流程,这些无形的东西,是云计算本身的特色。
然而,云计算近两年最为流行的互联网行业,其实可以看做是互联网行业从可用性,稳定性等方面对云计算的探索,对于大型企业级解决方案提供的公司来说,云计算并非新概念,早先其实就有诸如IBM的Z系统,就是典型的云计算模型。
云计算不是新概念
毫无疑问,今天几乎所有的大软件公司都认定云计算就是未来的方向。然而这种趋势真正的到来是什么时候?Zollar先生却给了我另外一个答案:云计算本身并非新概念。他第一次绘制一张与互联网相关的图片时,Internet那一端赫然就是云的形象,回顾计算机数十年发展,每一次在可以看到的图形上,互联网都是云的形态,这无疑告诉我们,云计算其实很早就已经提出了。
但需要留意的是,尽管概念的出现很早,但在一些关键问题上,一直都很模糊。尤其是此前谈及的网格计算、云计算和SaaS这一组概念,其最根本的问题在于业界实施的标准,之所以为云,也许只是因为在标准的问题上没有定论,而Internet现有的HTTP,或许是可以作为云计算本身最好的注脚。(本文来自《程序员》杂志0811期)
云计算还处于初级阶段——专访群硕软件技术总监邵荣
2008.11.25  来自:《程序员》杂志
在谈到云计算和SaaS的关系和区别时,邵荣认为,云计算概念的外延远大于SaaS(Software-as-a-Service),云计算对SaaS模式的最终实现起到了至关重要的补充作用,而SaaS则可以通过云计算更好的实现其商业模式。
截至今年九月,IBM已经在全球范围内拥有了13家专门的云计算研发中心,微软称每年将为云计算服务投入数十亿美金,Sun在其新推出的战略“Hydrazine计划”中也包含了大量的云计算相关内容……面对国际厂商激战云计算的场景,甲骨文CEO埃里森却一语道破天机:“现在的IT厂商将任何与互联网沾边的产品都贴上了云计算的标签,它已经成为了一个广告词”。云计算究竟是广告词还是互联网趋势?为何会在这两年特别火?它对传统互联网商业模式究竟有何改变?和SaaS(软件即服务)的联系和区别在哪里?云计算时代的到来又会给开发者带来何种影响?带着一系列问题,本期《程序员》杂志专访了群硕软件公司技术总监邵荣,请他就有关热点话题与大家分享他的看法。
云计算商业模式逐渐成熟
与SOA的演进过程类似,一个新的革命性的IT概念都会经历首先有技术先驱的研究、实践、技术范围内的应用,然后再到其商业价值被发现,通过技术价值和商业上结合的应用的出现,再经由大厂商(例如微软、IBM、Google)打包成具有业务价值的产品,经推广逐渐走向市场,最终被普通用户接受的过程。云计算的发展也经历了上述的历程。
作为云计算前身的网格计算(Grid Computing)之所以没有得到普及,究其原因是多方面的。网格计算的技术架构和应用模式采用了诸多不“友好”的方式,应用时首先需要在客户端安装特定的软件以获得支持,用户界面生硬,在服务器端做运算处理时需要特别分配资源,不同程序之间在交互时接口和协议很不友好,采用了紧耦合管理模式。
“打一个不严格的比喻,这有点像早期的C/S架构,对程序的控制权还驻留在中央,网格资源做的只是一些分解计算的执行工作”,邵荣谈道。
因此网格计算的应用主要停留在科研机构,用于处理大型、专有、单一的任务,例如基因研究、宇宙探索,而没有走进普通用户的范围。而云计算则可以理解为把对系统的管理权一定程度上下放了,“从另一个角度来看,现在的云计算可以理解为界面更友好、操作更为便利的网格计算,以前网格计算的架构是一对多,到现在云计算的多对多模式”。
在谈到云计算和SaaS的关系和区别时,邵荣认为,云计算概念的外延远大于SaaS(Software-as-a-Service),云计算对SaaS模式的最终实现起到了至关重要的补充作用,而SaaS则可以通过云计算更好的实现其商业模式。从另一个角度,SaaS模式的普及又会给云计算服务商的发展提供强大支持。SaaS强调软件的交付和最终应用,而云计算侧重对底层架构和IT资源的充分利用,由专门的云服务提供商替SaaS供应商们做存储和计算的工作,帮助他们解决硬件或带宽等资源不足的问题,将IT资源充分高效利用,以实现降低成本的目的。而对于云计算服务商来说,他们更关注群体用户,只有大数量级的用户使用云计算服务时,才能实现摊薄成本,降低投入的目的,云计算才有了用武之地。
开发者更关注用户体验和商业模式
每一代程序的发展都会越来越接近于自然语言,在最早的时候有很多程序员在研究编译器、研究操作系统层面的代码和开发工作,但到现在做最底层程序开发工作的人会越来越少。
云计算对于程序员的影响,会使开发者的分布成“倒金字塔”形态,研究底层编译器、存储、负载均衡、不同程序间的迁移和动态接口、中间件如何去支撑硬件性能之类的工作,包括研究云计算底层管理平台的人,只会是一小部分群体。在早期的汇编程时代,程序员甚至要去了解每台计算机内存储的是哪些数据,数据什么时候需要被替换或清刷掉。而在未来,开发者的精力会更集中的关注在软件的应用层面上。
在云计算模式的实现过程中,对现有的开发者所带来的冲击不会太大,不需要他们去掌握更多的编程技能。开发者不必过多的关注诸如如何在后台实现存储,程序应用发布的时候如何去防木马之类系统层面的工作,而只需要在两个方面特别注意。
第一个方面是要求程序员在开发的过程中更多的关注用户体验,这是传统的程序员容易忽视的地方,过往的程序员考虑比较多的是一个软件功能如何能够实现,能否利用到最新的技术以及用哪种技术是最方便的。而在云计算模式实现后,程序员需要揣摩更多的是最终用户如何才能更舒服的使用他们的软件产品。第二个方面是开发者需要关注软件的商业模式,商业模式绝不只是架构师或企业高层该考虑的问题,开发者应该将业务模式注入到编程思维过程中,将自己逐步从繁琐的编码工作中解放出来,做出具有更佳用户体验和更具商业价值的软件。
云计算带来新的商业模式
当前无论是硬件公司还是软件公司,抑或是平台技术公司,几乎所有的IT厂商都在努力向云计算靠拢。邵荣表示,每个厂商在谈到云计算时都有其自身特殊的商业目的。微软和IBM有自己的平台产品,他们进军云计算的最终目的是期望企业在未来搭建数据中心的时候采购自己的产品,而Google的目的更为明显,希望通过云计算服务让更多的互联网用户“粘”在自己的产品上,由此掌握住不同层次的用户群和互联网数据,发布自己的Chrome浏览器和Android手机操作平台的也是为了逐渐向客户端演进,以最终实现其互联网称霸的目的。
对于用户来说,云计算时代到来后,可以理解为把他们的电脑机箱拉到无限远的地方,用户只需要盯住自己的终端(浏览器)就行,不论这个终端是基于移动设备、液晶显示器、PDA或其他的什么产品。对于企业来说,采用云计算服务节约了底层技术架构和设备的管理耗费,也不再需要像现在这样担心因业务模式或者成本变化时,进行数据和应用程序迁移时所要付出的巨大代价。“现在很多门户网站或网游公司都具有成千上万台的服务器,如果把底层架构管理和维护的服务交由专门的云计算服务商来完成,不但可以节约耗电量,还可以综合提高带宽的利用率。”邵荣强调,在现阶段,云计算模式更加适合那些因为新项目,而紧急需要计算处理能力的用户,他们可以调动云环境中的所有计算实例,而且在不需要的时候关闭这些应用。奥运会访问量高峰期过后,很多厂商的服务器和IT设备开始闲置,如果由专门的云计算服务商来管理,则可以对资源重新部署,将不用的服务器关掉或租用给需要增加计算能力的厂商,这就带来了新的商业模式。
邵荣同时也表示,云计算带来的冲击并不足以推翻传统软件的商业模式,也不会让现有商业模式立即发生质的改变。“云计算带来的影响是个逐步的过程,桌面端程序在很长一段时间内也不可能消失,重要的软件仍然会安装在用户的客户端,但是在未来,传统的桌面软件都会有网络版本。两三年内大厂商们还会推出新的杀手级云计算应用出来,也会提出更完善的解决方案和模式。随着带宽和Web软件用户体验的提高,人们会逐渐接受这种方式。”(本文来自《程序员》杂志0811期)
自由软件的云计算观——专访自由软件之父Richard Stallman
2008.11.25  来自:《程序员》杂志
作为自由软件之父,Richard Stallman的观点犀利。很明显,在自由软件的理念之下,Richard并不喜欢云计算,他更相信将软件运行在自己的PC机和服务器上,以避免“将您自己置于别人的砧板上”。
Richard:我想“云”这个名词要比其技术本身更热门。名词本身很模糊——我们是否可以认为是“多云天气”?所以其实很难确定人们在说这个词的时候到底在说什么。
某些人很热衷这个词,甚至尝试将这一概念应用于所有使用互联网的事物上,例如我们熟悉的搜索引擎、Wiki和社会化网络站点。如果你延伸“云计算”这个名词到这些范畴里,你将发现其实非常多的人都在做“云计算”。但事实上他们所做的事情都并不新鲜。将这个词儿过分延伸其实只是让它变得毫无意义。
那到底我们应该怎么给“云计算”这个词下定义呢?我认为对于这个词来说,一个切合实际的含义是使用远程服务器来完成基于你自己的数据、属于你自己的计算。换句话说,就是一类适合在你自己的计算机上进行的计算任务。
而云计算是一个很糟糕的想法。使用别人的服务器来完成你自己的计算,意味着你把对你的计算的控制器割让给了运作服务器的人。这是傻瓜才会干的事情。
《程序员》:为什么大公司,例如亚马逊、Google、IBM、微软等,都在谈论云计算?
Richard:我猜测这是因为他们认为宣扬那些神奇的词汇可以吸引住客户。可能他们认为如果他们能说服你用他们的服务器来计算,而不是在你自己的机器上运行程序,他们就可以从中赚取更多的钱。
《程序员》:云计算和网格计算之间的关系是怎样的?
Richard:相似之处在于它们都使用互联网——正如其他的活动那样。除此之外的其他方面,它们是完全不同的。
网格计算意味着要求许多人将他们的计算机以并行的方式来参与某项大型计算任务,甚至有可能这样的计算任务对于一台超级计算机来说都非常艰巨。相比之下,人们在做“云计算”任务时,往往只是处理文字和电子表格,而这些任务已经完全可以运行在已有30年历史的个人电脑上。
《程序员》:云计算与SaaS之间的关系又是怎样的?
Richard:我想它们基本上就是同样的东西,只是观察问题的角度不一样。两者都意味着你将要使用你自己甚至没有合法拷贝的软件来进行计算任务,这甚至比使用私有程序拷贝的情况要更糟糕。
《程序员》:云计算还要多久才会变得成熟?为什么?
Richard:我反而更倾向问说我们该如何甩掉它,在它还没有被广泛应用之前。(I would rather ask how we can wipe it out before it lays eggs ;-).)
保持对你的计算任务的控制权,应使用免费(自由)程序的拷贝来进行计算,避免将您自己置于别人的砧板上。如果你使用了私有软件,或者你运行的软件拷贝并不属于你,也没有在你自己的机器上运行,你实际上就是将控制权交给了别人。
《程序员》:云计算对于开发人员来说意味着什么?
Richard:我希望它不会产生什么影响。
《 程序员》:云计算对于互联网来说又意味着什么?
Richard:互联网自己本身并不重要,重要的是使用它的用户。互联网对于许多活动来说非常有用,即便这些活动并不能说是某种问题。但有一样事情你不应该使用互联网来做:将你的计算转移到你控制的机器之外。换句话说,云计算是不应该被运用于互联网的东西。(本文来自《程序员》杂志0811期)