您的位置:首页 > 其它

推开云端计算的视窗——微软互联系统部门全球副总裁Robert Wahbe揭秘Azure服务平台

2008-12-22 11:18 821 查看

 

 Windows Azure及Azure 服务平台可能是微软近年来最重要的战略性产品,对于云计算的发展也具有重要的意义。此文发表于《程序员》杂志2008年第12期,对于帮助大家了解Windows Azure及Azure服务平台有一定帮助。由于是涉及厂商产品的合作文章,言辞多有修饰痕迹,请大家专注技术本身,同时保持批判态度。
10月27日,微软首席软件架构师Ray Ozzie在PDC大会上发布了Windows Azure和Azure服务平台的技术预览版。整个研发过程相当保密,并且得到微软最高决策层的高度重视,将原本分布在很多其他团队的技术精英集中投入该项目研发。在业内有观点认为,这是微软自2002年发布.NET以来最重要的技术进步,同时也是整个软件技术发展史上的最具标志性的里程碑事件之一。这究竟是实事求是的评价,还是言过其实的吹捧,或者仅仅是一种公关辞令?11月14日,微软互联系统部门全球副总裁Robert Wahbe来到微软中国研发集团在上海的服务器与开发工具事业部,看望他在中国的研发团队,我本人也代表CSDN和《程序员》杂志借此机会就Azure服务平台的有关情况与Robert Wahbe进行了充分的对话。互联系统部门是微软最具战略意义的部门之一,统管微软涉及网络和设备互连以及新计算模型的平台与技术研发,著名的BizTalk、WCF、WF等技术和产品都出自该部门, Azure服务平台中.NET Services则是这个部门的最新成果。事实上,我们这次采访的中国研发团队就在其总经理陈耀文先生的带领下直接参与了.NET Services的开发。可以说,在中国恐怕没有比他们更了解Azure服务平台的团队,也没有比Robert Wahbe更适合讲述Azure服务平台的人。尽管这一重大产品及其所代表的软件技术新时代才刚刚拉开序幕,现在就要对其进行完整和客观的论述还为时尚早,但是通过与该团队和Robert Wahbe本人的深入交流,我相信Azure服务平台确实值得整个软件产业高度关注,它所代表的技术浪潮具有重塑整个产业面貌的巨大力量。

1. 云计算模型和微软的云计算战略

“Azure”是一个法文词,其意义是“天空的蓝色”。微软采用这一命名的用意不难猜测,就是希望Azure这片蓝天能够成为“云”计算的依托和背景。尽管这个名字起的够浪漫,但是Azure能否真的不负众望,则还需要有赖于诸多因素。首要的因素就是微软对于云计算的战略规划是否清晰。因此,我们首先谈到了微软的“云端计算”概念和“软件+服务”战略。
问: Azure服务平台的推出与微软去年提出的“软件+服务”战略之间是什么关系?
答:我们早就注意到近年来软件领域出现的一个重大趋势,那就是将软件作为服务来交付,也就是所谓的SaaS。但是我们同时也发现,用户喜欢SaaS,但也希望能够在各种设备上以很好的交互体验访问服务。我这里有一个例子:建筑甲方经常在会议上要求建筑师修改设计方案,而方案修改之后,重新渲染三维建筑场景是一项计算密集型任务,通常单台PC或笔记本电脑无法快速反映修改后的效果。而一个CAD厂商开发了一个CADSpace服务,允许前端CAD软件将渲染任务传给云计算,后者由数千台机器组成,可迅速完成渲染任务并且将结果返回给前端的CAD软件,这样甲方当场就可以看到方案修改后的效果。这就是“云”+“端”各展所长达成的良好效果。
因此微软认为,未来的软件应用是服务与软件的优化组合。支持这种模式的基础设施,将由前端数以亿计的PC和移动设备与后端的服务器共同构成。Azure服务平台是微软新推出的云计算平台,也是后端服务的支撑平台之一。因此,可以说Azure服务平台是“软件+服务”战略的重要支点。
问:那么是否可以说微软打算把“软件+服务”中的“服务”交给以Azure服务平台构造的云计算来完成?
答:这是一种过分简单化的看法。首先,微软确实认为,云作为一个服务器、PC和移动设备之外新出现的计算“层(tier)”,具有重大的意义,是提供服务的重要的一层,但并不是唯一的一层。传统意义上的现场部署服务器设施(on-premises)在提供服务方面仍然具有重要的意义。微软认为,用户有权利也有理由同时采用现场服务器和云计算(in-the-cloud)来构造自己所需的服务和应用。
问:既然如此,云计算对于用户来说有什么优势可言呢?
答:首先,云计算使大量用户能够共享基础设施,从而提升资源的应用效率。我们做过调查,大部分企业中计算机的使用率是10%左右,这是严重的资源浪费在云计算模式下,每个用户根据需求获取计算、存储、带宽等资源,资源的整体使用效率大大提升。其次,云计算环境将各种计算资源虚拟化,从而能够动态调度。例如,当你的业务刚刚起步的时候,你可能只需要几台机器,而当你的业务迅速发展时,如果采用现场服务器模式,你就需要添置硬件设备,做大量工作提升计算能力,这很麻烦。而使用Windows Azure操作系统,你需要做的只是修改配置文件,甚至连修改都不需要,Windows Azure会自动为你调配充足资源,保证你的应用顺利执行。这种动态性,以及由此带来的可延展性,是传统模式无法比拟的。第三,云计算模式可以使你以更低的成本获得更高的性能和可靠性。一般来说,企业应用对于性能和可靠性的要求很高,但获取它们的代价不菲——不但意味着更多的硬件设施,更要建立和维持一支高水平的运维团队,一旦遇到问题,解决起来难度和开销都很大。而云计算模型使得普通的用户可以比较容易地获得高性能、高度可靠性的应用系统。最后,也是最重要的,云计算平台支持一种新的软件付费模式——按需支付(pay as you go)。在这种模式下,你用多少服务,就付多少钱,开销被优化到最佳状态。而在提供方,将形成云计算托管服务商+应用提供商的模型,同样实现更好的分工,软件租用的新的商用模型将建立和发展起来。

