Slashdot Mirror


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."

97 comments

  1. Sweet by AnonymousPrick · · 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.

    --
    Saturday is April 1. Slashdot will be shut down. Sorry for the inconvenience.
    1. Re:Sweet by AKAImBatman · · Score: 3, Interesting

      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.

    2. Re:Sweet by Anonymous Coward · · Score: 0

      Imagine a Beowulf cluster of those. Oh, wait.

    3. Re:Sweet by WilsonSD · · Score: 5, Informative

      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

    4. Re:Sweet by AKAImBatman · · Score: 5, Interesting

      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!

    5. Re:Sweet by Anonymous Coward · · Score: 0
      So, if a program is bogging down because of lack of machine resources, this software will move it to another machine - sweet!


      Or, if it is bogging down because of a memory leak, it can consume your entire farm instead of just one...
    6. Re:Sweet by The+Mayor · · Score: 2, Interesting

      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.
  2. Logical Following ... by Anonymous Coward · · Score: 0

    I mean, Java EE is distributed architecture, so bringing a "virtualisation" for it is not very complex.

    Let's see how it scale ...

  3. VMWare rocks by guyjr · · Score: 1, Insightful

    What exactly does this do that VMWare doesn't already do, and do better?

    1. Re:VMWare rocks by frodo+from+middle+ea · · Score: 1, Flamebait

      Are you kidding me, the speed of virtualization , combined with the speed of java. What can be more fast , than that ?

      --
      for the last time people, I am "frodo from middle eaRTH", not "middle eaST".
    2. Re:VMWare rocks by n0-0p · · Score: 4, Insightful

      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.

    3. Re:VMWare rocks by Anonymous Coward · · Score: 0

      Dead snail with cement boots comes to mind... Dunno why!

    4. Re:VMWare rocks by grigori · · Score: 1

      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

    5. Re:VMWare rocks by kma · · Score: 1

      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 and ship it three years ago. Hmm...

    6. Re:VMWare rocks by n0-0p · · Score: 1

      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 incurs, you have serious resource distribution issues.

      The simple fact is that VMWare has no place in distributed computing. It's sole purpose is x86 virtualization, which it has done exceptionally well on an architecture that lacks native support. However, even that niche is starting to erode with the next generation of processors that will support true native virtualization.

    7. Re:VMWare rocks by kma · · Score: 1

      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 to pay for an extra gigE card per hardware server for the flexibility of being able to take the hardware down without interrupting any of its services (which is what VMotion gives them, remember).

      Plus you have to limit most of your guest requirements ahead of time (example: virtual memory cannot be dynamically resized in an active guest).

      I'm not even sure what you think you're talking about here. "Virtual memory" can be overloaded in this context. While the "virtual physical ram" in a guestis not resizable, it doesn't matter, because ESX can transparently shrink or grow the physical ram backing the VM as needed. If you're curious why what you think is a problem isn't, read up a little.

      So, ignoring obvious overhead that VMWare's partial emulation technique incurs, you have serious resource distribution issues.

      I work in VMware's virtual machine monitor group. You obviously don't know the first thing about the first thing about how our VMM works, but, at the risk of answering a fool in his folly: what does the supposed CPU overhead you're mislabellling a "partial emulation technique" have to do with the present discussion, anyway? Remember, you' comparing to java-based solution; are you implying that JVMs introduce lower overheads? As for "resource distribution issues": name one. Just one. It has to be real, though. No fair using a mish-mash of plausible sounding "issue" keywords like "latency", "bandwidth", "resource", etc., as you've been doing so far.

    8. Re:VMWare rocks by Anonymous Coward · · Score: 0

      a runtime almost as slow as ruby

    9. Re:VMWare rocks by n0-0p · · Score: 1

      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 fallacy, btw).

      So I'll respond briefly to your points, just to make sure that where I'm coming from is clear.

      Ever heard of a SAN? It's not as if ...

      I very specifically stated "can incur" because a SAN can be used to address this issue. However, you have now added a very expensive hardware system into the mix as a counter to an environment that just wouldn't have the same base requirement. This is a very significant additional cost.

      While the "virtual physical ram" in a guestis not resizable

      Based on my read you did catch my point. You just chose to argue in another direction because you could not dispute it. Most of the guest hardware cannot be reconfigured while the guest is active. This significantly limits how well you can manage and distribute resources. It really doesn't matter when VMWare is used for server consolidation, but it would be a big issue if you were trying to use it for distributed computing purposes.

      are you implying that JVMs introduce lower overheads?

      I'm not implying this, I'm stating a simple fact. The overhead of a JVM is massively less than that of virtualizing an entire x86 system including the guest OS. A JVM still has the benefit of binaries being mapped and shared across multiple running instances. Guest OS images are significantly larger, and cannot be shared efficiently, thus they have much higher resource requirements. In VMWare you have an expensive world switch for IO and priveleged instruction execution (in addition to guest and host OS context switching overhead). This is exactly what I was referring to by "partial emulation", you have to emulate certain priveleged instructions to make the virtualization work. Java doesn't have that issue. After JITC, it just has the standard IO overhead of the host OS context switching. The basic point is that a single process is going to have significantly less implicit overhead than an entire virtualized system.

      I completely agree that Java will introduce some overhead beyond native code, but it is just not that significant. With the exception of SWING and GUI code (which aren't a factor in server side processing), a good JITC will typically generate executables that run comparably to C/C++ in terms of speed and resource usage (after the base JVM cost). And garbage collection overhead can go either way depending on the type of code. Sometimes Java is ahead, sometimes it's behind, but generally the difference is small. So once again, a JVM simply will not introduce anywhere near as much overhead as a VMWare guest.

      I work in VMware's virtual machine monitor group.

      If you really work in the VMM group at VMWare, you should know enough to not be arguing this point. I'm not taking a shot at the company or product here. I honestly think that VMWare may be the most briliant and technically advanced software hack that I've ever seen. But the fact remains that that it is hack that virtualizes a processor architecturer that was not intended to be virtualized. As a result, some performance penalties are incurred.

      I still think VMWare is the best currently available system for server consolidation in any moderate sized environment. I would also argue that it is almost essential in development and testing environments. And I have some seen some really interesting applications of VMWare for partitioning security domains on a single system (assuming a trusted host OS; none of that ACE crap). But it simply has no place in distributed computing.

    10. Re:VMWare rocks by Tim+C · · Score: 1

      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)

    11. Re:VMWare rocks by n0-0p · · Score: 1

      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.

  4. A lot of big words by noz · · Score: 0, Flamebait

    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.

    1. Re:A lot of big words by Anonymous Coward · · Score: 0

      They're doing quite a bit more than that. They take a bunch of machines and can migrate a running Java app from one to another.

      Of course you would have had to RTFM to get that.

    2. Re:A lot of big words by Anonymous Coward · · Score: 0

      Bwahahahahahahahahah, you're killing me dude. You're actually condescending to the developers and you don't even get that the app is supposed to dynamically distribute the load across a cluster of servers. Such a tone of superiority, and yet so wrong. God I love to hate people like you.

  5. Re:TBH by Debiant · · Score: 2, Insightful

    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
  6. 100k by FatherOfONe · · Score: 3, Insightful

    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.
  7. Using Java's Built in VM Functionality == $$$ by theJML · · Score: 5, Insightful

    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=-
    1. Re:Using Java's Built in VM Functionality == $$$ by jcgf · · Score: 1

      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.

    2. Re:Using Java's Built in VM Functionality == $$$ by aevans · · Score: 1

      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 relaxed their per CPU rules.

    3. Re:Using Java's Built in VM Functionality == $$$ by Anonymous Coward · · Score: 0

      All the sudden you save money

      Maybe I'm dense but how to you save money? If you can, the commercial vendors will just change their licensing scheme to say "any virtualized server as well, so neener neener neener"

    4. Re:Using Java's Built in VM Functionality == $$$ by elodan · · Score: 1

      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.

  8. Re:wow! so java is almos as cool as ruby now! by twiddlingbits · · Score: 1

    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?

  9. Just a management tool... by lamber45 · · Score: 1

    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?

  10. cJVM by layer3switch · · Score: 3, Interesting

    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."
    1. Re:cJVM by twiddlingbits · · Score: 1

      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.

    2. Re:cJVM by layer3switch · · Score: 1

      You mean, compare to any 40+ port density layer 7 switch.

      --
      "Don't let fools fool you. They are the clever ones."
    3. Re:cJVM by twiddlingbits · · Score: 1

      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.

    4. Re:cJVM by layer3switch · · Score: 1

      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.

      --
      "Don't let fools fool you. They are the clever ones."
    5. Re:cJVM by twiddlingbits · · Score: 1

      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.

    6. Re:cJVM by layer3switch · · Score: 1

      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 a bad timing (dotCom burst) or Cisco stronghold market in US was too aggressive. Either way, Alcatel is a direct competition with Cisco, not Linksys. Although Alcatel "tried" to push for consumer market with low end product, I don't think it went well either.

      --
      "Don't let fools fool you. They are the clever ones."
    7. Re:cJVM by biraneto2 · · Score: 1

      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.

  11. ARGH LEVERAGES by MarkPNeyer · · Score: 4, Insightful

    PLEASE stop using that word. It's not right.

    --

    My blog
    1. Re:ARGH LEVERAGES by Delirium+Tremens · · Score: 1

      Of course, they can use that word. This is a Press Release after all. All Web Ecomony Bullshit keywords are allowed.

  12. what the hell does that mean by boxlight · · Score: 2, Insightful

    "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"?

    1. Re:what the hell does that mean by Zerbs · · Score: 1

      I think it's obvious that it means fake coffee requires fewer servers.

      --
      "22 astronauts were born in Ohio. What is it about your state that makes people want to flee the Earth?" Stephen Colbert
    2. Re:what the hell does that mean by Anonymous Coward · · Score: 0

      Consolidation: combining several different units into one.

      Server Consolidation: In context, "server" refers to hardware, ie. a computer. In other words, this is about using one piece of hardware to do the work of several.

      Virtualization: This is a reference to virtualization technology, which means something very much like emulation: running software on a virtual platform, to allow doing things that ordinarily would not be possible, such as moving a running piece of software from one computer to another. This is often useful for load balancing: using several computers to provide the illusion of a single uber-powerful computer.

      Java Virtualization: This virtualization is based on the Java platform, and in context this means that it's the Java virtual machine that is replaced by clever software. It could mean that they rewrote the Java vritual machine (just-in-time compiler and classes) to support new tricks, but from reading the comments here, the correct interpretation is that they are running a piece of software on an existing JVM, providing the JVM interface for the customer's software (credit card processing, web server or whatever). I don''t know enough about Java internals to tell what exactly they're doing, but they're probably using their own class loader and other hooks to intercept calls made by the customer's software.

      Java Virtualization for Server Consolidation: In conclusion, what the phrase means is that they're doing clever tricks in Java to provide a Java virtual machine that runs on multiple servers, using all their resources in unison to support a larger amount of server software than they'd be able to, if each server was running separately. Without this clever solution, their customers would have to reserve a server computer for each piece of server software, to handle periods of high load, but now they can use a much smaller number of server computers to run the same pieces of software, since anytime the load on a single computer rises too high, the virtualization software moves the excess load to other computers.

      Does it make any sense now?

  13. What if your data center is full? by SuperKendall · · Score: 3, Interesting

    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
    1. Re:What if your data center is full? by Anonymous Coward · · Score: 0

      As if a software solution will not slowly die and need to be replaced...

  14. Actually by SuperKendall · · Score: 1, Insightful

    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
  15. Re:TBH by chorltonian · · Score: 2, Interesting

    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.

  16. Re:TBH by marcello_dl · · Score: 2, Funny

    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
  17. Basic idea of what this software is... by ChaseTec · · Score: 3, Informative

    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.
    1. Re:Basic idea of what this software is... by BigGerman · · Score: 1

      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 balancer in front (Apache if soft, Big IP Whatever if hardware) and off you go with hundreds of servers.
      Great amount of money is made while peddling shared session solutions, but the problem is too fundamental to be solved that way.
      My $0.02

    2. Re:Basic idea of what this software is... by ChaseTec · · Score: 1

      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 with. Sessions should NEVER be shared on all systems in a cluster, depending on the size of your cluster you'd want 1-2 backup copies of your session state for failover purposes. Ideally you'd need to add in some algorithms to determine the best system to backup a session to(for perfomance).

      At some point you have to have state for most applications. You can keep it on the client side which is bad for security and when you have a lot of data it's bad for performance. You could keep it in the persistance tier(RDBMS) and keep looking it up, that won't scale well but it's good for failover. Not using state isn't a vaild option at some point. One option is to never have sessions move and know exactly what resources are going to be required for each session(as if) so we can fill up a system on sessions. The only real choice then would be to never deal with this session load balancing stuff, which means buying a single computer($$$) big enough to handle the load. I guess that means there is a reason big iron companies like Sun are still in business and you can't solve everything with a cluster.

      --
      My Hello World is 512 bytes. But it's also a valid Fat12 boot sector, Fat12 file reader, and Pmode routine.
    3. Re:Basic idea of what this software is... by BigGerman · · Score: 1

      Oh yes, I meant no SHARED state of course. Having a loadbalancer configured for sticky sessions will allow keeping the state on an individual server where your session ended up connected to.

  18. Cheap hardware ain't cheap by WilsonSD · · Score: 3, Insightful

    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

    1. Re:Cheap hardware ain't cheap by theJML · · Score: 1

      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 costs that have to do with the servers will still be incured (many of the administration costs come from setting up the services and adding/removing content. Something which will still occur. Many companies don't build their servers from scratch anymore, so the time spent physically building/mounting the servers is greatly reduced and almost diminished over the long term). I know personally many of the servers I regularly use have been installed for years and have had no issues other than adding/removing content. The fact that all the content is stored on one central server may make it easier to remember where it is, but I don't see how it impacts the time spent updating.

      Not to argue, just wondering how 1/2 of the points you outlined are improved by using this system (Administration, Maintainance, Support, and to some extent licensing).

      --
      -=JML=-
    2. Re:Cheap hardware ain't cheap by Wizardry+Dragon · · Score: 1

      Someone had to mention it: Using Linux solutions kills at least two of those problems, Steve ~_^

      ~ Wizardry Dragon

    3. Re:Cheap hardware ain't cheap by foeclan · · Score: 1

      (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 be variable on each system. You then use Collage to create a tier of systems, using that image, and tell it you want a max of 10, with a target of 2. You can set some conditions under which more will come up, and hardware requirements (SAN, 2 NICs, etc.). If the systems use power management (RAC, iLO, couple others), then it will actually power the systems down when not in use, and power them up and load the image on them when they're needed.

      When systems are detected by Collage, their hardware is inventoried and they're placed in an available pool for use. Say one of your systems goes down, and you need it to be replaced with something that has a fibrechannel card connected to your SAN. Collage checks the available systems for one that meets the requirements, assigns it to your tier, and brings it up as a replacement. The failed system is moved to a maintenance pool until it's manually moved back to the free pool (presumably after someone's examined it to find out why it failed).

      It does quite a bit more than this, but hopefully it's a start on the questions you asked.

  19. If they... by tehaxer · · Score: 2, Insightful

    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 =].

    1. Re:If they... by WilsonSD · · Score: 3, Insightful

      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

    2. Re:If they... by tehaxer · · Score: 1

      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 sort of the inverse type of virtualization (distribution) from what everyone is thinking about right now (consolidation)...

    3. Re:If they... by Trejkaz · · Score: 1

      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.

      --
      Karma: It's all a bunch of tree-huggin' hippy crap!
    4. Re:If they... by the+gaijin · · Score: 1

      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 internet, but our solution is to remove common state from the application processing machines-- they are stateless number crunchers. State (common data) is maintained in nodular cluster databases. Application load is easily distributed using load balancing in front of the application servers based on parameters like cpu and other resource load ( we use mod_athena from http://ath.sourceforge.net/ ). You can farm out to commodity systems this way.

      Mark Wolgemuth, Production Architect
      Employease, Inc. ( www.employease.com )

      --
      straightballin' in the ATL
  20. Re:Yeah but I develop a RAD web app in 10 minutes by Anonymous Coward · · Score: 0

    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)

  21. Here's a Translation by WilsonSD · · Score: 3, Interesting

    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/

    1. Re:Here's a Translation by Anonymous Coward · · Score: 0

      Yes, I'm sure you are very well intentioned. And you really want to help your "clients" divert some of those "saved" money towards your company.

    2. Re:Here's a Translation by rbanffy · · Score: 1

      As long as the client spends less money, that's fine.

  22. Distributed JVM by TheDracle · · Score: 3, Interesting

    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.

    1. Re:Distributed JVM by renoX · · Score: 1

      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.

  23. Re:TBH by chris_mahan · · Score: 1

    Especially this one:

    http://www.top500.org/lists/2005/11/l/Operating_Sy stem

    Shows linux vs the rest. Note on perf that linux+CNK/linux have 72.9% of total performance.

    --

    "Piter, too, is dead."

  24. An Actual Case Study (link) by WilsonSD · · Score: 4, Informative
    If you'd like to see some details on what this does in a real customer setting you should check out this case-study on Cassatt at Pfizer.

    Steve Wilson
    Cassatt Corporation

  25. Quoi? by C10H14N2 · · Score: 1

    $100k/40=$2,500.

    Whoopeeee. Color me underwhelmed with sticker yawn.

  26. Can last much longer by SuperKendall · · Score: 1

    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
  27. Cool by guinsu · · Score: 1

    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.

  28. Re:Yeah but I develop a RAD web app in 10 minutes by Decaff · · Score: 1

    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.

  29. If Java is so great, why is the website using ASP? by DraconPern · · Score: 1

    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...

  30. Re:If Java is so great, why is the website using A by WilsonSD · · Score: 4, Informative

    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

  31. Re:TBH by Anonymous Coward · · Score: 0

    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.

  32. Re:Yeah but I develop a RAD web app in 10 minutes by Alt_Cognito · · Score: 0

    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.

  33. Re:Yeah but I develop a RAD web app in 10 minutes by Anonymous Coward · · Score: 0

    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.

  34. Memory footprint by Anonymous Coward · · Score: 0

    "with large J2EE farms to much more efficiently use their resources."

    Excuse me! .. 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.

    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..

  35. Summary by stevenp · · Score: 1

    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.

  36. Re:Yeah but I develop a RAD web app in 10 minutes by Decaff · · Score: 1

    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.

  37. Re:Yeah but I develop a RAD web app in 10 minutes by Decaff · · Score: 1

    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.

  38. Lame Press Release by AutonomicCrap · · Score: 1

    Delirium Tremens is absoultely right. This is a lame attempt at a press release.

  39. applicaiton migration by Anonymous Coward · · Score: 0

    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.