Subscribe / Unsubscribe Enewsletters | Login | Register

Pencil Banner

Java in the cloud: Google, Aptana, and Stax

Peter Wayner | April 22, 2009
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.

Openness or scalability

Which solution should you choose? Much depends upon the nature of your application. If your data falls neatly into columns, and not much computation needs to take place when you save or recall it, Google's App Engine is a nice choice. Google offers a free tier of service that makes it great for prototyping solutions that can turn into full-fledged applications without any deployment hassles.

Google's solution changes the failure modes of running an operation. If your application finds wild success on the Internet, you don't need to frantically try to purchase new servers that won't arrive until the fad is a distant memory. But you'll need to bump up the daily quota on your account because Google will only keep your code running as long as you authorize the spending.

There are hefty tradeoffs to choosing Google's easy chair. If you want to use all of the standard APIs, write to disk, log into a shell account, or just enjoy the freedom to move your application to another provider without rewriting it, you'll need to look elsewhere. Taking advantage of Google's scaling prowess means writing to its tightly restricted APIs.

Both Aptana and Stax offer more standard solutions that can easily be duplicated because they're just Tomcat and a database under the hood. There's much less lock-in with their tools because you can pretty much take your WAR file to any other server farm. You'll have to handle all of the deployment issues yourself, but it's feasible.

Aptana might be more useful to someone writing applications that will run on one server. It's a great tool for prototyping new systems and getting them on the Internet quickly.

Stax offers more room to scale because it deploys the application to multiple servers and load balancers with just one click. I think it offers a nice mixture of the scalability of Google with the openness of Aptana.

It's worth noting that some applications aren't well supported by any of these choices. These three are not great solutions for jobs that require bursts of heavy computation like, for instance, geologists prospecting for oil with big numerical processing simulations that churn through terabytes of data. Even though these applications are often highly parallel, they aren't great matches for any of these services. Stax is probably the best choice because it lets you click on a button to launch your application on five computers, but it's still intended for Web servers and five is only five. The ideal solution for these heavy computational jobs would let you start up thousands of machines for just an hour.

Java cloud futures

These clouds may grow to take on roles like this in the future, but for now I think they're still working through many of the accounting challenges of starting up and shutting down machines so quickly. These companies can't be certain of the best ways to plan ahead or to price their services. Some commerce sites say that people like to shop online during their lunch break. Video sites must be pounded during prime time. Balancing these loads must be a real challenge for these back ends.

 

Previous Page  1  2  3  4  5  6  7  8  9  Next Page 

Sign up for MIS Asia eNewsletters.