Cloud Computing: Cloud Foundry vs Google App Engine

May 1, 2012 Off By David
Grazed from Sys Con Media.  Author: Tanmay Deshpande.

PaaS is nothing but uploading your small kernel of code with business logic and the PaaS service provider will run that code on allocated computing and storage instances. The aim of PaaS is to let the developers concentrate on developing their code rather than creating and maintaining their ecosystem required for it. When Google launched App Engine in 2008 it had very basic functionalities but gradually it has evolved to support much good functionality like Channel APIs.

But when it comes to language support, selection of cloud, selection of database, control over database, Cloud foundry gives great amount of flexibility as compared to App Engine. Also, when it comes to supporting Java packages also, Google App Engine doesn’t allow developers to free their arms as there are quite a few important packages which are still not part of App Engine’s white list…

It’s been a year now that Cloud Foundry has been launched. Making it Open Source was a masterstroke from VMware. When it entered in April, it was supporting Java Spring, Ruby on Rails and Node.js but now it has expanded its capacity to support PHP, .NET, Perl, Erlang, Scala and Clojure. Like this we can compare Google App Engine and Cloud Foundry in various aspects and depending on specifications, one should choose the best suited for his/her requirement.

Here is a matrix of comparative study between Google App Engine and Cloud Foundry.

Dimension

Google App Engine

CloudFoundry.com

Supported Languages/ Frameworks

Java and Python

Spring , Ruby Framework Rails & Sinatra , Node.js, PHP, .NET, Perl, Erlang, Scala and Clojure

Requirement of Specific SDK.

Yes –appengine-sdk

No.

Selection of Database

Cannot select. As its Big Table Database by default.

Yes.
Options:- MongoDB, MySQL

Monitoring

• Has a separate dashboard to monitor the application.
• Detailed monitoring is provided.
• Can monitor all apps uploaded through same account at a time through common dashboard.

• Monitoring is provided within development IDE only. e.g. STS / Eclipse
• Monitoring is not that detailed.

Billing

Detailed billing info.is available.

Billing details are yet to be provided as still in beta version.

Account

Any Google Account.

Need to register yourself at cloudfoundry.com

Application Name / URL

You can specify the desired unmatched name for the application. And the URL will be : example.appspot.com

Here your project in IDE will appear as name to be deployed. And the URL will be: example.cloudfoundry.com

No. of Apps per Account

10

Not Specified

Not supported Java features

• Enterprise Java Beans (EJB)
• JAX-RPC
• JAX-WS
• Java Database Connectivity (JDBC)
• Java EE™ Connector Architecture (JCA)
• Java Management Extensions (JMX)
• Java Message Service (JMS)
• Java Naming and Directory Interface (JNDI)
• Remote Method Invocation (RMI)

Info NA.

Versioning

Supported

Not supported. (Cannot keep track of all deployed versions as of now)

Unit testing on local machine

Supports as it creates Actual like environment on localhost

Supported on local machine

Migration of already existing application

Not supported.

Supported but not in beta version

Disabling of Application

Possible from Dashboard

Possible form IDE.

Is an open source?

No

Yes.

Vendor Lock-In

Yes

NO

Cloud Lock-In

Yes

NO

Serialization of Session for each request

Yes

Not necessary

Private Cloud or Multi-Cloud Facility

Only Public cloud

NO