IBM Performing "Miracles" with ESX
Though most of the opening keynote of VMworld was a succession of major VMware partners patting themselves on the back, we found ourselves quite charmed by some of the more technical successes announced. Interesting to note is that HP, Dell, and IBM all announced support and complete integration of ESX Server 3i with some of their hardware platforms, making the choice of supported hardware for an ESX machine a lot easier.
One of the biggest arguments against virtualization is its impact on the performance of the virtualized system. While this is justified in some cases, we see more and more examples popping up where a virtual environment can yield better results on identical hardware. In the server market, where cores are ever increasing and the amount of RAM is no longer heavily limited, we begin to see the software lagging behind. Writing software that can actually take advantage of the ever-scaling hardware platforms is no easy task, and this is exactly where a virtual environment can provide answers.
This is what IBM tried to make clear to us in their short presentation. They've run some large-scale capacity tests on a Microsoft Exchange Server 2007 system, and have come to interesting conclusions.
According to Microsoft's guidelines, an Exchange Server with the mailbox role assigned supports up to a maximum of 8 cores and 32GB of RAM. As seen in the picture, the hardware used in the test easily exceeds those specifications.
IBM tried using virtualization to utilize the full extent of the hardware by dividing the resources into manageable packages for the software. Using eight virtual machines with two cores each, they were able to get double the number of mailboxes running on the same hardware. Because each VM can only "see" two virtual CPUs, the software running on them functions every bit as efficiently as on a regular dual-core machine.
Combining these VM's strength allows for increased efficiency in resource management, which can be achieved with just a little creativity.
We think this is a very interesting approach to the use of virtualization, especially considering the ever-increasing complexity of hardware systems. Providing a layer of abstraction between the hardware and software layers protects and enhances both, allowing for not only more creative systems, but also more efficient ones.