TechSoup.org The place for nonprofits, charities, and libraries

Virtualization 101

Turn one computer into several using virtualization software

Virtualization 101 
Kevin Lo - January 19, 2011
Virtualization software can essentially turn one computer into several. We'll show you how virtualization works, what it can be used for, and a few virtual software packages for your nonprofit or library.

Imagine only being able to run one software program at a time on your computer. What if, in order to check your email, you had to turn off your office application? What if you had to close your PDF reader in order to use the Internet?

While we take for granted that we can use more than one software application at a time, we seldom consider running more than one operating system at once. Virtualization software — programs that allow you to run multiple operating systems simultaneously on a single computer — allows you to do just that. Using virtualization software, you can run multiple operating systems on one physical machine. The technology is now mainstream enough that it is a built-in feature in Windows 7 Professional and in Windows Server 2008 R2.

Below, we'll show you how virtualization software works, what it can be used for, and a few virtual software packages your nonprofit or library may wish to consider. Virtualizing can allow you to turn one computer into many, saving time, money, energy, and space.

The Virtual Experience

Running multiple operating systems is not a new concept. Since the early days of desktop computing, software engineers have found ways to do this using boot managers or boot loaders. Mac OS X includes Boot Camp which allows for a Windows operating system to be installed on an Apple machine. What makes virtualization software different is that it's a much simpler and straightforward process, and you can run multiple operating systems simultaneously.

Virtualization software runs like any other application. To get started, you power up your computer, load the virtualization program, and install an operating system from its install CD, DVD, or .iso file. In virtualization parlance, the main operating system is called the "host" operating system, and the secondary operating systems the "guest" operating system. Once the virtualization software is running, each subsequent operating system you install on your PC will act like a new computer. For instance, one computer might run a Linux server, two Windows servers, and three other Linux servers — for a total of six servers (five guests and one host) you could access at once. On the network, each server would appear as a unique system. You could run programs, share files, and do anything on these guest systems that you could do with a real computer. But, you've got the convenience and cost-savings of running all of them from one machine.

The Benefits of Virtualization

Depending on your IT architecture, the nature of your work, and your IT budget, virtualization software can offer a variety of advantages to your nonprofit or library.

Consolidate Servers
One of the primary benefits of virtualization software is that it allows you to increase the scale of your server infrastructure without purchasing additional pieces of hardware. This reduces "server sprawl" and allows resources to be used more efficiently. (Keep in mind, however, that you may still need to purchase software licenses for the virtualization software, depending on the package you choose.)
Conserve Energy
In addition to savings in hardware costs, virtualization software may also save you money on your energy bill. It's widely believed that the energy costs of running a server in a datacenter is more than the costs of acquiring it, which is why enterprises – especially those that offer their services in the cloud – are keen on using virtualization to minimize their operating costs.
Improve Ease of Management
Managing virtual machines is a lot easier than managing "real" machines, since hardware upgrades, for example, can be done using a management console application, rather than having to power down the machine, install the hardware, verify the change, then power up again. Moreover, managing virtual machines can often be done via the same console, reducing the time needed to deploy them.
Reduce Backup and Recovery Time
Since virtual machines are essentially files, backing up and restoring them is a lot less time-consuming than doing it on several individual machines. And while the files can be huge, a directory of many files is still easier to restore than a real machine of the same specifications. Moreover, hardware failures — such as a failed hard drive — will not affect virtual machines in the same way they would a physical machine. In addition, virtualization packages tout their backup and recovery functionality as a way to improve business continuity and resilience.
Test Software Configurations
Another way you can use virtualization software is for testing software configurations before deploying them on a live system. If you needed to verify whether a program is compatible with your existing setup, for example, you may try testing in on a virtual machine first. This can be immensely useful for organizations that have legacy systems or applications and must test out systems before deploying them. Virtual machines can also interact with one another in virtual networks, allowing you to test server-client applications virtually.
Maintain Legacy Applications
If you do have old applications that have compatibility issues with newer software or that must run on a certain version of an operating system, you can dedicate a virtual machine just for those tasks. That way, your IT architecture and planning won't be constrained because of a few applications.
Support a Cross-Platform Office

It is not uncommon for offices that run mostly Macs to need to run one or two Windows-only programs; in this case, virtual software can be an affordable, easy way to do this. Note, however, that the reverse is not applicable; many virtualization applications for PCs allow you to run Linux, but not Mac operating systems.

Despite its many benefits, keep in mind that virtualization software is not for everyone. There is a learning curve in both conceptualizing how virtual machines will function in your network and organization, as well as managing them reliably and cost-effectively. If your staff has trouble with physical computers, you may need to consider making sure which machine is the guest and which is the host extremely transparent to your users, or explaining to them in simple terms how this will affect their day-to-day work, if at all.

Virtualization Software Options

Virtualization software is available for a variety of needs, ranging from free or no-cost software for desktop users to six-figure packages for datacenter operators.

The package you choose will depend on what you need to accomplish with the technology. Other factors to consider include how many computers you currently have, your level of technical expertise, and the kind of tech support available at your nonprofit.

If your organization is considering virtualization technology, here are some popular options you may wish to consider. For a broader comparison of the features of these and other packages, Wikipedia's Comparison of Virtual Machines may provide a general reference as well.

VMWare
VMWare, by far the most popular virtualization software vendor in terms of range of offerings, market share, and expertise, offers everything from enterprise-level product suites to help manage and virtualize data centers to a free VMWare Player that allows you to create and use virtual machines. VMWare also offers virtual appliances, virtual machines you can download for free. VMWare additionally provides technical resources for setting up and using its various products. VMWare products run on both Windows and Unix/Linux variants, as well as on Mac.
Microsoft
As mentioned earlier, Microsoft provides a lot of free virtualization resources and tools, such as Microsoft Virtual Server and Virtual PC. If you are running only Windows desktops and servers, these products can be an affordable way to test whether virtualization should be part of your organization's IT strategy. Keep in mind, however, that Virtual Software and Virtual PC can only work with Windows guests and hosts, meaning they are not viable options for those who want to run Linux or Mac operating systems.
Citrix
Citrix, after acquiring the company that created and licensed the open-source virtualization package Xen, has become a major player in the field of virtualization. They offer packages for server consolidation, as well as more advanced desktop virtualization for enterprises.
Parallels
Best known for its Desktop for Mac — the first commercial virtualization product that could run on Mac OS hosts — Parallels also offers products that run on Windows and Linux hosts. They have a strong user base and their products garner positive reviews in terms of speed and user friendliness.
VirtualBox
As with many other software technologies, there are free and open-source alternatives to commercial virtualization software. Sun Microsystems' VirtualBox is the most popular package and supports a variety of guest and host systems. As it is supported commercially, its updates and bug fixes are addressed timely and frequently.

Virtualizing Forward

Even if your nonprofit or library doesn't currently have a need for virtualization software, knowing that the technology exists can help you plan for the future and may be a factor for future buying decisions. Virtualization has the potential to greatly streamline your organization's IT infrastructure and operational workflow, but it must be planned out with a clear understanding of its compatibility with your organization's present and future IT needs.

Image: Virtualization, Shutterstock