Print Edition
      June-July 2007
Email    Print    Feedback

The virtual reality

By Yves Godbout
Illustration: Blair Kelly

Virtualization isn’t new, but it is becoming more prevalent and has implications for servers, user PCs and applications

In this day and age, most of us have a computer powerful enough to handle most of the applications we need and use. Making sure you have the right hardware, the right drivers and an application compatible with your operating system can be a chal-lenge. In a corporate environment invariably there is a di-versity of hardware and users with different requirements. Virtualization — not a new technology but increasingly more available — is worthy of attention in businesses. Common in IBM mainframes in the 1970s, virtualization is becoming more prevalent in the PC-based arena and has implications for servers, user PCs and applications.

As of November 2006, IDC, an IT research organization, estimated that 45% of all servers purchased in 2006 would be virtualized and that the technology is used by three-quarters of firms with more than 500 employees. This technology also makes sense for some smaller businesses.

Virtualization makes it possible to use just one physical machine to run many platforms (or operating systems) and to make more efficient use of the hardware’s capacity. Each of these operating systems runs within its secure sandbox. With virtualization, you can improve resource allocation, allow for online migration of applications from one server to another and offer developers a safer environment for debugging and testing new applications.

The major virtualization solutions rely on a thin piece of software known as a hypervisor, which sits on top of the primary operating system and allocates resources to the guest operating systems. Microsoft and market leader VMware develop and market proprietary hypervisors. The competing hypervisor provider is the open-source Xen hypervisor used by XenSource and Virtual Iron.

It’s easy to make a compelling business case for virtualization. It can reduce your total cost of ownership (TCO) and provide a positive return on investment (ROI). (For more information on the factors that make up the business case for virtualization, please see www.camagazine.com/virtualization.)

Virtualization brings us closer to utility computing. We simply add hardware centrally and make better use of the hardware in the enterprise. This makes planning for new applications and machines much simpler and more flexible. The data centre can be more responsive to client needs, as deploying a new server can be as easy as copying a file on a server and starting up an instance.

Some key advantages can be found in the areas where virtualization can be implemented, including server consolidation, testing or lab environment, disaster recovery and high-availability computing.

Server consolidation allows you to condense or combine many applications using fewer machines. Having multiple virtual servers on one machine lowers the number of machines without incurring the risk of combining noncompatible applications on the same operating system instance. At the same time you can provide for more capacity to machines that normally would not be candidates for a newer server given their business importance.

Virtual machines are natural candidates in a test or lab environment. Testing and development should probably be where you first experiment with virtualization in business. The risk is small and the savings can be significant.

In the area of disaster recovery, the advantages may not be obvious, but they are real. Just think, for a medium-sized business, most business-critical applications could be run on a virtual server in an off-site facility in case of a disaster. This means buying one server for disaster recovery — no need to have multiple machines that would duplicate the primary site.

Virtualization technology also allows for high-availability environments. In order to implement high availability in a traditional environment you need to have a full machine standing by to take over in the event of a failure on another physical server. With virtual machines, the server can be moved from one machine to another without the user being aware the machine is being moved. Implementing high availability with physical servers is expensive but is part of most virtual server installations and requires minimal investment beyond the cost of hardware.

Virtualization really shines when used for servers. In a virtual-server environment, you can have multiple servers running on a single machine. There are many suppliers of virtual servers in-cluding Microsoft, VMWare and Xen. Most suppliers have a free version of their server virtualization software, but to gain maximum benefit, you will need to buy a premium product.

A premium product is essentially a very lean, highly efficient operating system that provides a layer of abstraction between the real hardware and the guest operating systems running on it. The virtualization software supports multiple hardware configurations that can be different. The table (above right) shows an example of what a virtual server host could look like.

This server could comfortably host up to 16 guest servers, which can vary from Windows NT 4.0, Windows 2000, Windows 2003, Windows 2003 R2, RedHat Linux, SUSE Linux or whatever else you need. Each of the servers can be configured to use a specific amount of resources including memory, CPU and disk.

This is an ideal configuration to host a multitude of small applications. However it could have difficulty in providing the performance required for an exchange server for a large company or a heavily used database server in a production environment. It would be acceptable in development or test environments.

