Recently Google made a particularly big announcement concerning the Google App Engine: it will support Java. This announcement comes shortly after announced support for Groovy. Google has been making a serious effort to “win” the cloud computing wars, but this is the first time I’ve really seen a path to victory.

If you have never heard of the Google App Engine, it is basically a way for developers to build web applications that will be hosted in a distributed “cloud computing” fashion by Google. There are quotas and application limits, but it is possible to try things out for free. If your application becomes a big hit, then you can scale using Google’s infrastructure. You can find out more here.

Google App Engine is a big deal to developers because the worst part about developing web applications is that deployment, maintenance, and installation are the job of the developers rather than the users. End users like web applications because they are available everywhere they can find a computer and Internet access, but also because they no longer have to do any installation or software maintenance like patching or upgrading. Google App Engine makes all of this dead simple for developers as well.

Perhaps the most interesting thing about this announcement are its impacts on “cloud computing.” Cloud computing is the worst-defined buzzword since network neutrality, so perhaps that’s why they are staying away from it. I’m using it to refer to any web application where the vast majority of the data needed to run the application is stored by the server. The infrastructure and hardware that store this data and run the web application are a complete unknown to the end users. Furthermore, this infrastructure can scale dynamically as it is needed and without end user knowledge. There are all kinds of things that would fall into this category: Gmail (or really any web-based email), Apple’s MobileMe, Dropbox, or Mozy. Truly, the list could go on and on.

The only “real” competition that Google has in this space is Amazon Web Services. (I’m sure that others will emerge, but developers can use the Google and Amazon offerings now.) Developers can use AWS API to manage data and payment services, but they still have to install, host, and maintain the hardware for their application on their own.  There are some platform-specific hosting providers built on top of Amazon Web Services that can help developers on that front.  For example, a Ruby on Rails developer could host an application on Heroku, which uses Amazon Web Services. By default though, there is no “platform” built into Amazon Web Services as there is with Google App Engine. Google App Engine is the only wholly-owned development platform native to the “cloud,” and it just got a lot better for developers.

And that is how Google could win the cloud computing wars. There’s actually precedence for this if you take a look at Java. Java “won” the language wars of the 1990s not because of its beautiful syntax (blech!) or because of its amazing GUI frameworks (hah!) but because of its universal JVM. This is why so many dynamic languages are being built or ported to the JVM. Look at JRuby or Groovy for examples. It’s really only a matter of time before Ruby, Python, Groovy, and JavaScript are all as fast or faster on the JVM than they are in their native environments. Other dynamic languages, like Scala, are being built specifically for the JVM. In short, the platform was everything in the language wars of the 1990s, so why would we expect it to be any different in the cloud?