CodeBetter.Com
CodeBetter.Com
RSS 2.0 via Feedburner
           Do you Twitter? Follow us @CodeBetter

Rod Paddock


Server Virtualization the New Snake Oil

There is a new snake oil on sale and its name is Server Virtualization.

The salespeople at VMWARE and other server virtualization companies are really good at their jobs. Somehow they have convinced companies that virtualized server environments are better than bare metal installations.  You must be kidding.

I have two clients that are using server virtualization.

The first is running a large SQL Server installation on a virtualized set of servers at a hosting company. This is a high availability and supposed to be a high performance system. My question is this: How are you ever going to be able to take full advantage of the hardware underlying your system if you have put a virtualization system over the operating system?

At the second client we had 8 batch processing machines. These machines run 24*7 and process file transfers, data transformations, data cleanup, data scoring, etc… At least we did have 8 machines.  What we have now is a set of 8 virtualized machines running on one big box…  Not too long after the installation of this environment you know what happened? The single box we use crapped out hard. So now we had 8 dead virtual machines. In the old arrangement we had 8 machines reducing the potential footprint for hardware failure. Now we have one big point of failure. How does this sound like a good idea?

Virtualization is a great tool for developers.  I feel it is entirely inappropriate for server environments.

Does your company use virtualized servers? Do your clients use virtualized servers? Good idea or bad idea?

crossposted from blog.dashpoint.com

 



Comments

Mark said:

I worked in the corporate IT department of fairly large company and we found virtualization to be very beneficial but in a different way than you're talking about.  We had a large number of lightly used one-off apps, each with their own requirements which frequently involved various versions of Crystal Reports that don't play well together (ARGH!)

By pushing these different apps into their own virtualized servers we significantly decreased the maintenance overhead since we no longer had to test upgrades of each piece of software to make sure that they weren't going to break other apps running on the same instance of windows, we only needed to make sure it didn't break its self in the process.

# July 12, 2007 4:45 PM

Sahil Malik said:

I'll go with - It is a good idea.

But don't use it blindly. Everything in life has it's tradeoffs and benefits, but I'd rather have this in my backpocket, than not.

# July 12, 2007 5:22 PM

Jeff Lewis said:

It is great for processes that don't use much CPU on under-utilized servers.  But, you're right, if the process(es) that you are running on that server require a lot of CPU or other resources, it doesn't make sense to virtualize it.

# July 12, 2007 5:28 PM

Ayende @ Rahien said:

Benefits Of Production Virtualization

# July 12, 2007 7:27 PM

Shawn said:

Virtualization won't magically make one machine able to do the work of 8 - using virtualization in that way is just dumb.   Judging the merits of virtualization on that misguided use is not too bright, either.

It's got some great uses as a server environment.  All of the comments above me have explained it quite well.

# July 12, 2007 8:03 PM

sysadmin field notes said:

Is Server Virtualization the New Snake Oil - RodMan's Corner " href="codebetter.com/.../server-virtualization-the-new-snake-oil.aspx"> Server Virtualization the New Snake Oil ? I think it depends on why they are

# July 12, 2007 9:32 PM

Dave G said:

I agree with the other commenters, you can't judge virtualization on a poorly implemented system.  If you wanted resilient failover and redundancy then you still needed to implement that in hardware of your virtualized system, which you didn't. No doubt, you didn't have redundancy in your original system either, apart from the fact that if hardware failed you could manually move tasks to another server.

# July 13, 2007 4:34 AM

Rod Paddock said:

This is what I love about codebetter.

Thanks for the great comments and even blog posts Ayende  :)

Seems like the 1st client case I was right on. High CPU utilization apps are probably a bad candidate.

But lower CPU cases are a good candidate as long as you do some clustering/redundancy.

I never did think of the power angle.

Thanks All.

# July 13, 2007 8:58 AM

sergiopereira said:

Rod, I think you just got the wrong impression about the technology because of a specific misuse experience. Virtualization is a very interesting technological breakthrough that has been helping many organizations. As with everything in life, it's a matter of evaluating its applicability. Great comments everyone.

# July 13, 2007 9:05 AM

Chris Kinsman said:

Certain work loads are contra indicated today.

Applications which require high IOPs (SQL Server) are not great candidates for virtualization today because the disk performance of most virtualization platforms blow.

However applications with low IOP requirements (Web Servers, etc) are great candidates.

We virtualize all of our web load today because it makes it very easy to migrate it to new servers or our backup data center. i.e. we keep the virtual server images on our SAN. If we have a hardware failure we remap the LUN to a new box with Virtual Server running and boot the VM back up.  We replicate the SAN to our backup data center at HP which allows us to mount the LUNs and have our web and application tiers (~35 machines) back up in 10-15 minutes.

Also great for consolidation of applications that are rarely used but have different and incompatible platform requirements.  Especially older applications running on NT4 for example that you can't even find new hardware that has NT4 drivers to run it on.  Collapse several of those onto a dual quad core and you can eliminate a large number of servers with little or no impact on users of the applications while saving quite a bit in power and cooling.

# July 13, 2007 10:13 AM

Rick said:

The only proper reply to this badly informed rant is: virtualization does not  compensate for incompetence.

# July 14, 2007 4:29 AM

Mark Brackett said:

For the 1st scenario - you can't just blindly say that virtualization == unacceptable performance. While it's true that you'd get better performance without the virtualized layer, whether that hit is acceptable or not is a matter of context. When you can afford to beef up the hardware (perhaps because you're saving on cooling, hardware, and admin costs) then you can still come out ahead. After all, we pay for the decreased performance of having general purpose HW, OS, and .NET with greater developer productivity.

For the 2nd case, just because you had 8 servers doesn't mean they were 8 *independent* points of failure. Unless they were redundant (doesn't sound like it) you actually had 8 single points of failure. Now you have 1 single point of falure...sounds like a win to me. Everything else being equal, 1 of your 8 servers will always fail more than your 1 server (and usually, honking large 8+ way boxes are built with more internal redundancy than single proc servers. Also, with decreased HW and OS's, admins should have a better chance of keeping the 1 server running. Both of which should *increase* reliability of the 1 server solution.).

# July 15, 2007 7:46 AM

B. M. said:

Like with all technologies, it must be used correctly.  In the example of 8 batch processing machines reduced to 8 VMs on one box, that is just dumb!  Obviously you lost your redundancy and what happened will happen.  There is a concern of losing some of the physical system resources to handle the hypervisor function but the benefits outweigh this.

With vistualization, you get the flexibility of moving VMs around, for whatever reason.  Let us say you need to take down a physical box, you can move the VMs to a different physical box.  Let us say the physical box takes itself down, a VM can be moved to live server.

# July 15, 2007 4:11 PM

Ronald said:

Sounds like the environment was setup improperly. Overloading a physical machine and putting all of your eggs in one basket is not a good idea. However, if backups were being done properly, I would guarantee that those 8 VMs could be back online in a fraction of the time it would take to bring 8 physical servers online. When done right, Vmware beats the hell out of the dependency on a hardware platform....

# August 4, 2007 9:58 AM

h0bbel.p0ggel.org said:

Pingback from  h0bbel.p0ggel.org

# September 7, 2007 5:42 PM

h0bbel.p0ggel.org said:

Pingback from  h0bbel.p0ggel.org

# September 7, 2007 5:42 PM

h0bbel.p0ggel.org said:

Pingback from  h0bbel.p0ggel.org

# September 7, 2007 5:42 PM

h0bbel.p0ggel.org said:

Pingback from  h0bbel.p0ggel.org

# September 7, 2007 5:43 PM

h0bbel.p0ggel.org said:

Pingback from  h0bbel.p0ggel.org

# September 7, 2007 5:44 PM

Leave a Comment

(required)  
(optional)
(required)  

Enter the numbers above:
Add
Check out Devlicio.us!