Brents IT Blog

Random thoughts by an IT GOAT

NAVIGATION - SEARCH

What is virtualization and what does it mean to my company.

So i am talking on the phone with a non-techie who doesnt know a thing about computers besides how to turn them on, send emails and check facebook.  Well this person says to me, "so why do you love virtualization so much, what does it really do, it just sounds like an expensive tech toy".  I realized at that point, all this talk about the cloud from sales people and if you ever stop and ask them what it really does, they usually gloss it over with sales crap which of course causes a rolling of the eyes followed by the usual eyes rolling into the back of your head.

So perhaps this will help anyone looking for a solid answer.  I am not a sales guy, just someone who has been using the technology since the inception of VirtualPC ( microsoft's workstation-esk foray into virtualization ).  VMWare also has a workstation product that many companies use for low level testing and/or modeling.  Anyhow, lets talk about what virtualization actually does for our company in a few easy to understand bullet points:

1. It eliminates the need to buy lots of server hardware, we save money.  It does this by allowing my company to run 10-15 instances of windows server on a single physical box(server).  Whereas in the olden days, if i needed a server to run a website, i would buy one physical server.  If i needed to run an accounting application, i would buy another physical server and so on...  Why take ten cars to the football game when you can take just one and save tons of money on parking and gas?  Follow me?

2. Soft costs savings.  The bottom line, less hardware means less power required to run my environment.  Having less physical servers means less cooling required to keep the systems operating at optimal levels.  Less physical servers means i take up 1 3 foot wide by 8 foot tall by 5 feet deep rack instead of 4.  If i ever want to co-locate my servers off site for whatever reasons, it means i pay less in rent.

3. Redundancy/Resiliency .  With a cluster(group of machines working together) of physical machines running the virtual environment, if i build in some spare capacity, the system can withstand the failure of a physical server.  Once the failure occurs, the system recognizes the loss of a host and all the virtual servers on that host, then reboots those lost virtual servers on another host.  Being that failures of this level seem to happen on weekends, its a great feature to have when a hardware failure occurs.  We actually had this happen to us and were able to deal with our failed physical host server the following monday with little to no downtime noted by staff using the systems that were rebooted to another physical host.

4. Painless upgrades.  I backup my virtual server, run the upgrade, if it screws everything up, i shut it down, restore the backup and in 10 minutes i have a pre-upgrade server running again.  Same goes for windows updates, server migrations and data migrations.  I could also copy my live production virtual server and run it in a test environment away from production, test all my upgrades, updates and changes, then if successful, take down my live production system and replace it with my already upgraded test version.

5. Snapshots/backup.  If something goes wrong with a virtual server's Operating System or software in live production, i can restore it in minutes instead of hours.  

6. Reboot times.  The reboot times for a virtual server versus a physical server are quite significant.  In the olden days it could take 10-15 minutes for a physical server to go through a power cycle.  This meant that updates, upgrades, hardware changes, etc that involved several reboots, could take hours.  With virtualization, a reboot is normally around 2-3 minutes with a few exceptions that might take 5 minutes to be fully functional.  Less time required means my staff are more productive!

7. Combine all the above and you get point number 7... we save man hours.  We no longer have to plan on stringent timelines to upgrade or migrate software off old physical servers we think are going to fail to new physical servers.  If accounting wants to keep their 20 year old application, i can just let the virtual server run, heck i could power it off till they need it again and it still gets backed up nightly.  I could leave it for another 10 years as it is(not the best idea for security reasons, but a possibility).  I am no longer forced to spend hours negotiating with the finance department on costs and reasons for keeping it, thats a win for both sides.  The reboot times, restore times, migration and configure times, all reduced which saves man hours and allows the department to concentrate on new projects and customer service.

8.  Uptime is increased and offsite Data Redundancy is quickly possible/cheaper.  What many people call DR sites, which can be in various forms:  Hot(ready to run in an instant), warm(small to moderate amount of time to bring online), cold(requires someone to go do something to bring everything online) at the remote DR site.

9. Time from project concept to running reduced from weeks/months to minutes/hours, same for project capacity expansion.  In the old days, the project came down, a new physical server was designed, costs were quoted, approvals made, hardware ordered, hardware setup, tested and finally brought into production.  Now, they tell me what they need, i allocate the resources and start up a new virtual server.  If i have templated servers, i could have a server ready in a matter of 10-20 minutes plus new software and configure time.  Expansion of existing server services could either be done with more virtual servers or hardware resources added to existing virtual servers.

10.  Hardware failures, incompatibility, loss of hardware support.  I cant stress this enough.  Virtualization has ONE set of hardware drivers installed on every virtual server in the environment.  These drivers are tested to the extremes, they will not fail you.  You generally dont update them until you upgrade your virtualization environment.  Hardware is just not a major part of the worry when a virtualized environment is setup properly.

11. Resource management.  So with everything stated in points 1-9, what that adds up to is a change in IT.  IT is no longer managing hardware, IT is now managing resources.  Each physical server is a pool of potential resources for applications.  This allows IT to refocus on customer service levels, both support wise and complaint management wise.  Getting to the root of problems with the tools out there becomes second nature and quick.  Sometimes you know it before your staff report it and are able to address it before a support request is filed.  A decrease in help desk calls means i can then better manage my departmental resources as well.

So hopefully this educates those who had questions with some useful information.  I should also throw in a tidbit of information on virtualization software, there are currently four major players in the market:

1. VMWare - They are the tried and tested leading vendor, many applications are certified on it first.
2. KVM - This was an open source product created by a team of people that was taken in and over by a few major IT players.  The software currently comes with RedHat and RedHat provides enterprise support for it.  The builds coming out are quickly catching it up to a VMWare level feature set. 
3. HyperV - While Microsoft has been at it for a while on the desktop level, they finally got serious with virtualization in windows server 2008 and have made major strides with server 2012.  Their offerings are very similar to VMWare and their pricing, especially for people who have mainly Microsoft shops, is VERY VERY competitive( i never thought i would say that ).  For instance, if you buy their windows server 2012 datacenter edition license, you can run as many windows virtual servers as you want on the box, no additional windows licensing needed.  Buy standard and you can run up to four, excluding the host license which is free assuming you use the barebones hypervisor.
4. Xen - Citrix also put out a product that they developed for the market.  Citrix support pricing is pretty steep but their support is top notch.  I havent used Xen myself, but i have heard good things about it.  While i consider them a major player in the market, i am not sure they will be able to hold their own against HyperVs pricing and KVMs coming of age.  Their hypervisor is free.

I hope this was informative!