Forgot your password?
typodupeerror

Java Virtualization for Server Consolidation 97

Posted by ScuttleMonkey
from the cuppa-server-joe dept.
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."
This discussion has been archived. No new comments can be posted.

Java Virtualization for Server Consolidation

Comments Filter:
  • Sweet (Score:2, Insightful)

    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.
    • Re:Sweet (Score:4, Interesting)

      by AKAImBatman (238306) * <akaimbatman.gmail@com> on Monday March 06, 2006 @06:00PM (#14862093) Homepage Journal
      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 [sun.com] 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.
    • Re:Sweet (Score:5, Informative)

      by WilsonSD (159419) on Monday March 06, 2006 @06:14PM (#14862208) Homepage
      The Cassatt Collage software currently runs on Linux, Solaris and Windows. Intel, AMD and SPARC processors are all currently supported. You can manage all these kinds of servers within a single-shared environment.

      Steve Wilson
      Cassatt Corporation
      • Re:Sweet (Score:5, Interesting)

        by AKAImBatman (238306) * <akaimbatman.gmail@com> on Monday March 06, 2006 @06:33PM (#14862366) Homepage Journal
        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 [cassatt.com] (at least, I haven't seen it yet) is as follows: Is this just another DRMAA [wikipedia.org] 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!
        • Re:Sweet (Score:3, Interesting)

          by The Mayor (6048)
          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 serv
  • VMWare rocks (Score:1, Insightful)

    by guyjr (180613)
    What exactly does this do that VMWare [vmware.com] doesn't already do, and do better?
    • Are you kidding me, the speed of virtualization , combined with the speed of java. What can be more fast , than that ?
    • Re:VMWare rocks (Score:5, Insightful)

      by n0-0p (325773) on Monday March 06, 2006 @06:20PM (#14862261)
      Wow, you got an insightful mod when you didn't even understand the problem. The irony is overwhelming. Anyway, this really addresses a completely different problem than VMWare. It fits much more into the realm of distributed computing than virtualization. However, the JVM provides a *virtualized* platform that makes it easy to *distribute* the processing efficiently.

      So, back to the VMWare thing, yes I suppose you could hack a cluster of ESX servers up to do this. Of course you would have all of the overhead that VMWare needs to introduce. This includes the host OS, world switch and priveleged instruction emulation overhead, guest os, and application image. On top of that, you would have to shovel images around your cluster to make it work so bandwidth would be a nuisance. You would also be severely limited in how dynamically you could reassign resources, given the requirements of the guest OS. And you would of course be restricted to x86 architectures, which may or may not be an issue.

      So you could do it, but boy would it be dumb.
      • So, back to the VMWare thing, yes I suppose you could hack a cluster of ESX servers up to do this.

        Or, you could even call it VMotion [vmware.com] and ship it three years ago. Hmm...

        • Actually, I had VMotion in mind when I explained my scenario. You have to remember that it doesn't provide fine grained or predicitive load balancing. It also has to shovel whole guest images to transfer state between systems, which can incur significant bandwidth usage and latency issues. Plus you have to limit most of your guest requirements ahead of time (example: virtual memory cannot be dynamically resized in an active guest). So, ignoring obvious overhead that VMWare's partial emulation technique
          • Also has to shovel whole guest images to transfer state between systems, which can incur significant bandwidth usage and latency issues.

            Ever heard of a SAN? It's not as if whole vmdk's are flying across the wire. We use paging techniques to reduce the latency for transferring the running guest's memory, so typical server "snoozes" during a VMotion over 1G ethernet are measured in milliseconds. And yes, customers do need to plan for the bandwidth needs of VMotion. Many run a separate network; they're willing
            • It appears that you've run down a rabit hole and missed the main point, so I will restate it for clarity. VMWare is meant for x86 virtualization and would be an extremely poor choice as the basis for a distributed computing environment. I'm harping on this point because I keep running into people who try to use VMWare for problems that it can't really handle. Actually, even VMWare tried to do this when they marketted ACE as capable of protecting a guest OS from a malicious host system (which is a simple fa

      • f course you would have all of the overhead that VMWare needs to introduce. This includes the host OS

        Actually, VMWare Server ESX can be installed directly on the machine, no host OS required.

        (That doesn't make it any less inappropriate, of course)
        • ESX is the host operating system. It's basically an embedded OS that is very tuned for it's purpose, but it still must provide the core services of a host OS. The ESX host overhead is significantly less than with GSX or Workstation, but it is still there.
    • A lot more heavy weight to move an entire virtual machine with full OS image from one box to another, then transfer IP address and SAN disk ownerships. VMware does it and so does Xen, but it's not a light thing to do. Moving a single app in its JVM is much smaller effort, much less disruptive
  • 100k (Score:4, Insightful)

    by FatherOfONe (515801) on Monday March 06, 2006 @05:59PM (#14862081)
    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.

  • by theJML (911853) on Monday March 06, 2006 @05:59PM (#14862085) Homepage
    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...
    • Notice that it also doesn't say that the servers are included, this might just be the licenses for the software. Now that bill would really suck.
      • Lets say you've got some software (say a J2EE Server or database) that costs $10,000 or more per instance and you need 40 instances. Or one big fat honking virtual instance. All the sudden you save money. Except that many big iron apps get around this by charging per CPU, exactly because people were throwing big iron at the problem before. Then small machines started getting faster than big Iron, say a dual Xeon outperforming a 16 way SPARC, and then the licensing model fell apart, and some companies re
    • by SuperKendall (25149) * on Monday March 06, 2006 @06:13PM (#14862200)
      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.
    • 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
      • I completely agree that there are many costs that come with running a large server room. I recently migrated some of my servers to lower power systems and consolidated many of their functions. This reduced heat/power/noise, freed space, etc. Also, I am a large advocate of using VMWare to not only provide consolidation and increase server utilization, but also to provide high-availability to services in need. However, I wonder how much software that fits this bill Java based?

        I also wonder if some of the c
        • (disclaimer: I work for Cassatt, but not on WAM)

          WAM (the thing the article talks about) is an add-on for our core product, Collage. Collage handles more of the administration/maintenance/support side.

          As a basic overview, say you have an app (or apps) you need to run on a bunch of servers, but how many is variable (say, 2 under light load, 10 under heavy). You configure a server once, then use Collage to capture an image of that server. You can tell it which parts of the image are static, and which will
      • Someone had to mention it: Using Linux solutions kills at least two of those problems, Steve ~_^

        ~ Wizardry Dragon
    • You're missing the point.
      The point is that you need *less* servers, and *less* hyper-expensive Oracle and BEA licenses.
      If you have a big enough server pool, the numbers start to make sense.
  • 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?
  • cJVM (Score:4, Interesting)

    by layer3switch (783864) on Monday March 06, 2006 @06:02PM (#14862108)
    http://www.haifa.ibm.com/projects/systems/cjvm/ind ex.html [ibm.com]

    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.
    • Compare it to the Sun N2040 switch which lists for 38K. That switch plus Xen or VMWare and you got the same thing. Plus the Sun switch isn't tied to Java, it'll work with any OS and applicaton that supports virtualization.
      • You mean, compare to any 40+ port density layer 7 switch.
        • No, you need layer 4-7. Not just layer 7. And not just any switch, it has to do load balancing, virutalization and it would be nice to have SSL. Cisco and Sun are the only ones I know of right now who have switches that do all that. Perhaps there are others (F5, Nokia, etc) but for sure Cisco is the big dog in the market.
          • Well, technically you are right. It's layer 4-7, but it's logical to think, for something that support L7 switching, L4 is a given baseline feature, I'd to assume. By the way, look up Foundry and Alcatel. Both are considered to be big players as well.
            • Foundry and Alacatel..hmmm..I've been in dozens of corporate data centers and talked to 100's of customers and Foundry comes up once in a while but never Alacatel. Perhaps they are used more in Europe? I'm speaking about the USA only.
              • Actually Foundry is pretty well under-evaluated in my opinion. It's pretty good product to be honest, cmd interface is quite simiar with Cisco IOS, so the learning curve was lot easier. Their product lines are bit confusing and convoluted at times, but over all, it's cost effective and does what it should do without fancy bells and whistle.

                Alcatel is mostly big choice for telco in Europe. Couple of years ago, Alcatel was trying to push their product lines and pretty much failed miserably in US. Call it
    • These details don't matter. They did a solution (optimized or not) and it works. While there is no competition they will make the market price.
  • ARGH LEVERAGES (Score:4, Insightful)

    by MarkPNeyer (729607) on Monday March 06, 2006 @06:02PM (#14862110)
    PLEASE stop using that word. It's not right.
  • "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"?

  • by ChaseTec (447725) <chase@osdev.org> on Monday March 06, 2006 @06:22PM (#14862283) Homepage
    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 [cassatt.com]. There seem to be some software cost justifications there too for those of you asking why it costs so much.

    • I have been into these kinds of problems for many years. The base problem is that if your servers are actually sharing the state (HTTP session, etc.) as in example you used, it simply does not scale over 2,4,6,8 servers. Great care needs to be taken while programming such system. So if this is the direction this slashdvertized software supports, it is a dead end.
      The only truly scalable way for j2EE is to NOT to share sessions between the servers, have them stateless. You can then have a simple load balance
      • I agree that stateless sessions are the best solution and sharing sessions across all the servers would be bad but I don't think that is what most servers do(or should). New sessions should be distributed across servers(by performance measurements or round-robin, etc) and the sessions should be sticky to the system they were created on. In extreme performance problems sessions could be migrated to another system but the biggest scaling problem should be creating the sessions on the correct system to begin w
  • If they... (Score:2, Insightful)

    by tehaxer (959342)
    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 =].
    • Re:If they... (Score:4, Insightful)

      by WilsonSD (159419) on Monday March 06, 2006 @06:45PM (#14862468) Homepage
      There are no APIs for the system, and you don't have to modify your code to work with it. If it runs in Weblogic (other app servers coming soon) then it will work with Cassatt. The only changes are to the deployment descriptors and Cassatt makes those changes for you automatically.

      -Steve

      Steve Wilson
      Cassatt Corporation
      • That's pretty elite then. Still, when people see a 100k price tag on something that half the slashdot responders don't understand, it's difficult to pitch it to the non-technical people who, you know, control the money =]. If it handles failover even close to decently, then it'd easily save my company 40k/year across just 8 servers. We could probably also reduce the number of servers by 20% and end up with MORE wiggle room than we've currently got. Just find a way to make goofballs understand that it's
        • Just find a way to make goofballs understand that it's sort of the inverse type of virtualization (distribution) from what everyone is thinking about right now (consolidation)...

          Not a bad idea. I suppose the first step would be removing "Consolidation" from the title of the article.

      • The automagic part is a bit spooky when it comes to data shared among threads. If you have large reporting systems that share big data caches in the jvm, but that can process in multiple threads, doesn't this data have to get copied between all nodes needing it over the network? Seems like this could be a good solution for applications that are compute but not data intensive, and that don't require many shared resources.

        We have one the biggest, most complicated java based web delivered applications on the i
  • Distributed JVM (Score:3, Interesting)

    by TheDracle (836105) on Monday March 06, 2006 @06:46PM (#14862479)
    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 [cs.hku.hk] 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.
    • But was your distributed JVM failsafe?
      IOW what happened when one of the computer in the distributed JVM fails?

      That said, I agree about the high price though.
  • by guinsu (198732)
    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.
  • 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...
    • by WilsonSD (159419) on Monday March 06, 2006 @09:28PM (#14863396) Homepage
      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
  • 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,
  • Delirium Tremens is absoultely right. This is a lame attempt at a press release.

The bomb will never go off. I speak as an expert in explosives. -- Admiral William Leahy, U.S. Atomic Bomb Project

Working...