Hyper-V Program Manager
The other day I wrote up the story of how I became Virtual PC Guy. One question that I left unanswered in that post was why I chose Connectix Virtual PC over VMware Workstation. Today I would like to elucidate on this question.
Before I get going – I want to be crystal clear on some things here: I am discussing why I made a decision to use Connectix Virtual PC 4.0 over VMware Workstation 2.0. I will be talking about how these products were back in 2001. I am not trying to say that these are reasons for other people to use one product over the other today.
When I started using Connectix Virtual PC, I had already spent a lot of time using VMware Workstation. I had ruled out VMware Workstation before Connectix Virtual PC for Windows was released. As I spent more time using Virtual PC I became happier and happier with my choice.
Thinking back – there were three main reasons why I went with Connectix Virtual PC over VMware Workstation:
Now, the obvious question that I am sure some of you are thinking about is – if I had to decide today, would I make the same decision?
To be honest – I do not think I can give a good answer there. VMware have certainly raised their game on operating system compatibility and community engagement (I still hate their user interface :-), but we have improved in these areas too. Also, in my time working on the Virtual PC / Virtual Server / Hyper-V, I have gained deep insights into both our and VMware’s architecture – and there are many areas where I prefer our approaches over VMware’s.
But – I have to accept that I am now hopelessly biased. Biased beyond repair.
A question that I wonder from time to time is: “If I stopped working at Microsoft, would I continue to use Windows as my primary operating system? And if not – which operating system would I use?”
This is a really hard question for me to answer. Most of the time I conclude that I probably would continue to use Windows as it best serves my needs, but I also have to accept that I am making that conclusion through such a heavy bias from years of working at Microsoft that I do not know how valid it is.
So with all that said – what about you? What were the key factors that influenced you when you were trying to decide what virtualization solution to use?
I started off with VMware, then recently moved to Virtual PC and now I’ve finally settled with VirtualBox.
I moved from VMware because it was getting big, and sluggish. Virtual PC was alot faster for me, and the interface really rocks. But it wasn't as fully featured as VMware lets say.
Then I thought I would give VirtualBox as spin, and the interface is somewhere between VMware (bad) and VPC (good). But it has the same sort of featues as VMware with the speed of VPC.
Nice series of posts. I use VMware Workstation because Virtual PC doesn't support 64 bit (will that ever get fixed??) But on the server side, I'm looking at Hyper-V R2 over VMware mainly because I'm more familiar with Windows than Linux. Plus the local (NZ) Microsoft support is better than VMware.
Used to be a big Connectix Virtual PC fan up until it went to MS. It blew away Vmware Workstation at the time and for quite awhile. I think that competition is what spurned Vmware into gear for it's Workstation product and they haven't stopped since.
There are so many things Vmware Workstation does that VPC doesn't nowadays that there's no point or time even listing them here.
People complain that it's bloated but it's the same complaints people use about Windows being "bloated", I personally don't see it.
I do try VirtualBox every now and then but there's always something that throws me for a loop and I go back to Vmware Workstation.
When Vmware Workstation 7 comes out I'll do another comparison with VirtualBox. I've given up on VPC for quite awhile, especially the new one for Windows 7.
DosFreak stated it well and I mostly agree. I am talking about workstation side, not server virtualization.
Sorry, but MS really ruined VirtualPC development. Before Connectix was bought by MS Workstation and VirtualPC were competing at the same level. After that Workstation evolved while VirtualPC didn't evolved much and that's a huge shame because no competition isn't good for anybody.
Just for fun, let me list three of my Workstation's favorite features:
2. USB support
3. Visual Studio add-in.
And there is a ton of other interesting features as well.
That said I understand Ben's motivation to pick VPC over Workstation at that time. Those times are long gone though.
I use desktop virtualization mainly for testing, development and demos.
I was actually never able to use VMWare. It always ended up conflicting with something, usually wrecking network connectivity.
So I went with Virtual PC, because it was simple, easy to understand and generally working.
I'm quite disappointed by latest development on this field, because Windows Virtual PC is for the above mentioned purpose (demos) actually worse than Virtual PC 2007, is too focused to compatibility and seamless integration. Which are surely good things, but not for me, I'm afraid.
The last shot was that Windows Server 2008 R2 is x64 only. This is move I approve in general, but due to lack of support of x64 guests in VPC it means I need to find new desktop virtualizatio platform.
So now I'm playing with Virtual Box, which seems now for me as something that I hoped Virtual PC will be.
I'm using Hyper-V for server virtualization quite happily, though. But for demos, learning and teaching the Hyper-V is unusable and was not designed for.
For me, reason to use Virtual PC over VmWare Workstation is the price. VPC is free, VmWare costs some bucks (I'm student, I can't afford it).
I just hope that VPC will soon support x64, now I can't run WS2008 R2 on top of it.
Intersting info. A valuable perspective to be able to look back into why you started down a particular path. but times have certainly changed.
I've used VirtualBox, VmWare workstation and Virtual PC, and without question, VmWare workstation provides broader OS support, tight integration/compatibility with their senor suite of products and superior performance, especially with 64bit OS vms.
As a matter of fact, I've supported developers that used VPC. Once they got accustomed to VmWares different interface, the performance was enought to compell them to switch.
VirtualBox is my favorite for simplified quick, lightweight use, but very limited on features.
In my experience VirtualPC is good for limited testing and demonstration. Outside of that, I can't find a single reason to choose it over another workstation VM platform. but it does work.
VMWare Workstation, because there's integration components for FreeBSD and also the integration components work for Windows Server OSes. Surprised that the Virtual PC RC doesn't install the ICs properly for Windows Server OSes.
VMWare's memory overcommit can be handy when doing a memory-constrained install (such as SBS 2008's 4GB check on a 4GB machine) - you can leave the install running overnight, then come back in the morning to shut down the guest and resize the memory to get around the installer check.
Thanks for all the comments / information! Please keep them coming.
Yes, I remember you well from the Connectix days.
Miha Markic -
I do not entirely agree with you here. Two responses that come to mind - the first one is that I beleive that when Microsoft Virtual PC 2004 was released - that was actually the time when VMware Workstation and Virtual PC were closest to each other feature wise. Since then Microsoft and VMware have taken their products in different directions.
VMware has focused on developers, Microsoft has focused on application compatibility.
Certainly if I was looking at using virtual machines solely for application compatibility - I would choose Virtual PC today with no hesitation
Michal Altair Valášek -
Aside from 64-bit guest support - what were the other issues that you had with Windows Virtual PC?
You asked for more comments, couldn't resist...
VirtualBox is the USDA prime choice for me. It's also the main reason why, after developing for Windows for 23 years, I've jumped ship and switched to Ubuntu 9.04.
Of course my customers are still on Windows so I perform the same work in Visual Studio (ASP.NET with VB and MFC/VC9) all day anyway. But now running inside a 2GB XP Virtual PC.
As with much else in this world, Windows Vista was the main culprit. What I mean is, I was a happy camper using Virtual PC 2004 in XP.
I remember that spring in 2006, I had decided to cough up the money to purchase it, when Microsoft declared it as a free download! So I started using VPCs for internet banking and bookkeeping/acounting (I'm running my own business). Then when I bought a new PC (say Toshiba or Dell) for development I just copied those VPCs in.
You see, a virtual PC never gets old in the tooth. It's content running on that 440BX motherboard and the S3 Trio 8 MB video card. If you're old enough you'll remember those days when 440BX and S3 Trio was the top of the line hardware. (Well S3 Trio was a crap card even in it's physical manifestation as I seem to remember.) So once you've migrated your banking or bookkeeping or so to a VPC it will remain loyal to you. No hard drive or power supply failures.
So all was dandy until customers started using Vista. And it had the same smell as Windows ME. You remember ME, you installed it and it couldn't play the Windows logon WAV file through the speakers even though you had a vanilla PC with the most common Soundblaster card installed. So I had to stay with XP for my sanity, but to please the customers I had to have Vista running as well.
But the perfomance was dismal with VPC 2004 and Vista RTM. I remember waiting 30 minutes for the logon to finish, i.e. before you could click on the Start button.
Then came VPC 2007 and Vista was running OK. And VPC 2007 SP1 is what I used until my recent shipjumping. Because I have no machine with hardware virtualization support around as yet, I cannot install the new Windows Virtual PC RC, which I believe has USB support (this is so nice to have in VirtualBox).
In that transition from VPC 2004 to VPC 2007 something happened with the overall speed. I notice that especially with my general ledger/bookkeeping software in an XP VM. Doing the accounts payable etc. requires typing in a lot of characters, and there is *always* a lag of one or two characters when typing fast in VPC 2007 SP1. Even though I have a spanking new Dell dual core PC (Studio 1737).
Now comes the scary part: if you install VirtualBox on your Windows side by side with VPC 2007 you can boot the same .VHD file from both of them (not at the same time :-) And my accounting is back to VPC 2004 performance again when running inside VirtualBox. It might be due to that German architecture of using Ring 1 instead of binary translation (just a guess).
Of course there are issues with VirtualBox. You cannot access the settings for a machine when it's running or saved, only when it is powered off. With VPC 2007 you can change the settings anytime, but it might warn you that a reboot is needed etc.
And it is a bit less tolerant than VPC 2007. Of my three main .VHDs, only one of them VirtualBox could open and boot straight off the bat. The others required the usual tweakings, like disabling P3.sys and P4.sys. It took an extra day but I got them up and running as well. Only my Windows 2K SP4a I had to give up on, it's only runnable now in Networked Safe Mode in Virtual Box. Banking works even though it's just 256 colors! Thankfully that particular bank is switching to a USB smart card reader later this year, so I will be able to logon from any other VPC and I can bury that VPC (my first burial).
Just remembered, I am still using VPC 2007, well actually only the Hard Disk Wizard. The reason: still today VirtualBox cannot compact a .VHD file. Which you need since you backup often. So the trick is: install VPC 2007 on your XP inside your VirtualBox. And use the Disk Wizard to compact a .VHD file in say a shared folder. Of course compacting yourself is not supported, so use the Wizard in machine A to compact the .VHD for machine B and the other way around :-)
Sorry for the longwinded comments but Virtual PCs are a main interest of mine. The technology will be even more pervasive in the years to come. I believe one day we will the option to migrate ourselves to .VHS files (Virtual Homo Sapiens files). Of course the file size might be in the Exabytes instead of Gigabytes...
I agree with these comments. For me it's 64 bit support, I install windows server SBS 2008 (which is 64bit only now) and I have 3 PC's with 8GB dual core and Windows Virtual PC not supporting 64 kit stops me using a workstation for trouble shooting and trying things out....
Seems MS is doing this on purpose to try and get people using hyper-v.....
I jumped ship from VPC 2007 (SP1) to VMware Workstation 6.x. At the time, it was because I wanted to test my own projects against various 64-bit OS flavors. Since then, VMware has added Easy Install, which is to me a killer feature as I build-up/tear-down VMs quite frequently. I'm also a VirtualBox fan, though its quirky, UNIX-derived interface and general instability keep me from making it my primary desktop virtualization solution.
One feature that seems to have gotten lost in the Virtual PC 2007-Windows Virtual PC transition is drag & drop support between host and guest (a limitation of dumping the native client window in favor of what is essentially RDP-on-steroids). When you spend as much time as I do moving data and programs across VM boundaries, drag & drop support becomes a real time-saver. No amount of drive-mapping or shared-folder redirection can replace this functionality, and I often find the inability to drag & drop drives me back to VMware Workstation from other solutions I've tried.
I know that Microsoft now views desktop virtualization as mostly a compatibility solution. However, the lack of a viable competitor to Workstation is serving to drive developers into the arms of VMware, where they're inevitably exposed to other non-Microsoft alternatives like ACE and VDI. Walking away from the fight by relegating Virtual PC to "compatibility layer" status was a mistake, IMHO.
I use VPC primarily for training and software testing. With server 2008R2 being 64bit only and VPC 32bit only I'm going to have to look elsewhere. Last year I user hyper-v for training but the lack of desktop integration made it just to painful.
Ben, thanks for telling us about your own background. It is obvious that you are passionate about what you do.
For me as a developer, I used to use just Virtual PC as it can run my own VMs as well as ready-made VPCs from Microsoft. I had hoped that Windows Virtual PC would support 64-bit, given that Win2008 R2 and SharePoint 2010 are 64-bit only. Unfortunately this is not the case and I have to use Virtual Server in order to run 64-bit guests. Though I do plan on using Windows Virtual PC as well for Window XP mode.
(Due to company policy, I cannot run Windows Server as my desktop O/S.)
Do Microsoft have any plans at all for a desktop virtualisation product which supports 64-bit guest operating systems ?
I'm more than happy with Virtual PC but I now need to be able to run 64-bit VM's to continue development work.
I don't want to switch to VirtualBox but Microsoft are presenting me with no choice.
I was speaking to a Microsoft DSE yesterday and he said that many people inside Microsoft feel the same way - he even said that people at MS are running VirtualBox on their laptops !