I'm in San Francisco's Moscone center on a chill and wet day in San Fran (what, did I really expect warmer weather than Oregon's current cold snap?). I'm sitting in a tutorial
from Dan Olds on Virtualization at the Next Generation Data Center expo
. Yes, this has been an area of interest of mine for quite a while.
Dan started with some rather (well, to me, anyway - there is a ton of info like this
floating around the net already ;-) boring comparisons of workload/machine utilization and the benefits of consolidation. What was interesting was a number of surveys that his company engaged in which showed that traditional Unix customers have been more proactive at embracing virtualization than the current x86/x86-64 class of customers. And, while comparing Unix and x86-64 has initially been a bit confusing, it is clear that he is looking at the traditional strengths of Unix systems on non-x86 platforms and their built in relationships with their OS & Hardware to support virtualization, as compared to the x86-only virtualization solutions enabling multiple OSes to run on x86 (e.g. Windows, Linux, Solaris x86). But the trend for virtualization is on the uptick in the x86 space, with still a sizeable number of customers not convinced of its overall value.
Dan talked a bit about the the reasons why some customers don't see the value on virtualization, primarily because single rack mount servers are often so cheap, so capable, that purchasing and deploying a single small server is cheap and easy. It isn't until a site starts running into space constraints, power restraints, or cooling constraints that the incremental deployment of small servers becomes problematic. And, most people don't monitor the utilization of those small machines because they are not viewed as precious resources. Ergo, lots of potential waste cpu bandwidth, power consumption, heat generation, etc. Also, the number of sysadmins increases quietly as the number of servers increase, especially if the servers are actively managed for latest security patches, application updates, etc.
Dan talked briefly about consolidation from rack mount to blade servers and didn't see that as a major savings in anything other than space, and *maybe* over time power/cooling. Most people using blades aren't really doing any virtualization today and only improving on the footprint part of the consolidation story, where there is much more to gain when reducing the number of operating system instances, hardware platforms. Later Dan talks about making sure to measure *all* of the cost savings opportunities for virtualization which I believe is a critical component of any successful virtualization deployment as it helps understand exactly why virtualization is so important.
Dan next spent some time comparing VMware ESX and Containers solutions. He talked a bit about platform virtualization versus containers. He described how both were valid and often necessary, depending on your type of comparison & consolidation. VMware (or Xen) provides full OS isolation, containers does not. Containers provides low overhead therefore better performance. VMware allows multiple OS's, multiple versions, Containers is limited to a single OS, single version. VMware instances are each management independently, with Containers there is only a single OS to maintain, which may reduce systems management overhead. Containers is relatively a lot cheaper than VMware per socket.
A question from the audience was: why do we need virtualization when Unix/Linux today scales well and supports multiple applications on a single system? Answers vary across the board, from application isolation, security concerns (full security isolation between virtual OSes), simplicity of management of applications, ability to measure impacts and utilization of a specific workload, and, over time, the ability to migrate applications from one system to another or from one virtual environment to another.
Dan spent a fair bit of time talking about how to build a plan for moving towards a virtualized environment. I'll skip the details but most of his approach was strategic in nature rather than tactical, and he missed out on a lot of the process and efficiencies that can be brought to bear while working more on the justification and engagement of management and executives into any such plan.
Net summary: Virtualization is an ongoing trend, starting to become more prevalent in the x86 environment after being primarily reserved to high end mainframes or higher end Unix systems over the past few years. There are many benefits to be gained from virtualization, not all discussed here, but including consolidation, energy savings, simplification of management, and general simplicity of deployment. This talk left out the benefits of rapid prototyping and rapid deployment of solutions, for example. But for beginners this was fairly useful, I believe.