2. 独一无二的Azure服务平台

问:提到云计算,目前Amazon已经在这个领域已经颇有建树,其EC2、S3等一系列服务已经开始产生收入。另外,Google的AppEngine也已经发布,那么微软的Azure服务平台与它们相比有什么不同?
答:我可以说Azure服务平台是独一无二的。首先,微软采纳云计算趋势的策略是独一无二的,我们不是一下子要求用户跳跃到云计算模式上来,而是允许用户自主决定在现场服务器和云计算之间取得折中。让我说得具体一点,假设你是一个创业公司,你需要部署你的产品,你没有钱买强大的服务器设备,昂贵的存储和带宽,那你可以完全将你的应用部署到基于Windows Azure的云计算中,只付出低廉的租金。而当你的业务成长起来,有足够的资金负担计算设备,那么你可以选择将一部分服务放在云计算中,另一部分服务放在现场服务器中,具体怎样配置,完全可以由用户决定自由组合。Windows体系中,现场服务器架构和云计算并不矛盾,而是互相补充,这是Azure服务平台最独特的策略。其次, Azure服务平台在产品与技术的宽度和广度上都是独一无二的:
你可以看到,Windows Azure是一个在云端的操作系统,包括计算、存储、管理等,,在这一层之上,还有非常丰富的功能和服务。Live Services是以用户为中心的,提供诸如联系人信息、博客、图片等服务;.NET Services提供应用开发所需要的通用服务,比如服务总线、访问控制和工作流服务等,用户可以不必一遍又一遍开发重复的功能和基础设施;SQL Services提供了数据管理的服务;SharePoint Services提供协作服务,而CRM Services则提供类似Salesforce的应用级的服务。你可以看到,这个平台所提供的服务是非常丰富的,而你的应用可以基于这些丰富的服务而建立,可以想象,无论在开发效率、成本、可靠性和可扩展性各方面, Azure服务平台都将为开发人员带来非常大的优势。

