全方位比拼 Windows Azure VS VMware vFabric

原创
云计算 虚拟化
虽然我们对此表示欢迎,但是我们已经有微软的PaaS平台Windows Azure了,它在云应用程序开发领域已经根深蒂固了,因此,对于走在云应用程序开发之路上的企业来说,对VMware vFabric和Windows Azure的常见特性做一个对比分析是很有现实意义的。

VMware vFabric云应用程序平台:

最近,VMware推出了它自己的云应用程序平台策略和解决方案,让开发者可以更轻松地构建和运行的现代的应用程序,这些现代的应用程序可以智能地把工作分配到底层的基础设施上,让应用程序的性能达到最优,更好地利用服务和基础设施。

这个云应用程序平台由Spring Java开发框架和一些平台服务(其中包括轻量级的应用程序服务器,全局数据管理,支持云的消息传递,动态的负载均衡和应用程序性能管理)组成。

对于云来说,更多PaaS(Platform as a Service)解决方案的出现绝对是一个利好消息,因为PaaS可以给那些想要采用云技术的组织提供必要的可扩展性。

虽然我们对此表示欢迎,但是我们已经有微软的PaaS平台Windows Azure了,它在云应用程序开发领域已经根深蒂固了,因此,对于走在云应用程序开发之路上的企业来说,对VMware vFabric和Windows Azure的常见特性做一个对比分析是很有现实意义的。

Windows Azure VS VMware vFabric

多层应用程序的设计模式

Windows Azure:

Windows Azure目前支持下面这两种类型的角色:

Web角色:Web角色是专门为编写IIS7和ASP.NET支持的Web应用程序而定制的一种角色。

Worker角色:Worker角色主要用于一般性开发,或者为一个Web角色执行后台任务。

在我的文章《Windows Azure Design Patterns》中解释了如何使用这个平台来构建多层的应用程序。

VMware vFabric:

vFabric Enterprise Ready Server(ERS)是VMware vFabric云应用程序平台的Web服务器和负载均衡组件。

vFabric tc Server是VMware vFabric云应用程序平台核心的运行时服务器。

从某种意义上来说,ERS和tc Server也可以扮演Web角色和Worker角色那样的角色。但是我们必需要了解一下它们在vFabric可能会被部署于其上的各种平台(例如:force.com)上的按需分配功能。

#p#

开发平台

Windows Azure :

Windows Azure目前支持下面这些编程语言:

因为Windows Azure内置了.NET Framework,所以它全面支持像C#,VB.NET那样的主流语言。

不只是编程语言,在Windows Azure上构建应用程序,开发者还可以利用上他们现有的Visual Studio经验。

大多数复杂的任务(例如:针对云的发布,部署)都可以在Visual Studio这个IDE中,通过简单的右击方式来完成。

VMware vFabric:

如上所述,vFabric是一个100%的Spring Java开发框架,目前还不支持其他的编程语言。

SpringSource Tool Suite(STS)为构建基于Spring的企业级应用程序提供了最好的,基于Eclipse的开发环境。STS提供的工具支持所有最新的企业级Java,基于Spring,Groovy和Grails的技术,以及最先进的工具都可以用于企业级的OSGi开发。

但是我们必须要了解这些用于开发的IDE是怎样和目标云平台(例如:vmforce,EC2)进行集成的。

#p#

关系数据库和NOSQL支持

Windows Azure:

SQL Azure是流行的SQL Server关系数据库的云变种,由于具有以下这些特性,它会继续处于领导地位的:

更短的学习周期,或者根本就不需要学习周期

继续使用现有的工具

对云的支持

丰富的界面和开发工具支持。

SQL Azure提供了同样的Tabular Data

和这个数据库进行通信的Stream interface(TDS)也可以用来访问内部(on-premise)的SQL Server数据库。因此,使用SQL Azure,开发者可以使用和构建SQL Server客户端应用程序一样的工具和库。

Windows Azure还为非结构化的数据提供了NOSQL存储选项:

Binary Large Object(BLOB)Service是使用Windows Azure来存储文本或二进制数据的最简单方法。

对于需要附加结构的大量数据来说,Table Service会更合适一些,如果应用程序需要使用的数据的查询方式很复杂,那么它可以很好的发挥作用。

VMware vFabric:

vFabric GemFire是vFabric云应用程序平台的数据管理组件。

VMware的官方主页的说明如下,GemFire融合了各种先进的技术(例如:复制,分区,数据感知路由,连续查询),它可以提供一般数据库无法提供特性:实时的,可以灵活扩展的数据访问。

使用GemFire,你可以获得横向的扩展,更快的数据吞吐,最小的延迟和持续可用性,以及一个数据库具有的可靠性和数据管理能力。