Although you can have many copies of a single operating system running on a single machine, you might need to license the software for each virtual machine. For example in a Windows Server environment, if you have five Windows 2003 virtual servers running, you need five server licences. The licensing implications must be verified for each server you deploy. Virtualization lets you save on hardware costs but the cost of software must be factored in.

Server sprawl can occur if there is a tendency to create a new virtual server without undergoing the required analysis to determine if the application could not be installed on an existing server. Bear in mind that all servers, virtual or real, incur overhead in the form of software licensing costs, memory, processing power and maintenance overhead.

No discussion on virtualization would be complete without talking about virtual PCs or applications.

Virtual server host snapshot

CPU          2 x Dual Core Intel Xeon
Memory   16 GB RAM
Disk          5 x 136 GB RAID 5 (544 GB usable)
Network  2 x 1 GB Network adapters


Virtual PCs have a place in business, but virtualization has only limited applicability for most users. A virtual PC is really a complete self-contained PC running on a host operating system. For example, you can have a Windows XP PC running in a window on a PC running Windows Vista. The virtual Windows XP PC has a known set of functionality and can be copied from machine to machine as a virtual PC is typically a file that runs with virtual PC software. Because of this, it does not depend on the hardware it is running on. The virtual PC typically has a standard set of drivers for networking, display, sound and hard drives independent of the hardware environment it is running on.

Just as you can install a virtual machine on a server, you can install a virtual application on your PC. In reality, it is not uncommon to install an application on your PC only to have that application misbehave and wreak havoc on your system. The whole installation process needs to be debugged and the machine restored to a good state. That is the problem that virtual applications or software virtualization tries to solve.

Virtualization holds an important place in corporate IT. It is a technology that only is beginning to be utilized, one with real potential to drive down the cost of IT. It can even allow for better use of existing hardware. While it may not help in prolonging the life of an IT infrastructure, it can help make better use of it.

The business case for virtualization
All of the words that can make for a compelling business case appear when we talk about virtualization. Virtualization can reduce your total cost of ownership (TCO) and provide for a positive return on investment (ROI).

TCO
The impact on TCO is huge. Total cost of ownership in IT not only includes the cost of the hardware and software, but the installation and maintenance of the computers or servers. Running multiple servers takes time and energy to configure and maintain. The staff time required to set up a server can be significant. In a virtual world, a standard server can be configured and ready to go within minutes.

In a server environment, it is not uncommon to have many servers running applications. This is done for ease of installation and performance reasons. The down side is that we end up with machines running at only 5 to 10 percent of their capacity, thereby wasting computing power and resources. In a virtual server situation, we make more effective use of the hardware. It is not uncommon to have a virtual server with several machines running at over 50 percent capacity.

Fewer servers, more standard installation and easier deployment mean lower total cost of ownership.

ROI
Although a properly configured virtual server host will probably cost more than a single purpose server, it can be used to run multiple environments. The only incremental cost is the cost of the virtualization software and of the guest operating systems. In simple terms, you could pay three times the cost of a standard server and use it to run up to 16 virtual machines. Your results will vary, but the math is simple.

Hardware costs
Hardware costs are part of the ROI calculation, but we need to mention that there are other costs related to hardware that we tend to underestimate. Other costs including the cost for power, cooling, racks and office space are real costs and must be considered. By using virtualization, we reduce the number of machines thereby saving on all of these.

Environmentally friendly
An unexpected bonus is the environmental impact of virtualization. We have fewer machines therefore there are fewer machines to dispose of in landfill sites. The power and cooling savings result in reduced use of energy, which has a positive impact on our use of renewable resources and therefore on the environment.

Cometh the virtual PC
Virtual PCs have a place in business, but virtualization has only limited applicability for most users. A virtual PC is really a complete self contained PC running on a host operating system. As an example, you can have a Windows XP PC running in a window on a PC running Windows Vista. The virtual Windows XP PC has a known set of functionality and can be copied from machine to machine since a virtual PC is typically a file that runs with virtual PC software. By virtue of this, it does not depend on the hardware it is running on. The virtual PC typically has a standard set of drivers for networking, display, sound and hard drives independent of the hardware environment you have it running on.

