Chapter 6. Storage area network as a service for cloud computing
6.2 Virtualization and the cloud
6.2.2 Cloud platforms
There must be a platform that can handle putting multiple virtual servers into a single physical computer. This platform is called the
hypervisor
. This platform is a layer in the computer stack between the virtual and physical components.There are four core concepts in virtualization: encapsulation, isolation, partitioning, and hardware independence:
Encapsulation.
The entire machine becomes a set of files, and these files contain the operating system and application files plus the virtual machine configuration. The virtual machine files can be managed the same way that you manage other files.
Isolation.
Virtual machines (VMs) that run on a hardware platform cannot see or affect each other, so multiple applications can be run securely on a single server.
Partitioning.
VMware, for example, divides and actively manages the physical resources in the server to maintain optimum allocation.
Hardware independence.
The hypervisor provides a layer between the operating systems and hardware. This layer allows hardware from multiple vendors to run on the same physical resource, if the server is onHardware Compatibility List
.Chapter 6. Storage area network as a service for cloud computing 131
Figure 6-6 shows the virtualized environment.
Figure 6-6 Virtualized environment model
Server virtualization
There are three popular approaches to server virtualization: the virtual machine model, the paravirtual machine model, and virtualization at the operating system layer.
Virtual machines (VMs) are based on the host/guest paradigm. Each guest runs on a virtual implementation of the hardware layer. This approach allows the guest operating system to run without modifications. It also allows the administrator to create guests that use different operating systems. The guest has no knowledge of the host operating system because it is not aware that it is not running on real hardware. It does, however, require real computing resources from the host so it uses a hypervisor to coordinate instructions to the CPU.
The paravirtual machine (PVM) model is also based on the host/guest paradigm and it uses a virtual machine monitor (VMM). In the paravirtual machine model, however, the VMM actually modifies the code of the guest operating system. This modification is called
porting
. Porting supports the VMM so it can use privileged systems calls sparingly. Like virtual machines, paravirtual machines can run multiple operating systems. Xen and UML both use the paravirtual machine model.Virtualization at the OS level works a little differently. It is not based on the host/guest paradigm. In the OS level model, the host runs a single OS kernel as its core and exports the operating system functionality to each of the guests. Guests must use the same operating system as the host, although different distributions of the same system are allowed. This distributed architecture eliminates system calls between layers, which reduce CPU usage overhead. It also requires that each partition remains strictly isolated from its neighbors so that a failure or security breach in one partition is not able to affect any of the other partitions. In this model, common binary files and libraries on the same physical machine can be shared, allowing an OS-level virtual server to host thousands of guests at the same time. IBM AIX VIO and Solaris Zones both use OS-level virtualization.
Desktop Virtualization
This is sometimes referred to as
client virtualization
, and is defined as a virtualization technology that is used to separate a computer desktop environment from the physicalcomputer. Desktop virtualization is considered a type of client/server computing model because the virtualized desktop is stored on a centralized, or remote, server and not the physical machine that is being virtualized.
Desktop virtualization virtualizes desktop computers and these virtual desktop environments are “served” to users on the network. Users interact with a virtual desktop in the same way that a physical desktop is accessed and used. Another benefit of desktop virtualization is that it allows you to remotely log in to access your desktop from any location.
One of the most popular uses of desktop virtualization is in the data center, where personalized desktop images for each user are hosted on a data center server.
There are also options for using hosted virtual desktops, where the desktop virtualization services are provided to a business through a third party. The service provider provides the managed desktop configuration, security, and SAN.
Application Virtualization
Application virtualization
is just like desktop virtualization, where individual desktop sessions (OS and applications) are virtualized and run from a centralized server. However,Application
virtualization
virtualizes the applications so that it can either be run from a centralized server or it can be streamed from a central server and run in an isolated environment in the desktop itself.In the first type of application virtualization, the application image is loaded on to a central server and when a user requests the application, it is streamed to an isolated environment on the user’s computer for execution. The application starts running shortly after it gets sufficient data to start running, and since the application is isolated from other applications, there might not be any conflicts. The applications that can be downloaded can be restricted based on the user ID which is established by logging in to corporate directories such as Active Directory (AD) or Lightweight Directory Access Protocol (LDAP).
In the second type of application virtualization, the applications are loaded as an image in remote servers and they are run (executed) in the servers itself. Only the on-screen information that is required to be seen by the user is sent over the LAN. This is closer to desktop virtualization, but here only the application is virtualized instead of both the application and the operating system. The biggest advantage of this type of application virtualization is that it does not matter what the underlying OS is in the user’s computer because the applications are processed in the server. Another advantage is the effectiveness of mobile devices (mobile phones, tablet computers, and so on) that have lesser processing power while running processor hungry applications. This is because these applications are processed in the powerful processors of the servers.