Thursday, April 30, 2009

Middleware as a service

Although my last posts have mostly been related to Complex Event Processing and the various vendors and solutions out there, I have spent some time recently exploring the IaaS and PaaS markets.
I won't provide my analysis but instead wrap up on the few hands on experience I had thus far - all promising although with vastly different perspectives for enterprise adoption.

Amazon EC2
I have been a long time user of Amazon EC2 and did a few experiment with it, like running Esper performance benchmark and ensuring it scales linearly as I kickoff Amazon AMI with more CPU and RAM capacity. Very useful although you're send back to school manual on OS-level handling, package install and being root user...

VMWare / BEA ex LiquidVM / ex VirtualEdition
I had of course been quiet familiar with VMWare over the last few years, heading BEA' WebLogic Server Virtual Edition adoption in my geography. Things happens to have slow down a bit on this chapter, although JRockit Virtual Edition is very much on the Oracle agenda as it was explained at Oracle OpenWorld 2008. I expect more this year unleashed with a wider perspective around the cloud topic as some expects.
For prior (although outdated) work on this - check out this slide deck (pdf, slow site).
Very promissing convergence between Java runtime and virtualized stack - patented by the way... (20090070776, "SYSTEM AND METHOD TO IMPROVE MEMORY USAGE IN VIRTUAL MACHINES RUNNING AS HYPERVISOR GUESTS")

Google AppEngine
Recently I have been playing with the Google AppEngine Java - very neat - build upon a few open source bits like Jetty (which also happens to be used by the BEA WebLogic Event Server despite BEA has been a long time maker of its own servlet stack in WebLogic), although the Eclipse IDE support is limited to a bare minimum and the security restriction (class white list) is time wasting in the end-developer hands to validate compatibility of existing stacks.

Is Google AppEngine scaring for IBM?
I recently came accross an IBM lab paper titled "Porting Google App Engine Applications to IBM Middleware".
It provides some API-level compatibility to port GAE java apps to a good old WebSphere / Tivoli stack but is unfortunately missing the whole point.

Middleware as a Service
The clear value proposition of GAE is middleware as a service namely:
- no software install
- out of the box load balancing and clustering
- scale up/down and out on demand
- pay per use

WebLogic on Amazon EC2 and more
From that perspective, the WebLogic Server on EC2 technical white paper and the WebLogic Server in the cloud Oracle' datasheet are far better aligned to the value proposition - although incomplete in a comparison to GAE - as one would have to add Coherence (where GAE provides memcache / JSR-107 JCache) and very likely Enterprise Manager or ex-BEA WebLogic Liquid Operation Control to deal with self-provisionning and scale on demand.