Java Virtualization for Server Consolidation
Steve Wilson writes "Cassatt Corporation has released new software that enables administrators with large J2EE farms to much more efficiently use their resources. In order to do this, it leverages the virtualization capabilities inherent in the JVM to create a single shared pool of hardware resources which which all J2EE applications can draw."
In other words, if I happen to have a SUN machine on my network of primarily Windows boxes, could it move it to that, or any other platform?
In theory, it would work across OS platforms. Considering that the guy hired a bunch of N1 engineers to do this, I don't see why they'd change the design.
Of course, practically it depends on how this software works. It's possible to write software that's tied to a given OS, even in Java.
Javascript + Nintendo DSi = DSiCade
http://www.haifa.ibm.com/projects/systems/cjvm/ind ex.html
Sounds awefully like clustering JVM. One thing I am not sure is that;
1. failover is done by manager node?
2. application distribution over what stack? shared pool doesn't necessarily mean shared memory space.
3. parrallel or distributed processing or session clustering?
The more I think about it, this company sounds like a hype. $100,000 for 40 node pool and $5K per node is a bit of stretch in anyone's pocket in my opinion.
"Don't let fools fool you. They are the clever ones."
Well lets say your data centre is full, where are you going to put that hardware you buy with the $100k? Furthermore, those computers will slowly die and need to be replaced, and add to administration expenses like cooling and power.
In that case it's smarter to spend $100k on a product that can reportedly reduce server use by a factor of five, and make room for new applications to run on the same boxes you already have.
There are a number of complexities to this which mean it's not something you'd want to roll on your own, not if you wanted it to be stable anyway. And from the sounds of it since it's targeted at specific application servers (just Weblogic for now) it also has hooks into that system as well. To me the price seemed about right for a large company.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
Take a look here for some objective information explaining how Java can (sometimes) be faster than statically compiled code. A fair criticism compared with fully compiled code is the JRE load time & basic memory requirement, as the bootstrap and the classes referenced in the classpath are loaded. For shared application "container" environments like a J2EE or Web server this cost is absorbed at startup.
Back on topic, I suppose this might be useful for companies with peak loads in various applications occurring at different times but it looks rather expensive. They must have done their market research though, so good luck to them.
Just an FYI for those of you who just joined us. Steve Wilson was the co-author of Java Platform Performance, along with Jeff Kesselman (the Java gaming dude, who still works at Sun). So he's pretty well versed in how Java technology works.
:-)
Now on to my own question.
Steve, the one thing I'm not getting from the article, nor from the website (at least, I haven't seen it yet) is as follows: Is this just another DRMAA implementation, or is it more than that? If it is, could you give us a good overview of why it's better than N1? If not, can you explain what exactly this software does for a company? It somewhat sounds like it makes a single JVM run across multiple machines as if they were one, but if that's the case, how does it work? Is it a customized JVM based on Sun source code?
Thanks in advance!
Javascript + Nintendo DSi = DSiCade
In english:
We use various technologies to allow us to efficiently and safely run more of your J2EE applications on fewer physical servers. By using fewer servers, but still maintaining your performance and availability characteristics, you can save a lot of money running your data center.
Does that help?
-Steve
Steve Wilson
Cassatt Corporation
http://www.cassatt.com/
It's difficult really to tell from the article, but is it a distributed JVM? Or just software to migrate java processes from one computer to another? I've personally tested a distributed JVM on a small beowolf cluster: http://www.cs.hku.hk/~clwang/projects/JESSICA2.htm l
It essentially keeps a single distributed heap for all of the objects, automatically migrates objects from one node to another, and migrates threads as well. To the programmer, it looks like a single computer, although you have to make sure as a programmer to utilize as many threading resources, and to decouple as many independent processes as possible to help the VM distribute resources better.
This seems like a high price, for a less ambitious technology.
-Jason Thomas.
Great question, especially considering Sun now offers N1 for free. I guess the massive amounts of configuration & app support required for it still make it expensive, and Sun is hoping to get some of that work in the form of a consulting contract.
This question, far more than one about the absolute cost of Cassatt's solution, is the one that will decide whether I choose Sun N1, Cassatt, or whether I choose to build out my data centers so that each app has dedicated hardware. After all, the $5k per server costs would cover probably 1-3 months of the total costs in the real world of running a server; if I can eliminate those costs, $5k/year is a bargain.
--Be human.