因为它是一个“内存”数据库,并且构建在JVM之上,所以,它想要大型数据集和数据库编程便利性(这需要强大的,面向过程的,第4代语言(例如:PL/SQL或TSQL)的支持)方面一鸣惊人还需要一定的时日。

但是,Gemfire的架构展示了许多可扩展性方面的特性(如果配置合理的话)。它需要花费一定的时间才能进入主流的数据库编程领域。。我们可能需要密切地关注新的应用案例和这个模型支持的设计模式。

#p#

 

“内部(on-premise)”的整合

Windows Azure :

Windows Azure Appfabric Service Bus提供了安全的消息传递和连接功能,让开发者可以在云中构建分布式的,离散的应用程序和跨越“内部”(on-premise)和云的混合式应用程序。它可以使用各种通信和消息传递协议和模式,让开发者完全不用为传送保障,可靠的消息传递和扩展而担心。

Access Control可以让你用更简单的方式来提供针对Web应用程序和服务的身份标识和访问控制,它集成了标准的身份标识提供程序,其中包括各种企业目录服务(例如:Active Directory),和各种Web身份标识(例如:Windows Live ID,Google,Yahoo!和Facebook)。

Microsoft SQL Azure Data Sync目前还处于CTP(Community Technology Preview)阶段,它是一个构建在Microsoft Sync Framework之上的,基于云的数据同步服务。它提供了双向的数据同步和数据管理功能,有了这些功能,我们可以更加轻松地在多个SQL Azure数据库之间共享数据,或者更加轻松地在内部数据库和SQL Azure数据库之间共享数据。

VMware vFabric:

在现阶段,vFabric在这方面的所有属性都比较差。

RabbitMQ提供了健壮而可靠的跨系统消息传递功能,对于基于云的应用程序来说,这是至关重要的。一个支持云的消息传递服务可以让应用程序和内部(或外部)数据中心之间的通信变得更加容易。

但是,在这个平台上,缺少至关重要的数据集成工具。

目前来说,应用程序服务器tcServer可以100%地和Tomcat服务器兼容。但是,要迁移企业级的应用程序,企业级的应用程序服务器(例如:Web Logic,Web Sphere)的支持是必不可少的。

我们还需要和内部的目录服务,访问管理程序进行安全方面的整合。

#p#

总结

Java EE是一个主流的企业级平台,像vFabric这样的PaaS平台的出现是非常令人兴奋的。这给现有的,基于Java EE的应用程序迁移到云中提供了多种选择。这里所做的和Windows Azure的对比分析只针对新的云应用程序或构建新的SaaS。我们希望这些平台可以添加更多的新特性来推动SaaS市场向前发展。目前,对于一个新的应用程序来说,Windows Azure才是首选,但是,对于把现有的Java EE应用程序迁移到云中来说,vFabric是一个更好的选择。对于优秀的企业来说,我们一定可以看到它们之间进行整合的一面。

原文名:Windows Azure vs VMware vFabric 作者:Srinivasan Sundara Rajan

【本文乃51CTO精选译文,转载请标明出处!】

【编辑推荐】

  1. VMware View 4.5体验之旅(上)
  2. VMware View 4.5体验之旅(下)
  3. 绝处逢生 VMware View 4.5配置管理替代方案出现了!
  4. VMware View虚拟桌面迁移:数据存储注意事项
  5. VMware View难管理?四个突破口解决
  6. VMware View 4.5安装 三因素定成败
  7. 为桌面而构建 亲密接触VMware View
  8. VMware View进军iPad市场 通过App Store下载
责任编辑:王勇 来源: 来源:51CTO
相关推荐

2012-06-15 08:56:12

Windows Azu云计算微软

2010-03-17 09:22:06

FlashSilverlight

2022-08-27 21:31:04

Tauri框架二进制

2012-08-16 09:32:19

VMware

2012-05-24 13:25:37

TitaniumPhoneGapAppcelerato

2016-12-14 14:43:11

ButterknifeAndroid

2013-02-21 10:07:28

vFabric AppVMware云平台

2010-08-04 14:15:44

nfs服务

2009-07-15 08:25:42

微软Windows 7性能测试

2009-02-06 14:26:37

UbuntuVistaWindows7

2011-03-21 15:08:56

MongoDBCouchDB

2021-08-24 07:57:26

KafkaRocketMQPulsar

2009-11-03 14:26:13

EPON接入技术

2009-12-15 10:10:42

Ruby过程对象

2009-12-08 10:33:23

PHP应用问题

2009-08-24 10:39:12

思科认证CCNA思科认证CCNA

2009-10-26 13:41:49

机房监控

2009-09-08 09:46:44

思科认证介绍思科认证

2022-03-22 18:00:54

微软安全Azure

2020-07-21 07:58:17

云计算AWSAzure
点赞
收藏

51CTO技术栈公众号