This may be a crazy stupid idea, but I was having a conversation today about the kinds of things that make sense to be "as a service". Amazon EC2 and S3 are essentially compute as a service and storage as a service.
Since I'm a Java guy, I wonder:
Does it make sense to have a JVM as a service?
Why? Because while running Java workloads on Amazon may be cool for scale out scenarios, it does nothing to help with scale up scenarios for Java workloads. The classic JVM is a limiting factor in scale up scenarios because the more memory it has to deal with the more garbage collection time becomes a real performance issue.
Azul Systems offers a JVM compute appliance that illustrates the logical model of what I have in mind. Basically the Azul appliance centralizes JVM processing onto a machine designed to provide low response times, pauseless garbage collection, and efficient huge memory management. Basically each server has a JVM proxy that hands off processing to the compute appliance.
So, what if we mashup Azul with Amazon?
That is, what if we take the Azul JVM appliance concept and make it a cloud service? That could enable any EC2 instance running a Java workload to leverage a model where a JVM proxy on a given EC2 instance hands off its processing to a JVM as a Service. That JVM as a Service could then centrally handle dynamic scale up/scale down of JVM resources as well as eliminate the nasty garbage collection performance issues once and for all.
Now all we need is the JVM gurus at Azul or Oracle/BEA JRockit to get to work on it. I want my JVM as a Service guys, and I want it now!!! :-)
If you are a JVM guru, feel free to chime in as to why this idea is stupid and could never possibly work. Or if you have an equally outrageous "as a service" idea, please share.