news / tech talk

Virtual Computing

by Lee LeClair
As seen in Inside Tucson Business

There has been a great deal of interest lately in virtual computing for a variety of reasons. Virtual Machines or VMs are becoming common even in the mainstream public consciousness due to consumers like Apple users who still require some Windows-only programs. Programs like Parallels for the Mac have allowed new-to-Apple users to switch more comfortably as well as allowing Apple die-hards to interface with the corporate world more easily and seamlessly. For more advanced users, VMs provide a way to gain the advantage of programs written for other platforms. A primarily Windows-based user can have a Linux-based VM which provides access to a rich library of open-source programs unavailable on Windows. Likewise, a geeky Linux user can work with a less enlightened employer’s Windows Powerpoint slides without risking his employment by simply running them in a VM.

For businesses, VMs can have several benefits. More efficient utilization of hardware is a large benefit. If a company needs to operate several systems but none of them is under a heavy load, then using a single server to operate 3-4 VMs becomes very attractive. The wide adoption of 64 bit computing platforms means that servers can be equipped with large tracts of memory that can support many VMs per processing board. For companies that perform software development, a VM’s ability to take “snapshots” or a point-in-time backup of the system allows some great flexibility in trying different “what if” scenarios and/or testing scenarios. VMs are portable too so once a capability is established within a VM, the VM image can be sent electronically or on a hard drive to another location and run from there.

There are multiple VM vendors in the market and more entering. VMware is probably the most well-known right now, but Microsoft is entering the market with a more serious product and will no doubt use its muscle effectively. Others include: Virtual Iron, Parallels, Xen, OpenVZ. The various types apply different trade-offs to meet different performance/compatibility/use goals. Some run with near native performance but generally trade-off some other aspect of convenience in doing so. The technologies are improving though and recent announcements of improved efficiency appear promising. VM players are also popular, allowing consumers and businesses alike to try pre-built VM images that illustrate some interesting feature or capability with little fuss to the end user. And VM players are typically free; they simply don’t allow for modification of the pre-built image.

How does a VM work? They are essentially an emulation environment that has created a defined set of interfaces to the real world but the VM is internally consistent for any software you load into it. As far as the software is concerned, there is an audio controller, network card, graphics card, etc. VMs typically give you a couple of options for how to run the network interface of the virtual system, either as a bridged network device or as a device running behind network address translation (NAT) interface.

A mundane use I have described in the past is the use of a VM as a way to provide a safe way to browse the Internet, especially for virus prone family members (like my nephew). It’s easier for me to maintain as well since if the VM becomes compromised, it’s a simple matter to revert to a previous state rather than rebuilding the entire computer, a process I have become horribly familiar with. Keep in mind that VM images of retail software require a license for the VM just as though it were real hardware. This isn’t an issue if the VM will run Linux or FreeBSD but it is an issue if you’re going to run Windows. If you have some time and plenty of memory and hard disk, give it a try.
