本周Google与VMware开始了亲密的合作,两者将合作开发基于Java语言的谷歌应用引擎(Google App Engine)。这样一来,开发人员便可以在谷歌应用引擎上编写、运行基于Spring框架的的Java应用程序。
这个消息自从在Google I/O大会上宣布以后,便引起了部分开发人员的关注,但是大部分开发人员仍然持观望态度。
VMware与Google有着一个重要的共同点,那就是两者时刻感受到来自Microsoft的挑战,因此达成同盟合作关系是具有现实意义的。
除了VMware的SpringSource(包括SpringSource工具套件和SpringRoo)以外,开发人员还可以使用Google Web Toolkit来编写Java应用程序。这些应用程序还可以基于其他平台运行,例如商业版谷歌应用引擎(一种包括了SSL安全机制的新版本),VMware vCloud服务,VMforce(VMware与Saleforece.com合作的PaaS实现开发平台)。
“我们选择与VMware合作来帮助企业实现云移植,使开发人员能在更多环境中开发丰富的Java应用程序。”Google开发平台副总裁Vic Gundotra表示。
在云中实现应用程序移植的想法相当好,而且目前该应用的的开发才刚刚起步,它为开发人员提供了更多的选择。 但是开发者们对该项应用能否正常运行却表示怀疑。
“我担心这个功能要多长时间才可以成功得到应用。”Parity Creative顾问、网页工程师Matthew Heidemann说。 “每个云都具有独特的服务,谷歌应用引擎使用的Google Big Table是无法复制到VMware私有云中的;VMforce使用的Chatter API来自Salesforce,也同样无法实现移植。”他说。
Google与VMware的合作仍然面临挑战
开发人员并不会对每种云都信任。“对我们来说保证基础设施在内部运营很重要。”Auktionshas Zofingen的高级开发工程师Marcel Lanz说,这是一家基于Java的瑞士在线拍卖网站。“如果互联网发生故障,那么我们的业务必然会受到影响。”该网站使用Amazon的 Cloudfront发布其产品与服务目录。“仅仅是部分业务不可用总比整个服务中断要好的多,对于业务来说也能大大降低风险。”Lanz说。
Parity Creative的Heidemann认为公司将不会把数据配置在谷歌应用引擎上。“不是因为PCI、HIPAA等兼容问题,关键在于其安全性。”他说。而其他的业内人士则对此表示乐观。
Google与VMware的合作“能使Java具有更大的吸引力”Ruby开发人员Justin Fields说。 他表示需要快速开发和快速变更的功能,因此如果谷歌应用引擎的Spring Java应用程序能提供这样的灵活性,“我愿意使用它”,他说。
Java开发人员、Rhapsody国际公司的技术总监Andrew Denyes认为该合作一定会使Google toolkit更具吸引力。他近期还与VMforce签署了合作协议。“虽然其结果如何现在还不清楚但是,我们将努力尝试。”他说。
分析师表示随着云计算基础设施的部署,开发平台之间的竞争不可避免。“Microsoft公司的Azure肯定会采取措施。”Forrester首席分析师Jeffrey Hammond说。
Google/VMware与VMforce对比
据VMware CTO Steve Herrod表示,总体来说目前VMware在云计算方面的计划为:帮助企业建立私有云;以实现“有区别但又兼容的公共云”;在公有云和私有云之间提供连接管理功能。
Herrod表示,与VMforce相比,Google与VMware的联合更为主动地迎合了不同类别的用户。“这也就回应了‘有区别但又兼容’的原则了。”他说, Salesforce.com是一个强大的企业,它拥有一个庞大的客户数据库并不断扩充其客户应用程序。
“Google则是另一种类型的企业。”Herrod说:“它拥有一个庞大的开发系统,并与Google Docs的特性很好地结合在一起。”因此,之前推出的VMforce.com更受企业关注。
Google和VMware可以对线程进行共享。“开发人员能编写Java程序在自己的数据中心内运行,此外还能部署到VMforce或谷歌应用引擎上。”Herrod说,将来在Eclipse IDE工作的开发人员可选择将他们的Spring应用程序直接发布到谷歌应用引擎。
在VMware和SpringSource面世之前,Salesforce.com和谷歌应用引擎都要求开发人员用各自的专用语言进行代码编写。“Paul Maritz称之为加州旅馆效应——你可以登记入住但是不能离开。”Herrod说。
VMware CEO Paul Maritz表示,VMware正在创建一个“云计算的开发源码层”,当拥有更多技术部署能力之后,开发人员必将创造更加伟大的应用。