Datasheet

Chapter 1: Overview of Virtualization
20
Simplified System Installation and Deployment
The previous section discussed using virtual machines as a mechanism for testing kernel or driver
development efforts. Virtualization also provides a fast, flexible, and cost - effective solution for deploying
new systems, depending on the speed and memory available on your server system. Using virtual
machines can simplify deploying new systems by enabling you to use a single filesystem image as the
basis for all new installations. To install a new system, you can simply create a new virtual machine by
cloning that filesystem and starting a new instance of a virtual machine that uses the new filesystem.
The ability to host users and customers on private virtual machines can also be used to simplify
infrastructure for businesses that require large numbers of systems that are often extensively customized
by their users. For example, linode.com (
www.linode.com/ ) uses User - Mode Linux to provide
completely customizable servers to their customers. This type of virtualization enables each user to have
root access to his or her machine and complete control over the machine s execution and software
environments. This is a significant step up from hosting environments that simply provide operating
system level virtual hosts to their customers. The use of full virtual machines also makes it possible to
offer any virtualizable operating system to such customers, rather than having to share a kernel and thus
limiting customers to various flavors of Linux, BSD, and so on.
When using full virtual machines to deploy new systems, the ability to migrate virtual machines from
one host to another can also prove an asset when you’re using virtual machines as a system deployment
mechanism. Having a development system that is independent from a specific physical hardware
platform can make life simpler and more productive for developers by making it easy to migrate those
systems to be hosted in faster, more powerful machines, systems with better peripherals, and so on. Of
course, whether or not migration is possible depends on the configuration and specific hardware
requirements of each virtual machine, but can easily be guaranteed through clever planning and good
virtual system design.
Finally, desktop virtualization simplifies deploying new systems by reducing the amount of software
that needs to be installed locally. Enabling users to share a common set of software that is installed on a
central server system requires careful attention to licensing issues to ensure that you do not violate the
terms of each software license. These types of issues can often be solved through the use of open source
software, eliminating the licensing issue, or through the use of floating licenses, which are on - demand
licenses that are stored in a central pool and are temporarily assigned to users as they actually use
the software.
Increasing centralization of shared resources and the standardization of deployed systems can provide
significant advantages for system administrators. Regardless of whether you feel that desktop
virtualization is a bandwagon use of the term or a true example of virtualization, deploying light -
weight desktop systems and using rdesktop, Microsoft s Terminal Server, or similar packages to connect
to a central server simplifies per - system software installation, reduces downtime because all desktop
systems are completely interchangeable, and simplifies system administration tasks such as backups by
ensuring that no important, required, or personal files are stored on local disks.
Simplified System and Application Testing
Besides server consolidation and associated savings in hardware and infrastructure costs, software
system test and quality assurance environments are the biggest beneficiaries of virtualization. System-test
and quality-assurance groups typically need to be able to test a specific software product on many
c01.indd 20c01.indd 20 12/14/07 3:57:26 PM12/14/07 3:57:26 PM