by using virtualization.
At other times, there is a need for servers that do not exist and that will not be
needed in the long term. For example, a statistics department might have a
one-time need for extra processing power for a big project. It would take a
long time to set up a dedicated server, and it is hard to justify the effort for a
one-time task.
What if a system administrator could easily create and destroy servers for a
specific task, making them appear, completely configured, as needed and then
making them disappear when the need no longer exists, freeing up the
physical resources for other uses? He can do so by using virtualization.
Networks of physical servers can be created using virtualization, where the
physical resources of the servers are pooled together and then passed out as
designated by an administrator. It is as if, instead of having 10 servers, each
with 4 processors, 8GB of RAM, and 100GB of physical disk storage, you
now have one huge resource pool with 40 processors, 80GB of RAM, and
1TB of disk space. Virtual machines can then use these resources.
A virtual machine (VM) is a computer that operates on top of a virtualization
layer, often called a hypervisor. It isn’t real in the sense that it runs on
defined, discrete physical resources, but it does all of the same tasks as a
“real” computer. The virtualization layer on which the VM runs defines a set
of virtual interfaces for the VM, which appear to the VM’s operating system
as if they were real network cards, memory, hard drives, and so on. In a sense,
virtualization fools the guest operating system in the VM into thinking it is
running on specific physical equipment that is emulated by the virtualization
software, while the virtualization software takes care of the details of
interacting with the actual hardware, which may even change without
affecting the VM. This is called hardware emulation (or sometimes simply
emulation).
Virtual machines are flexible; their allocated resources may be changed—and
in some cases without any downtime. A VM can be created quickly, as
needed, and then removed when it is no longer needed, to make the resources
it was using once again available to the pool. Servers that are vital but
generally use few resources can be created using far fewer resources than
required for the physical servers in the pool. Others that are needed for larger
tasks might be able to take advantage of the resources of many physical
servers in the pool.
It is possible to create a VM and then save its image so that instead of starting
with operating system installation each time a VM is created, the VM starts
up with a full operating system and installed programs all configured to work