Virtualization? uh huh...
Summary: Virtualization is popular because it was popular - and not because there's a practical reason to do it.
Let me see if I've got this right:
Systems virtualization as most people practice it consists of booting multiple copies of a guest OS into memory and switching between copies as needed.
The boot and switch process itself is handled by a third OS which monitors the guest OS(es) and input sources such as the network card(s).
The driving factors for the first really successful virtualization OS, IBM's VM, was the need to prevent accidental interaction between user processes - without having to dedicate an expensive machine to each process.
When NT came along in the mid nineties it had much the same problem OS/360 demonstrated in the early days of combined COBOL and assembler programming: an exponential increase in complexity and failure rates as more applications were added to the machine. IBM's response then, conditioned by the $3 million plus price tag for a 360/370 class server, was to split the machine first via hardware switching in the LPAR (logical partition) construct and then via cp level software switching and thus VM. Wintel's response, in contrast was conditioned by $10K boxes and therefore consisted of getting more boxes - and running only one application per server.
As the Wintel and mainframe cultures started to merge, the mainframe focus on getting the maximum possible utilisation from a multi-million dollar machine affected Wintel thinking - and so we got first dual boot and then, as memory got cheaper, now Wintel systems virtualization designed to raise hardware utilisation from the traditional five to ten percent to at least the seventy to eighty percent range by running multiple concurrent applications, each under their own OS instance.
It seems to me, however, that while the latest Windows server OSes are pretty limited relative to Unix, they're capable of running several concurrent, but non competing, applications. In other words, as long as you don't put two SQL-servers (or Domino and Exchange) on the same machine the two most basic rationales for partitioning and virtualization - server cost and the need to prevent one application from causing another to fail - simply don't apply.
So why invoke the overhead and costs for doing it?
In Unix, of course, the problems that drove partitioning and virtualization never existed and so the technology didn't develop until Sun and HP started selling larger servers to mainframers who insisted that splitting a five million dollar Sun 10K five ways made more sense than buying five smaller machines at $200K each - and keeping the four million in change.
Since then Unix virtualization efforts have gone in two very different directions.
First the N1 resource virtualization technology for Unix did the exact opposite of traditional virtualization: tying together a large number of machines in a data center to form a more easily manageable virtual computer consisting of all of them - and Microsoft's data center management tools do something similar at the rack mount level for multiple wintel servers.
And, second: Solaris containers (and now zones) virtualise devices (including file systems) within one OS instance to provide a user and/or application grouping fitting above group and below "everyone" in the traditional Unix everyone-group-user hierarchy.
Go down the rabbit hole to Wintel land and you'll find a parallel to this: a major Wintel virtualization supplier whose use of a Linux kernel means that some applications, like BEA's web server infrastructure, can run directly under VMware - no additional OS required.
But what do these two technologies - one representing large numbers of machines as one virtual machine and the other eliminating the need to run multiple OS instances to achieve virtualised application environments mean for adherents to traditional OS ghosting in the land of the $10K machine? I think they mean that virtualization is popular because it was popular - and not because there's a practical reason to do it.
Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.
Talkback
You really need to get back into IT
OK here is a practical reason.
You have to upgrade all kit because the management has wisely switched from Sun to IBM - move the images and data from your virtual machines to a new virtual machine on completely different hardware. It takes minutes (or hours) not DAYS. You can even practice this several times before "go live" and get any changes ready so that there is no interruption of service when you throw that tatty old Sun kit out the door and get your shiny new IBM stuff in.
Or ...
Imagine you are in a business with a few servers - say two - and high availability is a concern. If you run each server with virtualisation and one of them goes down, then you switch it off and load the virtual image from the most recent copy on to your other virtualised server and you're off and running again.
You then try and fix the dead box only to find that it is *really* dead and you need a whole new box with a different spec. You get your new box, virtualise it and move the image of "server 1" back on to it.
Or...
You have two servers both virtualised and you copy images from server 1 to server 2 on a regular basis. If server 1 needs to go down for maintenance you simply switch the images and data over to the second server and take the first one out.
Or...
.... well, you get the idea. Virtualisation is a VERY pratical technology.
OK - but all of these are examples of
So?
Virtualized resources make sense, ghosting does not (NT)
That is possibly the daftest statement I've ever seen you make
For the server farm people, the massive power reductions combined with the ability to quickly recover from failed equipment make this a no-brainer.
So what are you (Murph) proposing? Your article has no concrete suggestions, just an oblique reference to using Sun kit to cut costs.
As far as I can see, you have a lot of criticism, but no suggestions on this topic.
You hit the nail on the head<NT>
Get back to IT?
Murph's approach is coloured by the simple world he lives in - essentially mainframes with terminals - oops sorry smaaaaart terminals. There's no GUI, no 3D games, no social networking sites, no web services, no virtualisation and certainly no Wintel - so he's really missed everything.
His unhealthy infatuation with Sun and his huge lack of knowledge concerning the hated Wintel that over 90% of the world uses, causes extreme cognitive dissonance when he occasionally pops his head up to view reality, which results in these types of rants.
When visiting the *nix museum please tip the custodian, he needs the attention.
I work in a buisness that does a lot of publishing and
lesser degree Windows and once in a while Linux systems. For years now we have
had to support multiple OS's and applications and have a mess on individual users
desks Mac's, PC's and such. switch boxed thrown in to add to the mess. Now with
Parallels we can have one sleak sexy Mac say the iMac on an individuals desk and be
rid of heafty space consuming boxes...gain screen realestate and use multiple OS's
and applications on one system. So yes virtualization works wonders for us....
Pagan jim
Look deeper
An example:
A company has 1,000 x86 servers running various applications, some critical, some not, some production, some QA/Dev but each one no matter what it's running is consuming power, floor space and requires cooling, management etc. On average, each server is running at between 10 and 15% utilization. IDC/Gartner/Etc. cite a cost of about $4,000 per year for running that machine (utilities only-no people or other costs). That's $4,000,000 per year.
Bring in virtualization and reduce the server count from 1,000 to 200 and still run the same number of applications doing the same things. Yearly utilities cost is now $800,000 which is a yearly savings of $3,200,000
Yep, it's a good idea alright.
No, it's not a good idea
Maybe you can tell us how to...
If you consolidate server services and apps onto the same OS base, experience tells me that each service admin will then need at least some base server OS privileges. How does administration cost scale compared to creating VMs that can be backed up and restored in their entirety along with their current data stores and operating state as easily as backing up some files?
Murph, one thing that you may not be seeing is that hardware costs must be compared to labor costs. If you can pick a virtualization solution that eases administration costs while also reducing hardware requirements and costs, it can be more cost effective than just piling more services into existing servers to reduce the number of hardware boxes. Redundancy and fail over concepts come to mind as well as additional benefits from virtualization.
No it's good idea...
1) By using VM's it is trivial to move it to a New server.
because Windows believes it is still running within the same
machine.
2) Disaster Recovery, you dont need to have the exact same hardware as you currently do, Anything that can run the VM can now run your apps.
3) Space Savings in the Data Center, reduces the number of Rack
space required.
4) Cooling cost are reduced in the Data Center also.
5) The only thing it doesnt reduce is Software Licensing cost in most cases
Okay, here's why I use virtualization on the desktop...
I buy a MacBook Pro. I still need Outlook to connect to the corporate Exchange servers. Also I have some engineering apps that won't run natively on the Mac OS X and will need time to transition to a completely different OS platform and application set. Boot Camp allows me to run Win XP but OS switching (shutdown and reboot) is a time consuming pain. Parallels will allow me to run an XP VM but this must be separate and distinct instance of XP requiring additional MS licensing (OS and Office) as well as additional licensing for the engineering apps (not cheap to say the least). So along comes VMWare Fusion that allows the Boot Camp Win XP to boot as a VM. This allows one XP Pro installation and instance to be run natively (for utilizing all of the hardware resources and speed without a hypervisor) or within OS X as a VM (for access to Outlook and other Windows app that I haven't "weened" from). Fusion even allows you to run a Windows app in its own window on the OS X desktop and hides the Windows desktop in "Unity" mode.
These are real examples of why I have invested in virtualization in the last 12 months when I had never considered it before then. While I am not addressing your point about server VM and hardward utilization trends, but I am describing that virtualization is a powerful means to share hardware for disparate Desktop and Server OSes.
Is it justified for use in server farms? I think yes if only for load balancing a set of virtual web servers. In any event, I think that it is limiting to think of computing being one OS matched singularly to one CPU/hardware set. The concept of virtual computing that allows the operator to slice and fuse hardware to the optimal use of software is a powerful paradigm that is popular because it solves problems that would be extremely difficult, very expensive, or out right impossible without virtualization.
I know that my dependency upon MS Windows would be very difficult if not impossible to break without virtual machines.
Parallels does the same
That's an interesting bit but...
...never mind I just went to Parallels.com and found a new product announcement. For the life of me I could not find nything about running the Boot Camp partition from Parallels when I was researching this just last week.
I would like to try this, but I am concerned that messing further with the XP partition will force another re-activation of Win XP Pro. I have spent the last 3 days migrating my apps and data to the MBP and don't want to start over :(
Anyone have any experience with Parallels? One advantage to Fusion is that it will also run my other VMWare VMs that I have created on my Linux lappy. Any opinions as to which is the best solution, VMWare Fusion or Parallels?
Dunno about thye average user
-I do some web page development, and I have to test for both IE6 and IE7. Since Microsoft conveniently decided they can't work together, I use virtualization to test both.
-It's also a convenient way of playing around with other OSes such as Linux without having to go to all of the reformatting, repartitioning, and rebooting trouble.
Both you and jacarter make a good case
1 - I'm focussed on data center uses (since I use Solaris I tend not to even consider the kinds of desktop issues you guys face).
2 - do you really mean you can't use IE6 and 7 on the same machine? And people buy this stuff ! -:) tell me you're kidding...
re: Both you and jacarter make a good case
Yeah, that's what I meant. I only have one machine at the moment.
"And people buy this stuff ! -:) tell me you're kidding..."
Microsoft's free virtual PC plus an image of Windows with IE6 works nicely.
I'm sure some hacker figured out how to do it without VPC, but I really don't want to mess around with hacks. VPC is easy and clean.
We have less virtual servers than we had physical servers
The other advantages mentioned above like power savings, lower administration cost, faster recovery all apply too.
ah, but.. why not just do that?
run A, B..Z concurrently, why not just do that?