Version 3.1-en Solaris 10 Container Guide - 3.1 2. Functionality Effective: 30/11/2009
2.2. Virtualization technologies compared
[ug] Conventional data center technologies include
Applications on separate computers
This also includes multi-tier architectures with firewall, load balancing, web and application
servers and databases.
Applications on a network of computers
This includes distributed applications and job systems.
Many applications on a large computer
The separation of applications on computers simplifies the installation o f the applications but
increases administrative cost s since the operating systems must be installed several times and
maintained separately. Furthermore, computers are usually underutilized (< 30%).
Distributed applications are applications running simultaneously on several computers that
communicate (MPP computers, MPI software, etc.) via a network (TCP/IP, Infiniband, Myrinet, etc.).
For job systems, the computation is broken up into self- contained sub-jobs with dependencies and is
carried out on several computers by a job scheduler who also undertakes data transport (grid
system).
Both alternatives require high network capacity and appropriate applications and make sense only in
areas where the applications are already adapted to this type of computing. Modifying of an
application is a major step and is rarely performed for today's standard applications. But this
technology can become more interesting in the future with new applications.
The manner in which mainf rames and larger Unix systems are operated today is to run many
applications in one computer. The advantages are that the systems have a better workload (several
applications) and a lower number of operating system installations to be serviced. It is therefore
exactly this variant which is of interest for consolidation in the data center.
The challenges consist in creating an environment for the applications where the latter can run
independently (separation) while still sharing resources with each other to save costs. Particularly
interesting areas are:
Separation. How far separated are the environments of the applications?
Application. How does the application fit into the environment?
Effects on software maintenance
Effects on hardware maintenance
Delegation: Can administrative tasks be delegated to the environment?
Scaling of the environment?
Overhead of the virtualization technology?
Can different OS versions be used in the environments?
A variety of virtualization techniques were developed for this purpose and are presented below.
For comparison, see also: http://en.wikipedia.org/wiki/Virtualization
9