Taxonomy of virtualization techniques in cloud computing
Virtualization techniques can be categorized into several types based on the level of abstraction and the components involved.
- Hardware Virtualization
- Operating System Virtualization
- Application Virtualization
- Storage Virtualization
- Network Virtualization
- Memory Virtualization
- Hardware Assisted Virtualization
Hardware Virtualization
1. Full Virtualization
- In full virtualization, a hypervisor (also known as a Virtual Machine Monitor) sits between the hardware and the operating system, creating a complete virtualized environment.
- Virtual machines (VMs) run independent operating systems, unaware of the underlying hardware.
- Examples include VMware ESXi and Microsoft Hyper-V.
2. Para-Virtualization
- Para-virtualization involves modifying the guest operating system to make it aware of the virtualization layer.
- This collaboration between the hypervisor and the operating system results in improved performance compared to full virtualization.
- Xen is a common example of a para-virtualization hypervisor.
Operating System Virtualization
Containerization
- Containerization provides lightweight virtualization at the application level.
- Containers share the host operating system's kernel but maintain separate user spaces, allowing for efficient resource utilization and rapid application deployment.
- Docker and Kubernetes are popular containerization technologies.
What is Docker?
Docker is a containerization platform that empowers developers to bundle applications and their dependencies into containers.
What is Kubernetes?
- Kubernetes is an open-source container orchestration tool.
- It automates the process of deploying, scaling, and managing applications stored in containers.
- Kubernetes works seamlessly with container technologies like Docker.
Hardware-Assisted Virtualization
- Hardware-assisted virtualization utilizes specific features in modern processors to enhance virtualization performance.
- Intel VT-x and AMD-V are examples of hardware virtualization extensions that improve the efficiency of virtualized environments.
Network Virtualization
- Network virtualization abstracts networking resources, allowing the creation of virtual networks within a physical network infrastructure.
- VMware NSX and Open vSwitch are examples of technologies that provide network virtualization, enabling the isolation and segmentation of network traffic.
What is Vmware NSX?
VMware NSX is a network virtualization platform that abstracts networking resources.
What is Open vSwitch ?
Open vSwitch is an open-source software switch designed to be used as a virtual switch in virtualized server environments.
Application Virtualization
- Presentation virtualization, also known as application virtualization, separates the execution of software from the end-user device.
- The application runs on a server, and only the user interface is transmitted to the client.
- Example: Citrix XenApp is a presentation virtualization solution.
Memory Virtualization
- Memory virtualization allows the allocation of more virtual memory than physically available.
- Memory overcommitment techniques, such as page sharing and compression, optimize memory usage.
- Example: VMware ESXi uses memory overcommitment for efficient resource utilization.
Storage Virtualization
Block-level Virtualization
- Block-level virtualization abstracts storage devices into virtual blocks, allowing them to be managed independently.
- Example: Storage Area Networks (SANs) often use block-level virtualization.
File-level Virtualization
- File-level virtualization operates at the file system level, abstracting physical file locations.
- Example: Network Attached Storage (NAS) systems leverage file-level virtualization.
What is Hypervisor ?
- A hypervisor, also known as a virtual machine monitor (VMM), is a crucial component in the field of virtualization.
- It is software or firmware that enables the creation and management of virtual machines (VMs) on a physical host machine.
- The primary purpose of a hypervisor is to abstract and allocate the physical hardware resources.
Types of Hypervisors
- Type 1 Hypervisor (Bare-Metal Hypervisor)
- Installs directly on the hardware and operates without the need for a host operating system.
- Example: VMware ESXi, Microsoft Hyper-V Server, and Xen.
- Type 2 Hypervisor (Hosted Hypervisor)
- Installs on top of a host operating system and relies on it to manage hardware resources.
- Example: VMware Workstation, Oracle VirtualBox, and Parallels Desktop.
Conclusion
Understanding the taxonomy of virtualization techniques is crucial for making informed decisions about resource allocation and system architecture.