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:
- Xen
- VMware