|
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.xensource.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
|