Microsoft Virtualization for the i Guys, Revisited
Published: July 8, 2009
by Michael Sansoterra
Some time ago, in an article entitled Developers Don't Despair: Virtualize Your PC, I listed the benefits of using PC emulation software such as Microsoft's Virtual PC or VMware's VMware Workstation.
In particular, I discussed why an IBM i specialist may find using a virtualized workstation helpful. These terrific products allow users to create a variety of operating system (OS) and software configurations without having to buy or revamp existing hardware. Best of all, the VMware Workstation is relatively low cost, and Microsoft's Virtual PC product is free.
As a brief reminder about Virtual PC, if you struggle with supporting various workstation and PC software configurations in your work environment, it may be time to start using Virtual PC (or Virtual Server if you want to centralize access to these machines among multiple personnel). When I last wrote about Virtual PC, Virtual PC 2004 was the latest released product. Virtual PC 2007 is the current product, and Windows Virtual PC (for Windows 7) is now in beta.
For the record, Windows Virtual PC promises some cool new features, including:
- The ability for a VM to access USB devices and smart cards
- Higher video resolution (up to 2048 x 1920)
- "Seamless application publishing and launching"
If I'm interpreting this last feature correctly, this means a Windows XP compatible application can be installed and run on Windows 7. If true, this will allow i developers to install older versions of iSeries Access or a product like WDSc 7 in Windows 7 and run it right from the Windows 7 desktop. In the past, AS/400 developers have been stuck with older versions of Windows OSs due to software compatibility issues. (Although, with all the problems I've had with Vista, maybe it was a blessing to stay on XP!)
I'd like to round out this prior discussion of virtualization products by mentioning another free Microsoft virtualization product: Virtual Server 2005 R2. Virtual Server has many of the same features as Virtual PC, but with a few advantages:
- Complete accessibility by ActiveX interface, which means various features can be controlled via script or programming language
- It Is better suited for running multiple Virtual Machine
- When installed on a server, it is easier to share virtual machine definitions among many users or developers (especially useful for developers who don't have powerful enough workstations to run Virtual PC)
- A Web-based administration tool allows servers to be configured remotely
- SCSI drive support
- Finer control over allocation of resources
Whereas Virtual PC has its own Windows user interface (UI) for defining and running its virtual machines, Virtual Server exposes its UI via a browser. Figure 1 shows a picture of an Internet Explorer administrative browser session with one Virtual Machine defined.
Figure 2 shows a picture of a Windows Server 2008 virtual machine (VM) running in a browser using the "remote control" feature. Although Virtual Server is generally installed on a server machine, it can also be run on a desktop OS such as Windows XP or Vista. The VM instance in this figure is running on my local Windows Vista machine. Personally, I've found the Web browser interface a little clumsy. Incidentally, Internet Explorer is required because the remote control function uses an ActiveX control. When connecting to a Virtual Server Virtual Machine, I usually end up using the standard Windows remote desktop client instead of the IE remote control.
Why might an IBM i guy want to use Virtual Server? Many production environments involve installing System i Access on a Windows server in conjunction with terminal services, SQL Server with ODBC connectivity, an IIS Web application using an OLE DB provider, etc. As we all know, sometimes upgrading to the next major version of Windows or System i Access (or both) can introduce problems. Having a virtualized environment allows for easy testing and tweaking without fooling around with server hardware. It can also be used as a sandbox for learning new technologies or tinkering or testing new ideas. I recently used Virtual Server on my Vista PC (4GB RAM, 2.13GHz CPU) to run 32-bit Windows Server 2008 with Microsoft SharePoint as a way to familiarize myself with SharePoint.
The good news is that Virtual PC and Virtual Server currently share common file formats so you can, in theory, share computer definitions between the two (with a few caveats, see the References listed at the end of this article).
The drawback of both of these Microsoft products is that neither can host 64-bit operating systems. If you need to do testing with a 64-bit OS, this is a job better left to Microsoft's Hyper-V Server product, which requires one of the Windows Server 2008 64-bit editions. Hyper-V Server is the software behemoth's latest offering in the server virtualization arena.
Whatever product you end up using, please remember that virtual machines are somewhat limited in their capacity to use the host PC's hardware. Just because you have a screaming video card or cool USB devices doesn't necessarily mean your virtual machine can take advantage of them. Virtual Server 2005 doesn't even have emulated sound card support!
One other big thing to remember is that even though these virtualization products are free, the guest OS is not necessarily free. This means if you use Virtual Server to run an instance of Windows Server 2008, you need a license for Windows Server 2008. Of course, this takes a bite out of the excitement of using a virtualization product.
However, if you're looking to run one or more Microsoft OS as a guest OS, consider purchasing a Microsoft Developer Network (MSDN) subscription. A MSDN subscription grants a single user an annual contract (starting at about $700) to use multiple instances of Microsoft software (including OS, development environments, SQL Server, Office, etc.) for development, test and demonstration purposes (not production, though). Also, if your company owns a license for one of the Windows Server 2008 editions, you already have a license for one or more Virtual Machine instances using Hyper-V.
Having a virtualized environment provides a great way for i specialists to perform various testing and user support scenarios. These are just a few benefits of virtualization to developers and support personnel. Other virtualization benefits, depending on the environment, can include less hardware, ease of OS deployment, potential for improved backup, and better existing hardware utilization. If you haven't started tinkering with virtualization yet, one of these free Microsoft products is a great way to start.
Michael Sansoterra is a programmer/analyst for i3 Business Solutions, an IT services firm based in Grand Rapids, Michigan. Send your questions or comments for Mike to Ted Holt via the IT Jungle Contact page.
RELATED STORY AND REFERENCES
Developers Don't Despair: Virtualize Your PC
Virtual PC vs. Virtual Server Feature Comparison
Virtual Server or Virtual PC?
Post this story to del.icio.us
Post this story to Digg
Post this story to Slashdot