Four competing solutions from Microsoft, VMware, Parallels, and InnoTek demonstrate potential and the need to grow
Long ago, before the era of hardware slices and server farms, virtualization was a desktop thing. From SoftPC to Windows on Windows, desktop virtualization was primarily a tool for developers and support personnel ... people who had a compelling reason to run more than one environment concurrently on their PCs or Macs. Then along came VMware and the VDI (Virtual Desktop Initiative). Suddenly, virtualizing the desktop became the Next Big Thing in TCO reduction, and the big boys and their big plans stole much of the attention away from the traditional desktop virtualization model.
[ For a primer on desktop virtualization, see "What desktop virtualization really means" | VMwareWorkstation 6.0 was selected for an InfoWorld Technology of the Year award. See the slideshow of all the winners in the platforms category. ]
Fast-forward to today and you find that the market for these tools has contracted a bit. Pioneers, such as Insignia and Connectix, have either faded away or have been acquired, while others, such as Parallels, have emerged, thanks to shifts in platform architecture (for example, Apple adopting Intel CPUs for the Mac). Add to this the impact of external forces, such as the open source movement, and you have what continues to be a vibrant, fluid market, one that serves multiple niche applications, including software development, technical support, and legacy program compatibility.
In this roundup I take a look at four of the leading desktop virtualization packages, including VMware Workstation 6.0 Beta 3, a feature-laden developer workbench; two legacy compatibility solutions, Parallels Workstation for Windows 2.2 and Microsoft Virtual PC 2007; and an open source option you may have never heard of (but likely will in the near future), InnoTek VirtualBox 1.3.
Along the way I’ll explore how well these solutions scale and determine where they fit into the overall desktop virtualization landscape. Hint: Microsoft has conceded the market, while Parallels and InnoTek are still searching for an identity. This leaves VMware as the only company that understands this niche, and even then there are signs of delusions of grandeur (VDI).
Microsoft Virtual PC 2007
Microsoft Virtual PC 2007 is the long-awaited update to the company’s desktop virtualization product. Three years in the making, it features expanded OS support (Windows Vista as host and guest) and a revised VM architecture that leverages Intel and AMD hardware virtualization technologies. However, little else has changed with the product since its previous incarnation, Virtual PC 2004, was released amid much fanfare. Outside of a few new parameters in the VM settings dialog, in fact, the latest version is indistinguishable from the previous.
Not that this is necessarily a bad thing — one of Virtual PC 2004’s strengths was its approachability. The user interface was uncluttered and easy to navigate, even for VM novices. Add to this some innovative (at the time) features — such as host/guest drag and drop — and it was easy to see why the product gained a significant following among casual VM users. Virtual PC 2007 retains these qualities while correcting long-standing issues such as lack of support for newer mobile CPUs and the inability to work with multiple monitors.
The net result is a product that, despite its lack of growth, still effectively provides a low- or no-cost solution that allows users of Microsoft’s newest OS, Windows Vista, to run legacy applications reliably and without dual-booting to Windows XP. In that regard, Virtual PC 2007 succeeds handsomely, even if it also suggests that Microsoft doesn’t care about winning back the desktop virtualization market.
It seems Microsoft believes virtualization is a technology for the datacenter, with client applications served by a combination of traditional deployment and streaming virtualized application images courtesy of its newly acquired SoftGrid technology.
So I had understandably low expectations when I installed Virtual PC 2007 onto my Dell XPS M1710 test bed. Lack of support for 64-bit guest OS — or any Unix/Linux derivatives, for that matter — narrowed my test parameters significantly, allowing me to focus on legacy Windows application support under Windows Vista. Virtual PC 2007 also proved to be a real slug in the performance department (see “Light makes right for VM performance”). Poor overall scores — even after multiple test runs — took the guesswork out of naming a VM performance leader: Virtual PC 2007 wasn’t even in the running.
Slow VMs aside, there were some bright spots during my evaluation. Networking, in particular, worked more consistently under Virtual PC 2007. My Intel 3945ABG wireless network card, long the bane of my Virtual PC 2004 (and Virtual Server) experiences, worked reliably under the new version. Previously, I had needed to construct an elaborate hack — one involving Internet Connection Sharing and the Microsoft Loopback adapter — just to get the VMs communicating. Now, it simply works.
Kudos to the developer who took the time to fix this and other nagging issues with Virtual PC 2007. Unfortunately, they forgot to address another biggie: lack of USB device integration. Nevertheless, the price is right.
VMwareWorkstation 6.0 Beta 3
VMware Workstation has long been the standard bearer for desktop virtualization among hard-core users. A combination of robust virtual networking and unmatched OS support (19 flavors of Windows, 26 flavors of Unix/Linux) — plus a total lack of competition from Microsoft — has allowed VMware to effectively lock up the developer and technical support markets. Add to this the emergence of complementary technologies, such as VMware’s ACE, and it’s easy to see why VMware Workstation is viewed as the tool of choice for serious VM development.
To their credit, VMware’s product managers know where their bread is buttered. Version 6.0 of VMware Workstation is chock-full of developer-oriented features and functions. In addition to an ever-expanding OS roll call (Vista is now supported as both host and guest) and class-leading VM architecture (full 64-bit support with up to 10 virtual NICs and 8GB of RAM per VM), VMware Workstation now provides direct hooks into popular IDEs, such as Microsoft Visual Studio and Eclipse.
This last capability is a real time-saver for developers, since you can now design and test applications in one seamless step, using VMware to host the debugger within the desired target platform VM. It’s a nice complement to VMware’s existing stable of developer-centric features, such as unlimited per-VM snapshots. The snapshot feature — long one of the “must have” selling points of Workstation — has itself been overhauled. It now works like a true session recorder, allowing you to capture multiple VM states and play them back in sequence — a great help when debugging a multistage application process.
Unfortunately, the Record/Playback feature is incompatible with another of Workstation 6.0’s new features: USB 2.0 device support. To enable Record/Playback, you must remove the USB controller from the VM’s configuration. You also need to remove any virtual IDE devices — the feature works with virtual SCSI adapters only. This, in turn, causes other problems, as Windows XP, for one, doesn’t natively support the BusLogic virtual device employed by VMware. It’s a classic catch-22 that undermines the usefulness of an otherwise promising feature.
I tested VMware Workstation 6.0 Beta 3 on a Dell XPS M1710 laptop running Windows Vista Ultimate. Though I’ve never been a fan of the product’s tabbed window layout, I found the Workstation 6.0 interface — like that of its predecessor — to be uncluttered and generally easy to navigate. However, the product needs to provide more feedback on the impact of the various configuration options. For example, when creating a new Windows XP VM, the recommended disk controller was IDE. Also, USB support was enabled by default — both showstoppers that kept the VM from booting when I enabled the new Record/Replay feature. Worse still, there’s no easy way to convert from IDE to SCSI or vice versa, so the wrong choice at the beginning can lead to much wasted time later on.
Configuration faux pas aside, VMware Workstation 6.0 is a worthwhile upgrade that should help solidify the company’s position as the dominant VM platform for developers and support professionals.
InnoTek is one of those Thinstall-like vendors that managed to carve out a healthy niche for itself while essentially flying under the radar of most IT shops. That niche turned out to be the European Union’s government and military institutions, with a splash of OEM licensing (IBM is a customer) thrown in for good measure.
Resembling in many ways a more modular Virtual PC but with a VMware-like breadth of host and guest OS support, VirtualBox is at once exciting and frustrating: exciting because of its potential, especially as an open source option; frustrating because of lingering bugs and performance issues that plague the most recent release.
First, the good: As currently constituted, VirtualBox is a flexible, highly configurable virtualization platform. Compatible with both Windows and Linux hosts, it provides an impressive array of basic features, including USB support (both local and remote) and a rudimentary snapshot capability. It also boasts formidable extensibility features, such as a rich command line syntax and COM/DCOM interoperability.
VirtualBox’s modularity extends to the product’s UI, which can be decoupled from the VM runtimes, allowing them to run “headless” in the background. Add to this its own optimized RDP (Remote Desktop Protocol) server and you have a potent virtualization solution that is free to download for personal use (the company also offers an open source version without RDP capability).
The product, unfortunately, is marred by numerous user interface bugs (the VirtualBox control shell tended to crash randomly), a cryptic error message format that left me scratching my head on more than one occasion, and a complete lack of 64-bit (host or guest) OS support. VirtualBox is also an underwhelming performer. In my client/server benchmark tests, Microsoft’s Virtual Server 2005 R2 (SP1) proved two to four times faster than InnoTek’s offering — placing VirtualBox dead last among our roundup participants.
I suspect the problem lies with InnoTek’s lukewarm support for hardware virtualization. According to the company’s documentation, using technologies such as Intel’s Virtualization Technology extensions actually slows down the product, hence the decision not to enable the feature by default. I would have liked to test the findings using a manual configuration switch that InnoTek provides to force a VM to use hardware virtualization support. However, I could never get the feature to work properly (another crash, this time during VM boot), despite an extensive debugging session with InnoTek’s support personnel.
As with Virtual PC and VMware, I tested VirtualBox on a Dell XPS M1710 laptop. Installation was straightforward, but I found some aspects of VM configuration — specifically, the host networking and USB integration features — to be confusing at best. Overall, the generally unfinished state of the UI, coupled with the emphasis on command line operations, led me to conclude that VirtualBox is a product best suited for experienced virtualization engineers looking for a basic VM capability around which to build their own solutions.
One interesting angle to emerge from my VirtualBox experience involved the company’s long-term product road map. It seems that InnoTek is actively testing its own microkernel (the company calls it a “hyper-kernel”) for use in a new “bare iron” offering that will compete directly with VMware’s ESX Server (delivery is expected second half of 2007). Suddenly, all of the work InnoTek has put into modularity makes sense. With VirtualBox, InnoTek has the beginnings of a true ESX challenger, one that — when combined with open source licensing — should give VMware fits in the datacenter consolidation market.
Parallels Workstation for Windows 2.2
Parallels Workstation for Windows 2.2 is the sister product to the popular Parallels Desktop virtualization software for the Macintosh. Employing a lightweight hypervisor — a feature unique in this market segment — Parallels Workstation boasts impressive performance numbers for virtualized Windows and Linux desktops. Unfortunately, the product is somewhat thin on features, especially when compared to its more polished sibling. Missing are critical capabilities such as VM snapshots and simple NAT support. Also missing is support for 64-bit operating systems. Parallels, as currently constituted, is a 32-bit solution.
As I mentioned above, Parallels is the only product in this segment to employ a hypervisor — a thin layer of software that runs below the host OS and provides tighter integration between the guest OS and the system hardware. It’s a major architectural advantage for Parallels, one that pays off in the form of class-leading performance. Parallels outran all comers during multi-VM benchmark testing (see “Light makes right for VM performance”), especially in those tests involving heavy local disk I/O.
How far does Swift soar over Objective-C? Let us count the ways
Appboy's on-stage presentation at Demo Traction on April 22, 2015
Stanza's on-stage presentation at Demo Traction 2015
Sponsored by Nuage Networks
Sponsored by Fibre Channel Industry Association
Java has joined C and C++ as a programming language that has stood the test of time
These inventions are great! But be patient, 'cause they need a bit more time to be fully baked
Java synthesized sound ideas, repackaging them in a practical format that turned on a generation of...