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."
So, if a program is bogging down because of lack of machine resources, this software will move it to another machine - sweet! But, I guess, it will only work if Cassatt supports that platform? 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? I can't find anything that mentions this in the links.
Saturday is April 1. Slashdot will be shut down. Sorry for the inconvenience.
I mean, Java EE is distributed architecture, so bringing a "virtualisation" for it is not very complex.
...
Let's see how it scale
What exactly does this do that VMWare doesn't already do, and do better?
I love to hate dealing with people who use the word "framework" more than once in a sentence. This article has a lot of big words that don't mean much more than "run more than one J2EE application on the same machine."
So there's inherent virtualisation capabilities in a Java Virtual Machine? Shit.
Fire this person immediately.
I think the point is that it works on linux and windows, instead of just unix. It's not just question about Jave but platform too.
The article, or the link from it, says question is about offering cheaper alternative to server virtualiazation. And refers to linux and Windows, which leaves unix as 'expensive'.
My understanding unix rocks with clusters and similar , linux and windows far less.
So the logic must be that it's cheaper to build linux or Windows virtualization system that scales than one from unixes.
That's the point, I'd wager.
Nobody knows the trouble I've seen, nobody knows has the trouble seen me, even I sometimes wonder why I write these line
100k for 40 servers. 100k will buy quite a bit of hardware. It would be better if they showed how they have saved companies money, and not just thrown out some stats, like they have seen a consolidation of 5 servers down to 1.
The more I learn about science, the more my faith in God increases.
Cassatt's control software costs about $100,000 for a 40-server pool. Adding the Web Automation Module increases the cost by about $5,000 per server, the company said.
Ok, so I can run java apps that save me lots of money on server hardware... for $100,000. unless I want to spend an extra $5,000 per server (bringing the total up to $300,000). So how is this going to save me money? I mean, I could by a whole bunch of 1U Dell P4 servers each valued at about $2k a piece. 40 of those would be only 80 grand. Now, I'm pretty sure that I pay my adminstrators so they can make an informed decision on grouping two or three services on a machine where it makes sense (like dns resolution and dhcp serving) and instantly save me a few machines there. And how many of my mission critical resource poor services are executed in Java? This seems like a huge waste of money to me. Besides how hard could this have been to come up with.. I mean, Java is running IN A VM in the first place. run an identical VM on another machine, add a little code to allow transfering of processes between VMs and you've got it. I'm sure it's got some tricky aspects, but is it that hard that it'll cost $300,000 to do? Something's fishy here...
-=JML=-
It's not from Sun, its from a small company with Sun ex-employees. IMNSHO, This really isn't news. It's just another type of load balancing. In fact, some of the hottest new load balancing boxes from Sun (N1), Cisco and others can do this now. So what can this do they can't by themselves or in combination with Xen/VMware?
I can see the advantage of virtualizing multiple versions of Windows and Linux in a test environment (which is what VMware, QEMU and other products allow one to do). I can also understand virtualizing one or two legacy apps that won't run on the other operating system. Virtualizing a set of JVMs? Why? Doesn't the JVM already run under an operating system, which provides paging, thread scheduling, protections and resource allocation?
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."
PLEASE stop using that word. It's not right.
My blog
"Java Virtualization for Server Consolidation"
These are english words, but I have no idea what they mean. Does it have anything to do with "customer-centric e-solutions in web-time"?
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
I mean I haven't heard of any recent Java rollouts among major businesses.
That's because it's so common now it's not news. News is when they use something other than Java.
Hence the need for virtualization as every large company has thousands of Java applications, many of which could easily be combined onto a server with other programs (as they do not really need much in the way of resources) the virtualizing thing just makes that easier by keeping them a little more isolated.
"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.
My understanding unix rocks with clusters and similar , linux and windows far less.
This list says you should apt-get upgrade your understanding.
---- MISSING MISCELLANEOUS DATA SEGMENT --- [sigdash] trolololol
It's very similar to clustered J2EE application servers. With standard J2EE clustering you can group several machines together that all run a single application and spread clients between those systems though a round-robin approach(usually with sticky session) or new clients could be sent to the machine that is the least utilized. Currently with J2EE application server there isn't a whole lot of support for fine tuning client distribution with you own (performance/utilization) load balancing rules. That's where this software comes in, it looks like it adds in extra clustering features to Application Servers like BEA that can already be clustered(BEA is the only one supported at this point). I have nothing to do with these people, I'm a Java instructor and I spent 3 minutes looking at Cassatt's website. There seem to be some software cost justifications there too for those of you asking why it costs so much.
My Hello World is 512 bytes. But it's also a valid Fat12 boot sector, Fat12 file reader, and Pmode routine.
I'm so glad you asked this. Hardware is cheap to buy, but really expensive to run and maintain. Thing about all the costs:
Power (which Google now says costs them more than hardware)
A/C
Administration
Maintainance
Support
Software licenses (and J2EE servers like BEA aren't cheap)
We did an analysis with one of our customers on their costs. Each box (for a 2 CPU linux box) costs over $100,000 during it's three-year lifetime.
Steve Wilson
Cassatt Corporation
If they managed to make it relatively transparent it'd be neat, but there are probably all sorts of limits on the type of classes and such that can run on the virtualization layer (which covers multiple pieces of hardware, no?), like that they be serializable and implement some special form of runnable... If that's the case, I'd expect to find this at sourceforge for free =].
no, but you can develop a secure, robust, reliable and scalable application that does more than CRUD and will serve millions of users and process millions of transactions a day.
Unlike RoR
Remeber, Fast, Cheap, Good - pick two. RoR is fast and cheap (to develop)
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.
Especially this one:
y stem
http://www.top500.org/lists/2005/11/l/Operating_S
Shows linux vs the rest. Note on perf that linux+CNK/linux have 72.9% of total performance.
"Piter, too, is dead."
Steve Wilson
Cassatt Corporation
$100k/40=$2,500.
Whoopeeee. Color me underwhelmed with sticker yawn.
Given the whole thing is based on Java it can last quite a long time, since it is not quite as dependant on particular OS'es or hardware as other applications may be.
Software has the tendancy to linger on long after hardware would have died. People are much more reluctant to decomission software.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
This sounds really cool and would be very useful for the project my company is working on, too bad it costs almost as much as my house.
10 minutes? Why are you taking so long?
With Java Studio Creator, I can create a data-linked web application (with full MVC structure) in seconds using the visual design tool. And, I have full code-browsing, debugging and refactoring tools.
10 minutes? Slow.
Every time I see a Java related company on ./ that hosts their site on ASP, it makes me feel sorry for the VC's.
This is especially true w/ this company.
Their product is used to lower TCO. Ok, so website and services is an important application that I am sure can be used with their product. But they run ASP on their site? Hum...
Cassatt isn't a "Java Company." We make a product that helps people run data centers more effiently. We just introduced an extension to the product that makes it work really well with J2EE servers. However, our products also work with Microsoft technologies, and lots of our customers run Windows. No conflict there.
Side note: our internal IT and development systems are managed by our own product. We eat our own dog food.
-Steve
Steve Wilson
Cassatt Corporation
Objective... sure it is. That has to be one of the most slanted reports I've seen since I gave up watching Fox News. I hardly know where to start, but I suppose the idiocy about pointers making optization difficult (oh wow... sure, that why C is slower than Fortran!) is one place. Another might be that the entire section about garbage collection, which is pure fantasy, and in no way deals with the reality of Java's massive appetite for memory when writing real applications.
I'll troll back. After you wait the obligatory 90 minutes for the IDE to load on your dual core PC with 4 gigs of ram.
*rolls eyes*
And after you generate the app, it's a beautiful thing to behold! 80k worth of code to maintain for a single form with an additional 15 xml files to store the configurations and data mappings, and proprietary HTML elements and tag specific to the java world....
But I missed the point! It's now an enterprise class application!
Sounds like this.
This whole thread is off topic.
Can I hire you? My company specializes in 1 minute solutions. You'll get your full one minute worth of pay in advance. Thank you.
"with large J2EE farms to much more efficiently use their resources."
.. But one of the bader sides of java is it's footprint.. Where do you think all fancy features of Java comes from? thin air? Java is a great language, but it comes to a cost.. of resources.
Excuse me!
How/Why should anyone complain about efficiently using resources after a decision to use Java? It comes with the package, OK we run Java, its easy to code, we never get any segfaults, we dont have to care about memory mangement, and its secure.. but.. we have to buy a bigger machine, hey machines are cheaper then coders.. The decision was made, stick with it..
Cluster VM for Java virtualizes a cluster and gives the application a single system image so that the actual handling of objects and threads is transparent to the application. When an application made up of a number of threads and objects runs on Cluster VM for Java, the application is unaware of where the threads are executing and where objects actually reside. Cluster VM for Java distributes the threads and objects among several nodes to achieve high scalability.
I think this summarizes it pretty well, if a single application usese several threads, they can be run on different machines. Quite interesting if they can achieve it with little performance penalty.
I'll troll back. After you wait the obligatory 90 minutes for the IDE to load on your dual core PC with 4 gigs of ram.
Yes, you sure are trolling. Of course, it is nothing like this.
I was not trolling.
And after you generate the app, it's a beautiful thing to behold! 80k worth of code to maintain for a single form with an additional 15 xml files to store the configurations and data mappings, and proprietary HTML elements and tag specific to the java world....
Nothing like being ignorant is there? There are, of course, no proprietary HTML tag elements (how could there possibly be?) only a few lines of code, and only 2 xml files. If you are going to argue, it is best to know what you are talking about. You are showing laughable igornance here.
Can I hire you? My company specializes in 1 minute solutions. You'll get your full one minute worth of pay in advance. Thank you.
Why bother - you can download Studio Creator for free and do it yourself.
Delirium Tremens is absoultely right. This is a lame attempt at a press release.
N1 does not migrate applications as far as I know. It merely runs the application on the least loaded machine on the cluster (or per round robin). Migrating applications while they are still running is hard. What if they are multithreaded or have open sockets? That's why most clusters do not do this.