Information technology has been experiencing exponential growth over the past decade. Initially Information technology found use in manufacturing automation and other highly specialized tasks. However, in the past decade, information technology has started to enter new regimes like social media and since then it has become a part of everyone’s daily life. This increased demand for information technology resources has created the enormous challenge of deploying and managing IT infrastructures in a larger scale. While, deploying and managing this large scale IT infrastructures is an issue, even bigger issue is the scaling up of the IT infrastructure. The server is one of the key hardware resources for an IT infrastructure. A typical server infrastructure contains
Server racks on which several servers are mounted.
High-speed network switches.
Air conditioning system.
Uninterruptible power supply (for short-term power outage).
Gasoline/Diesel Backup Generator (for long-term power outage).
For businesses whose core competency is not in IT field, it is a big capital investment to construct this server infrastructure and to maintain it. For these reasons businesses have started utilizing server farms hosted by companies that provide these types of IT services. A while back when few businesses were using outsourced servers for IT needs, it was manageable for the companies that provided server rental services. But because of the recent increased demand these server rental companies were struggling for the following reasons:
Large server farms consume a lot of electricity. Due to the increasing price of electricity, server hosting businesses have started to gain lower profits.
Each individual server in a server farm could be underutilized, causing wastage of valuable IT resources.
To address the two issues, a recent technology that has gained popularity is the cloud computing. The core technology that has made cloud computing possible is the hardware virtualization. This piece of the technology is called the Hypervisor. Cloud computing utilizes advanced high power server systems with large amounts of memory, storage and multiple processors. Hypervisor creates multiple virtual servers within a single physical server. Each virtual server could have its own Operating system (OS) installed. Many virtual servers can be operated simultaneously and independently of each other. Hypervisor enables the pooling of the processor and memory resources. Installing a Hypervisor on the host server enables it to run multiple operating systems simultaneously using virtualization. By using server virtualization, the number of physical servers could be reduced significantly.
”Virtualization is a technology that combines or divides computing resources to present one or many operating environments using methodologies like hardware and software partitioning or aggregation, partial or complete machine simulation, emulation, time-sharing, and many others” (Nanda & Chiueh, 2005).The different Virtualization levels of abstraction are Instruction set level, Hardware abstraction layer (HAL), OS level (system call interface), User-level library interface, or in the application level (Nanda & Chiueh, 2005). Virtual machine represents an operating environment for a set of user-level applications, which includes libraries, system call interface/service, system configurations, daemon processes, and files system state (Nanda & Chiueh, 2005). Hypervisor is a hardware abstraction layer virtualization. The general phenomenon is the same at any levels of virtualization that is it partitions the lower-level resources using some novel techniques to map to multiple higher level VMs transparently (Nanda & Chiueh, 2005).
Generally there are two types of Hypervisors:
Type 1 Hypervisor which runs directly on the system hardware. This is also known as bare metal approach Hypervisors.
Type 2 Hypervisor which runs on a host operating system which provides virtualization services such as I/O and memory management. This is also known as hosted approach Hypervisors.