Pretty cool when you think of it, but imagine the potential. If you have an application that is really finicky you can run it within a virtual PC without too much difficulty. If you support a helpdesk environment, you can run a virtual PC for all of the environments you support in order to better assist users. An example of this would be a help desk that supports Windows Vista and Windows XP in English and French. Rather than having four reference PCs, the analyst could have one with quick access to three additional virtual PCs – all running on the same hardware.

The other environment where a virtual PC is useful is in the development area. Developers may need to have a web server, a database server to develop the application and a different or more standard workstation setup for testing; this is all possible with virtual PCs. And all of this can run on the developer’s workstation and all at the same time.

Virtual machines are easy to move from machine to machine since a virtual machine is contained in a small number of data files so if you configure the machine you want, you can easily revert to it at any time. This is vital for testing since if you want to test the installation of an application you can do it easily without the risk of damaging the configuration on a production machine.

Virtual PCs are much more readily available now. Microsoft has a Virtual PC product which is available for download if you use Windows Vista, there is also a free virtual PC player available from VMWare. Be advised however that if you want to get all the benefits from virtual PCs you will need to buy a virtual PC application from VMWare or Parallels who supply richer virtual PC implementations.

Application Virtualization
Just like installing a virtual machine on a server, you can install a virtual application on your PC. In real life, it is not uncommon to install an application on your PC only to have that application misbehave and wreak havoc on your system. The whole install process needs to be debugged and the machine restored to a previous “good” state. That is the problem that virtual applications or software virtualization tries to solve.

With application virtualization, you create an install package that becomes portable and self contained. The package, usually a single EXE file, can run the complete application without the requirement to “install” the application on the desktop. This is not to be confused with Citrix, Terminal services or Remote Desktop. The application resides on the host desktop, but it is “self-contained”.

When you execute the application, the required components are deployed in a secure virtual environment for the application. This eliminates the need for the installation of DLLs, eliminating DLL hell, and does not require the modification of the Windows Registry thereby, eliminating conflicts with other applications. This technology can be used for a multitude of applications including applications as complex and as intricate to the operating system as Microsoft Office. This kind of makes one wonder why all applications are not sold this way by software manufacturers.

Virtual applications are especially useful in the corporate environment since packages can be created to run on a host of operating systems – one install, many operating systems. For example, you can create a package to deploy a specialized application which will not disrupt the host system but can run in Windows 2000, Windows XP and in Vista. One install, multiple platforms.

With this technology in a corporate environment, the configuration of the PC a user is using can be made irrelevant. When the user connects to the network, he or she can get full access to the required applications without having to “install” the applications on the machine they are using. You get all of the applications you use, when and where you want them.

This technology makes software more available to users and much simpler to deploy. Software deployment requires significant time, testing and effort; these tools make it much easier. There are a few suppliers of this technology, Altiris, Thinstall, Trigence and Softricity to name the major players. Softricity was recently acquired by Microsoft and their offering is called Softgrid.

Reference – Key virtual market players

Virtual Servers
VMware http://www.vmware.com/
Microsoft Virtual Server http://www.microsoft.com/windowsserversystem/virtualserver/default.mspx
Parallels http://www.parallels.com/


Hypervisor Servers
Xen Source http://www.parallels.com/
Virtual Iron http://www.virtualiron.com

Virtual PCs
VMware http://www.vmware.com/
Microsoft Virtual PC http://www.microsoft.com/windows/virtualpc/default.mspx
Parallels http://www.parallels.com/


Application Virtualization
Microsoft Softgrid (Softricity) http://www.softricity.com/
Altiris SVS http://www.altiris.com
Thinstall http://www.thinstall.com/
Trigence http://www.trigence.com/


Yves Godbout, CA•IT, CA•CISA, is the director of IT services with the Office of the Auditor General of Canada. He has extensive experience in information technologies as they apply to the enterprise and in audit and is the chair of the CICA Alliance for Excellence in Information Technology. Godbout is also Technical editor for technology

CAmagazine - Centennial - 1911-2011

Classifieds

Calendar of Events