Monday, April 11, 2011

Choosing the right PAAS vendor for your application

The entire cloud ecosystem is getting too hot and crowded with various language and tool support to enable the common application to be ported easily to the cloud . If you search thru google then you find many PAAS player and they claim they are the best with lot of testimonies. Almost all popular languages are supported by most of the cloud vendors.

Notably the most popular PAAS platforms are

  1. Force.com from Sales force
  2. Windows Azure from Microsoft.
  3. App engine from GOOGLE.
  4. vFabric from VMWare

The factors influence during selection of PAAS platforms are following:

  1. Application type and complexity.
  2. Project Type ( Is it a brand new project or old project want to migrate to cloud )
  3. Preferred Technology Stack
  4. Allocated Budget
  5. Business goals
  6. . Project time line
  7. Developers competency
  8. Vendor lock in

Force.com is the leading PAAS offering for building business application from Sales force which is kind of ready to use recipe from Sales force. Simple business applications can be created with no time using Force platform.

It has a visual platform, in which the users can drag and drop different objects to construct the entire business work flow. This work flow can be readily deployed over cloud using the Force platform. There are thousands of applications using this platform. To write complex logics Force provides apex scripting for writing business logic.

Very recently Sales force upgraded the whole force platform and offers different products targeted on Force platform.

1. Appforce : For building enterprise Apps

2. Siteforce : For building data-rich web sites

3. VMforce : Building java apps

Force.com platform initially targeted towards the business users and who are not really keen on learning new languages and the most of the application built are business applications. It is easy to build and easy to host and hence attracted lot of users.

We might see some momentum in enterprise applications hosted on Force.com platform as sales force is heavily investing on this platform and continuously enriching the platform to support multiple customer’s needs.

Windows Azure is a full stack PAAS platform tries to provide end to end cloud deployment. Being it is product from Microsoft very much entitled for “Enterprise Ready Platform”.

Microsoft has tried its best to provide rich tool set for building cloud application using .Net framework. So it is very natural fit for vendors who have been already developing application using .Net.

Azure is one of the most rich and mature PAAS platform available for the developers for different type applications.

1. Azure offers two different kinds of application models: Web Roles and Worker Roles. Web roles are typical request/response HTTP model where as worker role is a generalized development model which can run in back ground.

2. Developers can use array of languages like C#, VB.Net, PHP ,Java for developing applications on .Net framework.

3. Visual studio IDE is available for building and deploying applications with ease. Most of the complex tasks like build to deploy to cloud can be done easily using simple clicks.

4. It has support for Relational database using conventional ADO.NET service and also NoSql database.

5. Azure Appfabric service bus provides secure messaging and connectivity capabilities that enable building distributed and disconnected applications in the cloud.

The above features makes it as a natural fit for existing .Net applications looking for migrating to cloud.

Google App engine ( GAE ): Google also offers all the major features provided in other PAAS platforms. Google supports very few languages like Java and python. For java developers there is very limited support on server side java but the support is pretty stable and mature.

On storage side it provides key value based no sql storage type on its proprietary Big Table database with auto-partitioning. When you consider the scalability factor, GAE is the winner as it scales automatically depends the need.

GAE platform offers one stop solutions for python users. It supports python with DJango popular web frame work. Pretty soon Google will definitely offer the entire java enterprise stack as that will be the future for GAE. There are lot of other vendors provide different tooling and web frame works on GAE to accelerate and minimize the pain involved in cloud migration.

Google also provides necessary tools for building cloud application using GAE on existing eclipsed IDE which is again favors GAE adaption.

vFabric : VFrabic is from VMWare and is a late entrant to cloud offering. Traditionally VMWare has its origin from Virtualization and virtualization is at the heart of cloud computing. Hence it is very natural for VMWare to have cloud offering. After it acquired Spring source has built the entire cloud ecosystem around it’s technology needed to push the much needed cloud envelope.

vFabric supports only java as vFabric is for purely 100% Spring Java development framework. Spring tool suite provides the best eclipsed powered development environment for building spring base applications. vFabric also supports groovy and grails as part of its offering. This is a good value proposition for vendors already using J2EE and spring frameworks for their enterprise applications. They can move their application to cloud very easily using vFabric Enterprise ready server.

1 comment: