Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

How would you 'sell' using VMs for production application servers? What are the compelling benefits in using them in that situation?

I have to maintain a number of applications that are critical but are currently very light on resource need (syslog-ng, openldap, some in house tools), that we want to be redundant. I don't like having a bunch of machines sitting at 0.1% CPU usage, just out of principal.

But if you were trying to convince people who claim "Virtual Machines eat up resources, and are therefore never good for any production situation," what would you tell them?

share|improve this question
add comment

10 Answers 10

up vote 7 down vote accepted

Okay, you've gotten really great answers here, but I'll illuminate why I love VMware & it's brethren.

  1. Utilization - in a room full of servers, of which maybe a dozen are doing anything near 50% utilization, I can instead consolidate those servers onto one or two single larger servers and have room to growth.

  2. Capacity planning - becomes less of a concern as you can buy with resources to grow, and $5000 worth of a server gives you lots of flexibility in deploying new services

  3. Real-estate - I'm running a 200 machine test lab on three ESX servers (2xquad core). That's 197 servers that aren't sucking 1-300 watts of power sitting idle 90% of the time, and wasting disk, memory and CPU.

  4. Flexible deployment - I need 15 Windows servers for a new project. With tools like lab manager, I can have this in an instant.

  5. Simplified upgrades - I want to test an upgrade to a product. I can simply clone the entire machine, put it on it's own network, and run an upgrade test without impacting the existing service.

  6. Backup - I can take snapshots of the entire machine's running state. No more need for special backup clients that can't lock files. (not entirely true for application state, however).

  7. Mananagement - I can remote manage every single on the machines from one unified tool.

  8. Cost-center/utilization billing - there are tools coming on the market now where you can bill by utilization, and help tailor your budgets to ensure groups aren't spending more than their fair share.

  9. Disaster recovery - if your big ESX server crashes, it CAN transition the workload to a backup server designated to recover for it. Sometimes without the VM even knowing it crashed.

share|improve this answer
add comment

It sounds like you need some numbers to back-up your claims.

Virtualization does add overhead, but if the application performance isn't impacted by the overhead then the overhead is irrelevant. If you can put together numbers on application performance in a proposed virtualized environment then you'll be able to refute the "virtualization uses resources" argument.

If you can can show some reasonable hard dollar figures showing decreased expenses for electricity, hardware maintenance contracts, capital investment in server computers, and labor expense to perform hands-on maintenance on server computer hardware I think you can bolster your case.

Don't forget about the cost of licensing the virtualization environment and labor expense associated with maintaining it.

You could, conceivably, do all that work and find out that the numbers don't make sense. Be ready for that, if it happens.

share|improve this answer
4  
A quick response is "Virtual machines use resources that are being wasted in order to reduce the total cost of ownership." Then show them this cost comparison. Mention other companies they respect that use VMs - they're everywhere. –  Matt Everson Aug 18 '09 at 16:51
    
Matt -- that is a great response, I wish it was an answer so I could up-vote it. –  csexton Aug 18 '09 at 17:16
    
Another point you raised was redundancy. Your VM's will be hardware agnostic and therefore will be quicker to redeploy across multiple physical systems (redundant) and speed disaster recovery. –  QueueHammer Aug 18 '09 at 18:09
add comment

I compiled a spreadsheet to show the cost savings. It worked - I now have several VM servers.

Just create a couple of sheets and lay out the costs. On one sheet I listed the per-server cost - the server, the OS, etc... which comes to, say, $8000 per server. If you have maybe 10 servers running, you're up to $80,000.

On another sheet, the VM costs. The server is generally beefier, so let's say $12,000 for hardware. Maybe $8000 for VMware (this is very dependent on your needs - this is roughly a dual quad-core cost), and maybe another $8000 for Windows Server licensing (It's about $4000/processor for Datacenter Edition). So we're at about $28,000? Keep in mind these are rough numbers, but they should be fairly close.

Datacenter Edition lets you install an unlimited number of virtual servers on the physical box. So, $80,000 for 10 physical servers, or $28,000 for as many as can run on the box - I have 15 on mine now and room to spare.

Usually numbers like this will have any CFO drooling...

Jes

share|improve this answer
add comment
  1. Maintenance is decreased considerably.
    You can move applications around seamlessly, allowing you to unload servers and work on them.

  2. Power costs are decreased.
    By having mulitiple servers running on one machine, overall power usage is decreased.

  3. Reliability is increased.
    By Clustering, you get High Availability for all your applications.

share|improve this answer
add comment

Cost savings should be enough (the results of this project nabbed me two more virtual servers), but those managers responsibile for IT uptime should consider this a no-brainer. Some other reasons virtualization isn't some flash-in-the-pan marketing gimmick.

  • Ease of maintenance - sure your backups are in place, but it's a LOT quicker to roll back to a snapshot if that hotfix/rollup/upgrade didn't go so well.

  • Flexibility of resources - End of quarter/year and your accounting department is all a-scramble? Nab a couple GB of ram from another VM and allocate them to those servers. It'll take max 10 minutes (and you can VPN in to do it in your jammies at 8pm).

  • The Disaster Recovery options are tremendous. Imagine the number of options for hosting your critical VMs within a day or two, from your offsite backups? Compare that to the cost/timeline of getting all that warranty hardware replaced.

  • Your internal processes probably have a lot of application for virtualization as well. For example, the time savings of setting up a duplicate test environment to test a major version upgrade on hardware versus cloning the existing production VM into an isolated test network (which could live on the same physical server, mind you)... (not to mention, it's a better test)

I'm tempted to go on, but you get the idea.

edit - I'll add in that timing is everything. This project took off in large part because I was able to tie specific management fears about outages & downtime to the exact technologies that would be able to solve those problems (such as virtualizing antique hardware - with systems that could no longer be reinstalled - so we could finally pitch it).

You might want to skim the virtualization tag for more arguments. A lot of the projects that people have come up with would never have occurred to me.

share|improve this answer
    
Good stuff, I wish you would go on. –  csexton Aug 18 '09 at 17:27
    
Hope they help! As it is, I'm not sure I have anything else that darthcoder wasn't already typing in simultaneously. :) –  Kara Marfia Aug 18 '09 at 18:10
add comment

It's all out there for you already...

Understanding Virtualization

Virtualisation Solutions

share|improve this answer
    
I'm not sure articles on A VM vendor's site pass the objective-viewpoint test. That said, there are definitely neutral articles out there. –  Andrew Coleson Aug 18 '09 at 15:43
    
Not for nothing, but VM-compatible CPUs to eliminate the code-translation issue have been on the market for nearly 4 years now. This should be a non-issue to anyone in the IT field. VMware was the second coming of Christ to some of us. –  darthcoder Aug 18 '09 at 16:57
add comment

You can see the benefit of VMs to yourself, but they don't see the benefits to them, so what you've got to do is translate the your benefits into their benefits.

Lower power consumption for you equals lower recurring costs for them. Larger uptime for you equals more reliability for them. Easier administration for you equals more time for you to work on other projects.

It's a pretty easy equation to understand after you simplify all the terms and break it down into things management can understand.

share|improve this answer
add comment

Start with this Ars Technica Intro, then read through their other articles and follow up with AnandTech's performance testing. There are definitely tons of articles out there, and Ars's Server Room forum has several ongoing threads -- you're not alone.

share|improve this answer
add comment

I would tell them where to go but that doesnt help your situation. It is difficult to show boards who are not that IT literate the benefits of virtualisation. However if you use VM's for disaster recovery for example, the ROI can be seen pretty quickly as you can have fancy failover systems in place where by you have two servers each with say 4VMs... if one server goes down the other server goes up automatically etc.. You are in affect making better use of your machines power hosting on one box. Just be careful about hard disk usage as thats the normal bottleneck with VMs.

share|improve this answer
add comment

For some work environments you might be able to use the free VM solutions (like ESXi) and migrate things over without interruption; then after testing it out show them the savings from servers being powered down and savings on your time and management abilities.

For features to really be helpful though you may need the pay-for additions; things like live migration aren't necessarily cheap, but the free stuff can go a long way towards showing the feasibility of using the solutions in your environment.

Again, depends entirely on your environment how feasible this is though. And it can show potential issues you'd have in trying to do this; we had a database-driven point of sale server that apparently didn't like being virtualized at the time. I don't know if it was the VMWare Server installation or something with the host, but we didn't get much of a chance to troubleshoot or tune before ending up putting the physical server back in production.

On the other hand we've shut down about seven servers right now into one virtual server running ESXi; it has definitely saved us in power draw in the server room, plus helped with cooling.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.