As an IT guy, I need to be using Windows for my day to day desktop environment as there are many vendor specific applications I need to run on a day to day basis which simply aren’t available on unix variants. However, that doesn’t stop me from wanting to run Linux applications when I’m on the road, or needing to quickly build a server to test something out.
At the moment when I want to get in to the sandbox, I’m using VMWare Workstation. I’ve used it for quite a while, and am very comfortable with it. But there are other virtualisation platforms out there, so I thought it was only fair that I have a look at the other options which are available. So today we’ll be comparing VMWare Workstation with Sun Microsystems’ virtualisation client, Virtualbox.
VMWare Workstation 7
It’s the Ferarri of desktop virutalisation products, with a venerable history and is produced by a company which does nothing but virtualisation – so you’d think they’d be pretty good at it by now. The version I’ll be playing with today is VMWare’s latest and greatest, which sports improved 3D capabilities, driverless printing, and even has the ability to run a VMWare vSphere server from within VMWare Workstation.
One of the things I like to use workstation for is creating a Team, where you can simulate a customer’s network with virtual servers and virtual routers, then introduce a new element and see how the existing stuff reacts. It’s very handy, and means that a lot of the time I can walk in to a customer’s site with some answers up front.
Produced by Sun Microsystems, one of the last great Unix companies, Virtualbox is a simple and straight forward virtualisation platform. Things are simplified a little bit, but you’ve still got access to an impressive feature set. So there’s no Team environment or any of the fancy-schmancy stuff which you’ll see in VMWare Workstation. But you can still run multiple virtual machines, snapshot their disks and so on.
One of the most impressive features Virtualbox has at its disposal is that its remote display mechanism is acutally RDP. So no need for special clients or tools when you’re connecting to a virtual machine which is running on a remote server – just fire up your favourite RDP client and away you go. You’ll also be able to connect USB devices via RDP from no matter where you are.
And the two best things? Virtualbox is free, and will not only run on Windows, but also Mac, Linux and Solaris.
Just telling you the features of each isn’t really going to get your blood flowing, so I figured the best way to show them side by side is by giving them a little challenge.
I’m going to fire them up and run through the Windows 7 Enterprise (64bit) installation. Once each installation is finished, I’ll shut the machines down, then drag race them from power on to desktop, and then we’ll do some speed tests to see who’s come out on top.
So first up, the build. We’ll start by creating the virtual machines. I’ll choose the new machine option on each client:
Ok, so VMWare has a typical and custom option, although typical is … typically all you’ll need. Virtualbox loses points here for having an exclamation mark on their welcome page, which seems friendly, but could also me misconstrued as someone shouting at me.
Moving on… Next screen is all about which OS we’re going to install. VMWare does it by asking you to specify your installer disk, then checking that disk to see if it recognises it. You can see on the left that it’s detected Windows 7 x64. Virtualbox, on the other hand, asks you which OS you’re going to install.
Ok, here’s where things start to break up a little and the two programs go their seperate ways. First up, VMWare is asking me for my ‘Easy Install’ information. For those who don’t know, you provide your CD key and login details up front, and VMWare Workstation will complete the installation for you, allowing you to go off and make a cup of tea while it finishes, and you’ll come back to your shiny new desktop.
At the same time, Virtualbox is asking about RAM sizes. VMWare doesn’t specifically ask you how much RAM you want to commit to this virtual machine – you have to change it later on. I’m going to assign 1Gb of RAM, as that’s what VMWare is doing, and I want these machines to be as similar as possible.
Then VMWare asks you to name and specify the save location for your VM.
Now they’re both asking about hard disks. With VMWare, you simply specify the size you want and it’ll create the virtual disk within that virtual machine’s folder. Virtualbox asks whether you want to use an existing disk or create a new one. I’ll select new…
Which launches the disk wizard. I’ll create a 40Gb disk as that’s what VMWare is doing.
Righto. Both setups have finished.
Time for some fine tuning. As you can see, both machines are single processor, single core, with 1Gb of RAM and 40Gb of hard disk space. I’m going to leave everything else pretty much default here, but there’s some interesting stuff to play with.
Let’s press start and begin the installations. VMWare gets off to a flying start by booting the disk and beginning the easy install process.
Whereas Virtualbox first asks you for a disk (I forgot to specify it when at the hardware tweaking screen).
Then it begins the normal Windows 7 installation. No easy install here.
So Virtualbox is a little more fiddly to get a virtual machine up and running, but that’s not the important part. Let’s make a cup of tea while the installs are happening, then we’ll look at performance. To make things as fair as possible, I’ll only run one virtual machine at a time – that way they won’t be getting in each others way when it comes to RAM, disk access and processor power.
Before we start, however, we need to make sure that the different virtual machines have the same playing field. Each product has its own system for allowing a virtual machine better access to its host. VMWare Tools on one side, and Virtualbox Guest Additions on the other. I’ll install them now.
VMWare tools start automatically thanks to easy install, and reboots the virtual machine once they’re finished.
Again, Virtualbox is a little more hands on. Select Devices > Install Guest Additions from the menu at the top of the screen and follow the steps as so.
Phew. Glad that’s over with. So now we’ve got two roughly identical machines. One on VMWare and one on Virtualbox. I’ll change the desktop themes so that they stand out a little. VMWare Workstation gets a cool scene, whereas Virtualbox gets… whatever the hell those things are.
First thing you may notice is that VMWare has Aero enabled, but Virtualbox doesn’t. This is due to the fact that while Virtualbox does support 3D, it only supports OpenGL, not the DirectX which VMWare supports (and is required by Aero). While that isn’t a huge problem, it’s something which is worth noting. It’s also worth noting that 3D support on Virtualbox is the same on all platforms, so you can play OpenGL games on your Linux box.
Well, what do you want? Both programs let you build and run a multitude of virtual machines with very little fuss. I guess I should stick to the sexy features, though. VMWare introduced a new feature a little while ago (Workstation 6.5 from memory) called Unity, which allowed your virtual windows to float over your host desktop so you didn’t have to be viewing the virtual desktop in its entirety. It looks like this:
Multiple operating systems can stack above your normal start button, and are each given their own individual colour. In this case I only have Windows 7 running, it has assigned itself a pink start button, and its windows also get the pink treatment. Were there multiple operating systems running, they’d each have a different colour and stack up above the start button.
As for Virtualbox, it’s ‘Seamless Mode’ is similar, although there are some differences. Here’s what it looks like:
Note that the start bar of my virtual windows 7 machine is sitting on top of my host start bar. This seems all well and good until you try to launch multiple guest operating systems at once:
Instead of VMWare’s clever coloured start buttons, the taskbars for each operating system stack on top of each other rather clunkily. A solution for this is to move them around within their respective operating systems, although this can be a little invasive.
Oh, dear god! So many taskbars! So we’ve got the host on the right, Windows XP Guest at the bottom, Windows 7 Guest on the left and OpenSolaris up top. Not exactly slick, but I have to say – it’s nice not having pink borders around everything.
Remote access is an interesting difference too. VMWare uses VNC, allowing remote computers to control guests with ease. Virtualbox, on the other hand, uses RDP – the protocol behind Windows’ Remote Desktop connection.
The only other real difference is the ability of VMWare to create Teams – groups of computers which are seggregated from the rest of the network by a virtual router, and allow you to testbed an entire infrastructure. Of course, this probably isn’t of much interest to your average geek. Hell, even I only use it once in a blue moon.
And now, a Drag Race.
This will be performance test one. From a fully shutdown state, I’ll power each machine up and we’ll see how long it takes for it to fully boot and be at its desktop. I’ll use timestamps on the screenshots to compare times. I’m going to time from the virtual BIOS screen until Internet Explorer starts (I’ve placed it in the startup folder of the start menu) and completes rendering the home page.
First up, VMWare. Let’s see what you’ve got.
From 14:48:12 to 14:49:32 is a grand total of one minute and twenty seconds (1:20). Not too shabby. Let’s see how Virtualbox does.
Woah! 14:56:25 to 14:57:04! That means that Virtualbox started in thirty nine seconds! That’s just under half the time it took VMWare Workstation to boot.
I don’t particularly like synthetic benchmarks, but as I don’t have anything better to show the performance differences, I guess some SiSoft Sandra testing will have to do.
Dhrystone scores are pretty much on par, as one would expect. Remember that each of these virtual machines is only using a single virtual CPU, so the fact that their scores are pretty much half the host system is fairly impressive.
Again, whetstone shows that the two virtuals are neck and neck in the gigaflop department.
Memory performance sees VMWare Workstation edge ahead a little, with performance almost on par with the physical host system.
Oh dear. This is where synthetic benchmarks start to suffer a little, either that or Virtualbox is using some kind of clever memory based disk caching.
Yep. Definitely something funny going on here.
Look, this is a tough call. Both platforms are pretty impressive, and synthetic benchmarks don’t always give a clear picture. When I looked at Virtualbox a year or two ago, I was a little underwhelmed, and stayed a staunch VMWare supporter. But this latest version is softening my cold heart. Its feature set has increased significantly (including their version of Unity, where virtual windows float over your desktop), and its performance seems as good as (if not better than) VMWare Workstation.
That being said, It still seems to me that VMWare is the more stable of the two, which you’d expect from a company which does nothing but virtualisation.
So if you’re looking for something which is free so you can have a toy around with virtualization, then I’d suggest giving Virtualbox a try. It’ll allow you to quickly and easily segment off applications into a separate working environment so they don’t interfere with your main Windows desktop.
If you’re planning on using Virtualisation in a corporate environment any time in the future, you’re best off spending some cash on VMWare Workstation, as its core technologies are very similar to the operating environment you’ll encounter in the real world – vSphere, for example.
Of course, you could also go for one of VMWare’s free products, like VMWare Server or VMWare Player (which now has the ability to create virtual machines instead of just play them), but how they’ll perform is a matter for another article.