Tuesday, July 21, 2009

Google App Engine is Supporting JVM

Almost a year after its release Google App Engine (GAE) is supporting Java. GAE supported only python as the runtime when it was released. There were stories of Java support in GAE for a long time.
Till now, the only options I knew to host Java applications in the cloud was the Amazon Web Services and the salesforce app engine. One of the important comment that attracts me in GAE is the support for multiple languages like Java, Scala, JRuby, Jython what else.. Literally google says that it support more than Java, it supports anything that can run on a JVM.

Google says it supports the Sun JVM, but with some restrictions. As per google these restrictions are for ensuring security in their cloud.

Google sees GAE as a Platform As A Service (PAAS) solution and all those Google services like BigTable are also available for JVM based applications (apart from the world famous Google Infrastructure).

Thoughtworks as always have done their cut-throat analysis of JVM support for GAE.
They have come up with some suggestions/recommendations in the areas of Testing, Persistence and Concurrency
As per their analysis:

  • Testing: There are things that google need to improve on testing aspects. The service stub approach may not be practical always. Developers need to be cautious that the testing will take more time than usual. If a google specific API like dataservice is used to access the google BigTable in the code, then testing that code outside GAE may become a herculian task today.
  • Persistence:
    Coding for JPA or JDO will only guarantee 80% abstraction. Developers still need to understand that you are dealing with Nested HashMaps and not with RDBMS.
    For people like me who have been using the RDBMS in the enterprise world for so many years this is going to be a big shift. Though I won't hesitate when i think about the scalability that BigTable offers :)
  • Concurrency:
    Google App Engine has a single thread model. 3rd party libraries may need to change to work in this environment.

So I hope altogether this is a good move from Google to support JVM on their PAAS solution and hope they will or some else will soon come up with a development/debugging environment for JVM based applications in GAE which will make our lifes more easy.

No comments:

Post a Comment