Skip to main content

1.2.5 Hardware Virtualization

 Cloud computing services are usually backed by large-scale data centers composed of thousands of computers. Such data centers are built to serve many users and host many disparate applications. For this purpose, hardware virtualization can be considered as a perfect fit to overcome most operational issues of data center building and maintenance.

Hardware virtualization allows running multiple operating systems and software stacks on a single physical platform.



As depicted in Figure 1.2, a software layer, the virtual machine monitor (VMM), also called a hypervisor, mediates access to the physical hardware presenting to each guest operating system a virtual machine (VM), which is a set of virtual platform interfaces

The advent of several innovative technologies—multi-core chips, paravirtualization, hardware-assisted virtualization, and live migration of VMs—has contributed to increasing adoption of virtualization on server systems.

Traditionally, perceived benefits were improvements on sharing and utilization, better manageability, and higher reliability.

Researchers and practitioners have been emphasizing three basic capabilities regarding management of workload in a virtualized system, namely isolation, consolidation, and migration

Workload isolation is achieved since all program instructions are fully confined inside a VM, which leads to improvements in security. Better reliability is also achieved because software failures inside one VM do not affect others. Moreover, better performance control is attained since execution of one VM should not affect the performance of another VM.

The consolidation of several individual and heterogeneous workloads onto a single physical platform leads to better system utilization. This practice is also employed for overcoming potential software and hardware incompatibilities in case of upgrades, given that it is possible to run legacy and new operation systems concurrently

Workload migration, also referred to as application mobility, targets at facilitating hardware maintenance, load balancing, and disaster recovery. It is done by encapsulating a guest OS state within a VM and allowing it to be suspended, fully serialized, migrated to a different platform, and resumed immediately or preserved to be restored at a later date

A number of VMM platforms exist that are the basis of many utility orcloud computing environments. The most notable ones, VMWare, Xen, and KVM, are outlined below


VMWare ESXi. VMware is a pioneer in the virtualization market. Its ecosystem of tools ranges from server and desktop virtualization to high-level management tools. ESXi is a VMM from VMWare. It is a bare-metal hypervisor, meaning that it installs directly on the physical server, whereas others may require a host operating system. It provides advanced virtualization techniques of processor, memory, and I/O. Especially, through memory ballooning and page sharing, it can overcommit memory, thus increasing the density of VMs inside a single physical server.

Xen. The Xen hypervisor started as an open-source project and has served as a base to other virtualization products, both commercial and open-source. It has pioneered the para-virtualization* concept, on which the guest operating system, by means of a specialized kernel, can interact with the hypervisor, thus significantly improving performance. In addition to an open-source distribution [25], Xen currently forms the base of commercial hypervisors of a number of vendors, most notably Citrix XenServer and Oracle VM .

KVM. The kernel-based virtual machine (KVM) is a Linux virtualization subsystem. Is has been part of the mainline Linux kernel since version 2.6.20, thus being natively supported by several distributions. In addition, activities such as memory management and scheduling are carried out by existing kernel features, thus making KVM simpler and smaller than hypervisors that take control of the entire machine

KVM leverages hardware-assisted virtualization, which improves performance and allows it to support unmodified guest operating systems, currently, it supports several versions of Windows, Linux, and UNIX 



----------------

*paravirtualization is a type of virtualization where software instructions from the guest operating system running inside a virtual machine can use "hypercells" that communicate directly with the hypervisor. This provides an interface very similar to software running natively on the host hardware. 

Comments

Popular posts from this blog

2.1 VIRTUAL MACHINES PROVISIONING AND MANAGEABILITY

In this section, we will have an overview on the typical life cycle of VM and its major possible states of operation, which make the management and automation of VMs in virtual and cloud environments easier than in traditional computing environments As shown in Figure above, the cycle starts by a request delivered to the IT department, stating the requirement for creating a new server for a particular service.  IT administration to start seeing the servers’ resource pool, matching these resources with the requirements, and starting the provision of the needed virtual machine.  Once provisioned machine started, it is ready to provide the required service according to an SLA, or a time period after which the virtual is being released.

1.2 ROOTS OF CLOUD COMPUTING

We can track the roots of clouds computing by observing the advancement of several technologies, especially in hardware (virtualization, multi-core chips), Internet technologies (Web services, service-oriented architectures, Web 2.0), distributed computing (clusters, grids), and systems management (autonomic computing, data center automation).  Below Figure shows the convergence of technology fields that significantly advanced and contributed to the advent of cloud computing. . We present a closer look at the technologies that form the base of cloud computing, with the aim of providing a clearer picture of the cloud ecosystem as a whole. 1.2.1 From Mainframes to Clouds 1.2.2 SOA, Web Services, Web 2.0, and Mashups 1.2.3 Grid Computing 1.2.4 Utility Computing 1.2.5 Hardware Virtualization 1.2.6 Virtual Appliances and the Open Virtualization Format 1.2.7 Autonomic Computing ______ Cloud computing has its roots in several technologies and developments, including virtualization, gr...

2.1.1 VM Provisioning Process

  Steps to Provision VM. Here, we describe the common and normal steps of provisioning a virtual server: Firstly, you need to select a server from a pool of available servers (physical servers with enough capacity) along with the appropriate OS template you need to provision the virtual machine. Secondly, you need to load the appropriate software (operating system you selected in the previous step, device drivers, middleware, and theneeded applications for the service required). Thirdly, you need to customize and configure the machine (e.g., IP address, Gateway) to configure an associated network and storage resources. Finally, the virtual server is ready to start with its newly loaded software. These are the tasks required or being performed by an IT or a data center’s specialist to provision a particular virtual machine.