Native Apps At The Client & Cloud

Srinivasan Sundara Rajan

Subscribe to Srinivasan Sundara Rajan: eMailAlertsEmail Alerts
Get Srinivasan Sundara Rajan: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Related Topics: VMware Journal, SaaS Journal, Azure Cloud on Ulitzer, Java Developer Magazine, IT as a Service, Platform as a Service

Article

Windows Azure vs VMware vFabric

Java EE and .NET PaaS platforms for enterprises

VMware vFabric Cloud Application Platform
Recently VMware introduced its cloud application platform strategy and solutions, enabling developers to build and run modern applications that intelligently share information with underlying infrastructure to maximize application performance, quality of service and infrastructure utilization.

This cloud application platform combines the Spring Java development framework with platform services including lightweight application server, global data management, cloud-ready messaging, dynamic load balancing and application performance management.

The arrival of more PaaS solutions for cloud is a welcome sign, as PaaS will provide the much needed extensibility to the organizations to adapt to cloud.

While we welcome this move, we already having Microsoft PaaS platform Windows Azure taking deep roots in cloud application development and hence an analysis of the common features between VMware vFabric and Windows Azure will be beneficial to the enterprises in their path towards cloud-based application development.

Windows Azure vs VMware vFabric

Multi Tiered Application Design Patterns

Windows Azure

VMware vFabric

Windows Azure currently supports the following two types of roles:

Web role: A web role is a role that is customized for web application programming as supported by IIS 7 and ASP.NET.

Worker role: A worker role is a role that is useful for generalized development, and may perform background processing for a web role.

My article on , Windows Azure Design Patterns explains  how multi tiered applications can be built using the platform.

vFabric Enterprise Ready Server (ERS) is the web server and load-balancing component of the VMware vFabric  cloud application platform.

 

vFabric tc Server is the runtime server at the heart  of the VMware vFabric  cloud application platform.

 

Classically speaking    ERS and tc Server can play  the roles much like  the  web role and worker role  plays. However we needed to see their provisioning on demand capabilities  on platforms like force.com where  vFabric may be deployed.

Development Platform

Windows Azure

VMware vFabric

Windows Azure currently supports the following programming languages :

As Windows Azure is built in .net framework,  the major  languages like  C#, VB.net are fully supported.

More than the  programming languages, to build applications and services on Windows Azure, developers can use their existing Microsoft Visual Studio® expertise.

Most of the complex tasks like publish, deploy to cloud can be done easily with a simple right click from the Visual Studio IDE.

As mentioned  vFabric is a 100% Spring Java Development framework, co-existence of other languages does not arise.

 

SpringSource Tool SuiteTM (STS) provides the best Eclipse-powered development environment for building Spring-powered enterprise applications. STS supplies tools for all of the latest enterprise Java, Spring, Groovy and Grails based technologies as well as the most advanced tooling available for enterprise OSGi development.

However we have to see how the development IDE integrates with  the target cloud platform (like  vmforce, EC2).

Relational Database  & NOSQL  Support

Windows Azure

VMware vFabric

SQLAzure   the  Cloud incarnation of the popular  Sql Server relational database, continues to take the lead due to combination of

 

  • Smaller or no learning cycle
  • Continued usage of existing tools
  • Adaptability to Cloud
  • Rich set of interfaces and development tool support

 

SQL Azure offers the same Tabular Data

Stream (TDS) interface for communicating with the database that is used to access any on premise SQL Server database. As a result, with SQL Azure, developers can use the same tools  and libraries they use to build client applications for SQL Server.

 

Windows Azure also provides NOSQL storage options for  unstructured  data like,

 

  • Binary Large Object (BLOB) Service, the simplest way to store text or binary data with Windows Azure.
  • Table Serviceis better for large amounts of data that needs additional structure, which works exceptionally well with applications that need to work with data is a very detailed manner via queries.

 

vFabric GemFire is the data management component of vFabric Cloud Application Platform.

The vendor site claims the following too, GemFire blends advanced techniques like replication, partitioning, data-aware routing, and continuous querying to deliver what databases can't: real-time, elastically scalable data access.

With GemFire, you get horizontal scale, dramatically faster throughput, minimal latencies, and continuous availability-together with all the reliability and data management capabilities of a database.

As it is a ‘In Memory' database and built on JVM we have to wait for its performance on large datasets and also  the ease of database programming which requires a strong procedural 4GL language support like PL/SQL or TSQL.

However the architecture of Gemfire shows lot of features for scalability  if it is configured properly and may take a while to get into the mainstream database programming.  We may need to study them closely for new use cases and design patterns which should be supportive of that model.

‘On Premise'  Integration

Windows Azure

VMware vFabric

Windows Azure Appfabric  Service Bus, provides secure messaging and connectivity capabilities that enable building distributed and disconnected applications in the cloud, as well hybrid application across both on-premise and the cloud. It enables using various communication and messaging protocols and patterns, and saves the need for the developer to worry about delivery assurance, reliable messaging and scale.

Access Control provides an easy way to provide identity and access control to web applications and services, while integrating with standards-based identity providers, including enterprise directories such as Active Directory®, and web identities such as Windows Live ID, Google, Yahoo! and Facebook.

Microsoft® SQL Azure Data Sync, currently in CTP (Community Technology Preview) is a cloud-based data synchronization service built on Microsoft Sync Framework technologies. It provides bi-directional data synchronization and data management capabilities allowing data to be easily shared between multiple SQL Azure databases and between on-premises and SQL Azure databases.

Perhaps  at this stage, among all the attributes vFabric looks very weak in this context.

 

RabbitMQ provides the robust and reliable inter-system messaging that is critical for cloud-based applications. A cloud-ready messaging service that facilitates communications between apps both inside and outside the datacenter.

 

However  major integration tools for data  is missing in this platform.

 

At this time the application server tcServer guarantees 100%   compatibility with  Tomcat server. However to migrate enterprise applications  support for enterprise application servers like Web Logic, Web Sphere are needed.

We also  needed security integration with on premise  directories and access managers.

Summary
With Java EE being a major platform on enterprise, a good PaaS platform like vFabric is very exciting. This gives lot of choices for existing Java EE-based applications to move to the cloud.  The comparison with Windows Azure  is done only for the new Cloud applications or building new SaaS. Again we expect both these platforms to get upgraded with many new features that will boost the SaaS market. At this time  for new applications Windows Azure is ahead, but vFabric is a good choice for migrating existing Java EE applications to the cloud. We will definitely see integration aspects between them for the good of the enterprises.

More Stories By Srinivasan Sundara Rajan

Highly passionate about utilizing Digital Technologies to enable next generation enterprise. Believes in enterprise transformation through the Natives (Cloud Native & Mobile Native).