Virtualization in Cloud Computing

Virtualization technology is one of the fundamental components of cloud computing.

Virtualization allows the creation of a secure, customizable, and isolated execution environment for running applications.

Virtualization provides and abstract environment virtual hardware or an operating system to run applications.

Virtualization plays a fundamental role in efficiently delivering IaaS solutions for cloud computing

Virtualization also provides virtual envirionment for storage, memory, and networking.

For example, We can run Windows OS on top of a virtual machine, which itself is running on Linux OS.

Following are the causes for Virtualization technology in demand:

1. Increased performance and computing capacity:

Now a days computers are enough capable to support virtualization tecnologies.

2. Underutilized hardware and software resources: 

Most of the computers are used during office hours only, so after office hours these resources can be used for other works too.

3. Lack of space:

Due to aditional storage requiredments compnies such as Google and Microsoft expending their data centers. where virtualization technology provides additional capabilities to these data centers.

4. Greening initiatives:  

Maintaining a data center involves keeping servers on and servers needs to be keep cool. Infrastructures for cooling have a significant impact on the carbon footprint of a data center. Hence, reducing the number of servers through server consolidation will definitely reduce the impact of cooling and power consumption of a data center. Virtualization technologies can provide an efficient way of consolidating servers. 

5. Rise of administrative costs: 

Power consumption and cooling costs have now become higher than the cost of IT equipment.

Some types of virtualization:

1. Storage virtualization: 

Storage virtualization is the pooling of physical storage from multiple storage devices into what appears to be a single storage device.

2. Network virtualization:

Network virtualization refers to the management and monitoring of an entire computer network as a single administrative entity from a single software-based administrator’s console.

3. Desktop virtualization:

Desktop virtualization is technology that lets users simulate a workstation load to access a desktop from a connected device remotely or locally.

4. Application server virtualization: 

Application server virtualization abstracts a collection of application servers that provide the same services as a single virtual application server.

Advantages of virtualization:

1. Increased security:

The ability to control the execution of a guest in a completely transparent manner opens new possibilities for delivering a secure, controlled execution environment.

2. Managed execution:

Provides sharing, aggregation, emulation, isolation etc.

3. Prtability: 

User works can be safely moved and executed on top of different virtual machines. 

Disadvantages of virtualization:

1. Performance degradation: 

Since virtualization interposes an abstraction layer between the guest and the host, the guest can experience increased latencies.

2. Inefficiency and degraded user experience:

Some of the specific features of the host cannot be exposed by the abstraction layer and then become inaccessible.

3. Security holes and new threats: 

Virtualization opens the door to a new and unexpected form of phishing. In case of hardware virtualization, malicious programs can preload themselves before the operating system and act as a thin virtual machine manager.

Virtualization technology examples:

  1. Xen
  2. VMware