指间(蒋建华)--天行健,君子当自强不息

        专注于微软产品及.Net技术的blog
  博客园  :: 首页  :: 联系 :: 订阅 订阅  :: 管理

云计算服务及应用:GAE与软件+服务的总对决

Posted on 2010-06-30 09:38  蒋建华  阅读(319)  评论(0编辑  收藏  举报

【赛迪网报道】云计算是并行计算(Parallel Computing)、分布式计算(Distributed Computing)和网格计算(Grid Computing)的发展,或者说是这些计算科学概念的商业实现。云计算是虚拟化(Virtualization)、效用计算(Utility Computing)、将基础设施作为服务IaaS(Infrastructure as a Service)、将平台作为服务PaaS(Platform as a Service)和将软件作为服务SaaS(Software as a Service)等概念混合演进并跃升的结果。为了区分服务于应用,我们对服务的分析通过云计算服务类型来讲述。云计算按照服务类型大致可以分为三类:将基础设施作为服务IaaS、将平台作为服务PaaS和将软件作为服务SaaS。

GAE

Google的云计算提供的服务如图1所示:

图 1 Google 云计算平台服务

在上图中,还有Google提供的很多服务没有一一列举出来,但是我们可以了解到在Google云计算平台上,Google云计算的SaaS层是Google Docs、Gmail、Google Earth、New search、Checkout、Google wave、Google Gears;Goole云计算的PaaS层是Google App Engine,GAE。

软件+服务

根据微软公司发布的《微软云计算解决方案白皮书》所指,微软云计算平台提供的服务如图2所示:

图2 微软云计算平台服务

如上所述,Google 的云计算服务是建立在GAE基础上的,微软云计算则是建立在Windows Azure基础上的。Google倾向于借助其互联网技术来发展云计算技术,而微软则进行资源整合,如微软刚发布了Office 2010,同时也提供了在线的Office服务,这是微软和Google Docs一大竞争的表现。

Google还在其云计算基础设施之上建立了一系列新型网络应用程序。由于借鉴了异步网络数据传输的Web 2.0技术,这些应用程序给予用户全新的界面感受以及更加强大的多用户交互能力。其中典型的Google云计算应用程序就是Google推出的与Microsoft Office软件进行竞争的Docs网络服务程序。Google Docs是一个基于Web的工具,它有跟Microsoft Office相近的编辑界面,有一套简单易用的文档权限管理,而且它还记录下所有用户对文档所做的修改。Google Docs的这些功能令它非常适用于网上共享与协作编辑文档。Google Docs甚至可以用于监控责任清晰、目标明确的项目进度。当前,Google Docs已经推出了文档编辑、电子表格、幻灯片演示、日程管理等多个功能的编辑模块,能够替代Microsoft Office相应的一部分功能。值得注意的是,通过这种云计算方式形成的应用程序非常适合于多个用户进行共享以及协同编辑,为一个小组的人员进行共同创作带来很大的方便性。Google基于云计算平台提供的应用如图3所示:

图3 Google云计算应用

微软的云计算应用既有针对消费者的服务,也有针对企业的服务。微软针对消费者提供了包括 Windows Live、Office Live、Live Messenger、Bing以及 Xbox Live等在内的多种服务。上述服务用户都已在大量使用,比如 Live Meeting每年用户使用的在线会议时长达 50 亿分钟;Windows Live ID 每天用户登录使用人数达 10 亿人;Exchange Hosted Services 每天处理电子邮件信息 20 至 40 亿条等。微软针对企业用户的服务为 Microsoft Online Services,这是一整套由微软托管运维的向用户提供订阅服务的企业沟通协作解决方案,该企业级服务解决方案能够帮助各种经营规模的企业提高业务经营效率,而无需企业自己维护管理复杂的 IT基础架构。针对企业的服务主要包括 Exchange Online, SharePoint Online, Office communicator Online, Office Live Meeting, Dynamics CRM Online 等。

 

开发环境:Python 、Java和.Net开发平台

Google App Engine 是一个开发、托管网络应用程序的平台,使用 Google 管理的数据中心。它在 2008 年 4 月发布了第一个 beta 版本。Google App Engine 使用了云计算技术。它跨越多个服务器和数据中心来虚拟化应用程序。Google App Engine 在用户使用一定的资源时是免费的。支付额外的费用可以获得应用程序所需的更多的存储空间、带宽或是 CPU 负载。当前,Google App Engine 支持的编程语言是 Python 和 Java (通过扩展,可以支持其他 JVM 语言,诸如 Groovy、JRuby、Scala 和 Clojure),支持 Django、WebOb、PyYAML 的有限版本。

对于开发者而言,Windows Azure已经建立起一个简单而快速的系统,最重要的是它拥有着标准的模型,是我们步入“云计算”时代的捷径。开发者可以根据自己的需要选择第二层功能来使用,比如数据库,业务工具,甚至是第三方软件提供的功能。Windows Azure云计算平台为开发者提供了灵活性和可开发性,如提供了对Java、PHP、Ruby、Eclipse的一些SDK,同时还需要考虑利用目前现有的技能、工具和技术,比如微软.NET框架、Visual Studio。使用Windows Azure Tools for Visual Studio,我们可以为Windows Azure创建,调试和部署服务和应用程序。Azure服务平台目前能够执行编译.NET Framework应用程式,并直接支持ASP.NET 应用程式框架以及配合将其他应用程序转移到云计算平台上。同时,也可以利于Visual Studio 2010对我们的服务和应用程序进行调试。另外,我们可以利用Visual Studio 2010将我们创建的服务打包,然后通过Windows Live Developer Portal部署到Windows Azure云计算平台上。

云计算时代的到来,对于开发者最大的影响就是,如果还像以前一样只和一台计算机和有限的存储打交道已远远不够,以前开发的软件或许只在单机上运行就可以了。但云时代的工程师应该更多的掌握分布式计算的基本原理和开发方法,有能力掌握用于分布式计算的协议或语言,开发出可以运行在几百台、几千台甚至几万台计算机上的应用程序,并用该程序管理分布在不同数据中心的海量存储设备,软件执行的速度需要非常快。

 

赛迪地址:http://news.ccidnet.com/art/32857/20100525/2069577_3.html