The cloud is certainly extensive use of virtualization to create multiple virtual servers on a single physical server to be able to handle the demands of all users. The architecture of cloud computing provides one or more real servers, organized in order to ensure high reliability. The servers are physically located at the data center of the service provider, which exposes the interface and offers to manage their own services by virtual servers. The customer-administrator uses these interfaces to select the service request; such as a full virtual server or storage only, while the end customer uses the service configured by the customer-administrator. This summarizes the architecture of a cloud.
Engine of Your Cloud is The Hypervisor
The cloud is certainly the extensive use of virtualization technology to create multiple virtual servers on a single physical server to make it able to handle the demands of all the users. The concept on which is based the whole idea of virtualization is to hypervisor. Briefly see what a hypervisor, we basically wrote about before.
The hypervisor software, also known as Virtual Machine Monitor (VMM) is responsible for abstracting the individual operating systems (that is the virtual machines or VMs). One can distinguish few basic types of virtualization software. The first type, called software is simply installed on an operating system (OS) general-purpose and one can run virtual machines with limited access to the I/O (and normally without warranty of determinism). VMware Workstation is an example of a hosted virtualization software. The second type of software, is for ‘bare metal’, is installed at a lower level and does not depend on a host operating system for scheduling or hardware management. This type of hypervisor is very common in applications because it supports the execution of real-time operating systems and access to a wider variety of I / O (like PCI devices) with respect to the software hosted virtualization. The hypervisor provides hypercall for guest operating systems and applications. A hypervisor can be made up as a microkernel architecture, like based on Microsoft Hyper-V and VMware ESX as monolithic architecture for server virtualization.
A hypervisor-based microkernel includes only the basic functions and can not be modified, such as those for the management of physical memory and planning of processors. The device drivers and other modifiable components are not controlled by the hypervisor. A monolithic hypervisor implements all the functions mentioned above, including those device drivers; therefore, the code size of a hypervisor microkernel based on is lower than that of a monolithic hypervisor. Essentially, a hypervisor must be able to convert the physical devices in virtual resources dedicated to the deployed virtual machine to be used.
Engine of Your Cloud is The Hypervisor : Choice Matters
A fundamental step for the configuration of your server, the choice is crucial and therefore the main component of a system based on virtualization of resources, as we have already seen, once chosen you can not be changed it in the future (will be to drastic to change). The choice of hypervisor affects the availability (or non availability) of certain operating systems and they have different versions.
A piece of advice is definitely to check the supported operating systems for each hypervisor. Another parameter that can influence the choice of hypervisor is related to the ability to import virtual machine images, if one is already using locally: it is necessary to keep the hypervisor already used locally, because one can not export an image created by a particular type of hypervisor on a different one. Another discriminating factor are the tools which are made available by the hypervisor, which turn out to be a valuable aid in the management of the virtual machine. What tools are installed on the virtual machines are the key components for the correct execution of the cloud server such as drivers optimized for various devices installed on the server itself, as well as enabling the operation of the virtual machine or some device to provide even greater speed and ease in the management of virtual devices.