Java in the cloud: Google, Aptana, and Stax

Google App Engine, Aptana Cloud, and Stax for EC2 make it easy to spin up and scale a simple Java Servlet Container, but are still a far cry from the full Java EE

Just as the megastars in Hollywood seem to find each other and fall in love, it was only inevitable that two of the greatest buzzwords ever hatched -- "Java" and "cloud" -- would meet and begin to breed. Now that a number of companies have launched Java clouds, or begun weaving Java into their hosted development platforms, the race is on to remake the Java infrastructure in the cloud image.

There is some irony in this turn of events because the Java infrastructure has done better than most piles of code in solving the difficult problem of getting multiple processors and multiple machines working together. Java EE (Enterprise Edition) offers a very sophisticated set of mechanisms that pass messages between machines (Java Message Service or javax.jms.*) and handle database access (Java Persistence and Java Transaction). Then there's the Enterprise Java Bean, a sophisticated tool for managing persistence on a cluster, an abstraction that's so powerful and so dangerous that it has driven as many programmers mad as it has helped.

[ Is the mainframe the ultimate cloud platform? What should you do if your cloud provider disappears? What does cloud computing really mean? ]

A number of companies have repackaged the JVM (Java Virtual Machine) and turned it into a hosted service. To see how this is working out, I set up accounts at three different providers offering Java services on their cloud, built a few test applications, and bombed them with some HTTP requests.

All of them are very new. Google's App Engine just expanded to include Java and is now giving select programmers an "early look." Stax is in beta. Aptana's Cloud doesn't use either term but is adding new features. Surprisingly, Sun was not ready to let me test anything in its cloud but is expected to launch in a few months. (See the sidebar, "Sun Cloud looks beyond Java," for a description of what Sun is planning.)

The most surprising element about all of these new clouds is how little they offer compared to the promise of the Java EE stack. At the core, they provide a simple servlet container, one that's stripped down and not much different from Tomcat because it is often just Tomcat. The tools do a better job of delivering a revolutionary way of purchasing computer time than they do of creating the next generation of Java flexibility.

 

Java clouds at a glance

 
 

Pros

Cons

Bottom line

Google App Engine

  • Automatically scales up and down without asking permission
  • Free trial layer for small applications
  • A big set of tools integrated with Eclipse and GWT
  • You must store data in the way Google wants you to store data
  • Some class files are absent
  • Every step is bound by strict quotas

Great for lightweight shells that wrap Java code around big tables

Aptana Cloud

  • Deep integration with Aptana's nice set of Eclipse plug-ins
  • All of the familiar buttons are available including root
  • All of the familiar databases are waiting for you on their regular ports
  • Pricing options are narrow (you get only four choices)
  • No clusters yet

All of your server controls are now available from Eclipse

Stax for EC2

  • Web-based tool lets you choose your development platform
  • A wide range of clustering options available
  • A good collection of startup frameworks
  • All of Amazon's service offerings are in the same datacenter
  • You need to manually switch to bigger clusters when the hordes arrive
  • Limited access to resources under the hood

A simple Web-based tool makes it easy to whip up a Tomcat server

1 2 3 4 5 6 7 8 Page
From CIO: 8 Free Online Courses to Grow Your Tech Skills
Join the discussion
Be the first to comment on this article. Our Commenting Policies