问:Windows Azure是一个.NET环境,是吗?我必须用.NET才能在其上开发部署应用,是不是这样?
答:不是的,Windows Azure将同时支持.NET应用和原生(native)程序,你可以用C、C++、Python、Ruby、PHP写程序,然后运行在Windows Azure上。当然,.NET在Azure这个平台上更是如鱼得水。对多种开发平台提供支持,目前Azure服务平台也是独一无二的。
问:我自己想用Windows Azure搭建一个云计算,可以吗?还是说世界上只有一个Windows Azure云计算,我们都只能用它提供的服务?
答:这又是Windows Azure的一个独特之处。微软将会建立自己的基于Windows Azure宿主环境,并对外提供云计算服务,这是无疑的。但是,微软也会允许第三方使用Windows Azure搭建他们自己的云计算服务平台,并且为他们提供支持。
问:很多人会问,把我们的商业秘密信息放到云里,我的隐私如何保护?信息安全性和访问控制如何解决?
答:这种担心很大程度上可能是一种误解。我一直认为,当前云计算的一个示范性应用就是电子邮件,诸如Hotmail、Gmail、Yahoo电子邮件等巨型的电子邮件服务商一刻不间断地向数亿用户提供电子邮件服务,用户则可以用各种方式使用这些服务。如今大家每天使用这一云计算服务,而大量隐私信息也在其中流转,并没有人觉得这是很大的问题。我相信,假以时日,人们会发现云计算模式能够对他们的隐私提供充分的保障。当然,从云计算平台提供者的角度来看,这个问题是必须认真对待的。Azure服务平台在这方面做了充分的研究,提供了可信赖的解决方案。Azure对于安全认证、访问控制等问题的解决方案,是建立在此前Windows平台多年研究成果的基础之上,在实践中已经充分证明了其先进性和可信性。比如完全由在这里的中国团队开发的Access Control(访问控制)功能,可以与现有商用电子身份认证服务,如Windows Live ID或Active Directory通过WS-Federation协议联盟起来,并通过规则的方式进行权限管理。我们相信在这些方面, Azure服务平台是目前的领先者。再退一步说,即使是高度机密的数据,不能放入云里,与Azure也并不矛盾——别忘了, Azure服务平台支持现场服务器与云计算的自由配置,你可以将这些数据放在完全自主控制的环境里,这没有问题。

3. 走入云计算时代的开发者

问:开发云计算软件与传统服务器软件有什么不同?我们的编程思想是否要发生根本变化?
答:不需要。你之前为Windows Server写的应用程序,只需要在配置文件里修改一行代码,就可以被部署到Windows Azure上,就是这么简单。这也算得上是Windows Azure的一个重大优势——你的应用程序可以自由地在传统服务器和Windows Azure环境之间迁徙。你知道,这对于软件的开发、测试、部署都带来巨大的好处。从另外一个方面来说,编写高性能服务器软件,需要掌握一些新的模式和方法,比如MapReduce,从而获得更好的可扩展性。但这只是一种软件编写模式,在现场服务器中也需要用到。因此,开发Windows Azure应用并不需要你大幅度的更新知识。更何况,开发Windows Azure应用的整个工具环境都是大家熟悉的Visual Studio,还是基于.NET Framework,服务开发模型还是基于WCF,我们相信开发者迁徙到Windows Azure上将相当轻松。
问:这些年微软的技术进步速度太快,很多开发者抱怨说他们不得不气喘吁吁地跟上微软。现在Azure服务平台又出来了,作为开发者,到底应当怎样在这场追逐中保持良好的心态?
答:微软是一家不断创新的公司,现在是一个需要快速创新和变革时代,这或许能解释为什么我们这几年的步伐如此之快。但是对于开发者来说,微软相当重视保证他们知识的可延续性和稳定性,你仍然使用的Visual Studio,.NET Framework虽然在不断进化,但是其基本内容保持不变,知识更新成本并不高。我相信你必须专注于你的具体工作,这样你会享受技术进步的乐趣,而不是感到疲惫不堪。微软会尽力帮助开发者做必要的提升,但是我们不会因为有这些抱怨而停止我们创新的脚步。
尾记: Azure服务平台的内容非常丰富,Wahbe先生的介绍也相当详实,然而受篇幅限制,我只能择其大略,希望能令开发者对崭新的云计算平台的全貌和特色有初步的认识。我个人是云计算的忠实信徒,我相信云计算将成为未来的主流计算模型,并彻底改变IT的面貌。因此, Azure的重要性应当与PC时代的DOS和Windows,C/S时代的Windows NT相提并论。随着云计算时代的到来,软件开发模式和商业模型都将进入全面开放组合的新时代,我相信面对这一未来,一部分人会兴奋不已,而另一部分人则可能垂头丧气。但是,诚如Wahbe先生所言,单纯地为技术的进步而雀跃或者忧心忡忡都是没有必要的,作为开发者,关注自己的业务,把自己的工作做好,那么你会发现, Azure服务平台所代表的云计算时代一定是值得期待的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