Virtualization
Introduction of Virtualization
-
- Virtualization in cloud computing is a fundamental technology that contributes to the agility, efficiency, and cost-effectiveness of cloud computing environments.
Definition of Virtualization
-
- Virtualization is a technology in cloud computing that allows one computer system to perform the functions of multiple computers by abstracting the physical hardware by creating virtual instances of computing resources and sharing these virtual resources across multiple users/environments.
Characteristics of Virtualization
-
- Cloud providers use the concept of virtualization to create a pool of computing resources that can be dynamically allocated and scaled based on demand.
- Virtualization is the major component of Cloud computing that allows cloud providers to deliver scalable and flexible services to users.
- Virtualization is applied to various aspects of IT infrastructure, including computing power, storage, and networking.
- Virtualization forms the basis for the dynamic and on-demand provisioning of resources that is characteristic of cloud services.
- A typical cloud computing structure has different types of virtualization:-
-
-
Server Virtualization
- Server virtualization involves creating multiple virtual servers on a single physical server.
- Each virtual server operates independently, with its own operating system and applications.
- Server Virtualisation allows for better resource utilization and isolation between different workloads.
- Server virtualization increases server efficiency, resource optimization, and the ability to run multiple applications on a single physical server.
-
Storage/Memory Virtualization
- Storage virtualization abstracts physical storage devices and presents them as a unified virtualized storage pool.
- Memory Virtualisation allows for more flexible and efficient management of storage resources.
- Storage Virtualisation simplified storage management, improved utilization of storage resources, and the ability to scale storage independently of physical hardware.
-
Network Virtualization
- Network virtualization involves creating virtual networks that operate independently of the underlying physical network infrastructure.
- Network Virtualization allows for the segmentation and isolation of network traffic.
- Network virtualization increases flexibility, improves network management, and the ability to create isolated network environments for different applications or tenants.
-
Desktop Virtualization/Virtual Desktop Infrastructure (VDI)
- Desktop virtualization involves running multiple virtual desktop instances on a centralized server.
- Users can access these virtual desktops remotely.
- Centralized desktop management, improved security, and the ability to provide remote access to desktop environments.
-
Application Virtualization
- Application virtualization allows applications to run in isolated environments, separate from the underlying operating system.
- Application virtualization enables the deployment of applications without conflicts and dependencies.
- Simplified application management, improved compatibility, and the ability to run different application versions concurrently.
-
Processor/CPU Virtualization
- CPU virtualization is one of the major components of virtualization technology that enables the sharing of a physical processor (CPU) across multiple virtual machines (VMs) or containers.
- Processor virtualization is a foundational technology in cloud computing, data centers, and modern IT infrastructure.
- CPU virtualization allows multiple operating systems and applications to run on a single physical CPU machine, enhancing resource utilization, flexibility, and efficiency.
- The primary goal of processor virtualization is to create the illusion that each virtualized instance (VM or container) has dedicated access to a physical processor.
- Each virtual machine in cloud computing is assigned one or more virtual CPUs (vCPUs), which are logical representations of the physical CPU. The hypervisor schedules and allocates time slices of the physical CPU to each vCPU, allowing multiple VMs to share the underlying processor.
- CPU scheduling plays a crucial role in processor virtualization. Here, the hypervisor uses scheduling algorithms to allocate CPU time to each virtual machine based on priority, fairness, and the overall demand for processing power.
- Time Division Multiplexing is a multiplexing technique used in processor virtualization to divide the physical CPU’s time into discrete intervals. Each virtual machine is allocated a portion of time during which it can execute its instructions on the CPU.
- CPU virtualization includes both full virtualization and paravirtualization.
-
Data Virtualization
- Data virtualization is a technology that abstracts, integrates, and presents data from multiple sources in a unified/federated form and easily consumable manner, without the need for physical consolidation.
- Data virtualization allows organizations to access and query data from diverse sources, such as databases, cloud storage, and external APIs as if it were stored in a single, centralized location.
- Data virtualization supports real-time or near-real-time access to data. Changes in the underlying data sources are reflected immediately in the virtualized layer, ensuring that users have access to the most up-to-date information.
- For Security and Governance in Data virtualization; authentication, authorization, and encryption mechanisms are performed.
- Data virtualization also performs effective metadata(such as data definitions, relationships, etc) management.
- Data virtualization platforms are designed to be scalable and flexible and hence they can adapt to changing data sources, business requirements, and user needs suddenly without requiring significant modifications to the underlying architecture.
- Data virtualization helps in self-service analytics by providing a unified and simplified view of data. Users, including business analysts and data scientists, can access and analyze data without deep technical knowledge of underlying data structures.
- Popular data virtualization platforms are Denodo, Informatica, and Microsoft SQL Server Data Virtualization.
-
Types of Virtualization
-
- There are two types of virtualization – (i) Para Virtualization and (ii) Full Virtualization
-
Full Virtualization
- It was developed by IBM in 1966.
- Full Virtualization is a virtualization technique that simulates an entire physical computer, including its hardware components, to create multiple virtual machines (VMs) that run independently on a single physical host.
- In this approach, the guest operating system is unaware that it’s running in a virtualized environment, as it interacts with virtualized hardware that emulates real hardware.
- Full virtualization is the unmodified OS and is unaware of the virtualization i.e., Full virtualization supports all the Guest OS without any change.
- Full virtualization is well-suited for scenarios where we need to run different operating systems on the same physical server, such as hosting multiple Windows and Linux VMs on a single machine.
- Full virtualization enables the Guest operating system to run independently hence full virtualization offers excellent isolation and security between VMs, making it suitable for scenarios like cloud computing and data center environments.
- Full virtualization performance is comparatively slower, less efficient, and less secure than paravirtualization.
- Full virtualization is more portable and adaptable than paravirtualization.
- VMWare and Microsoft virtual servers are examples of full virtualization.
-
Para Virtualization
- In contrast to full virtualization, where the guest operating system is unaware of the virtualization layer, paravirtualization requires modifications to the guest OS to enhance performance and efficiency with awareness of the virtualized environment.
- Paravirtualization requires guest OS to use a specific set of APIs to interact with the virtualization layer/hypervisor.
- The para-virtualized guest OS actively collaborates with the hypervisor, allowing for more efficient communication and resource management.
- By replacing certain instructions with hypercalls, paravirtualization reduces the overhead associated with virtualization. This results in improved performance compared to full virtualization.
- Paravirtualization can be particularly beneficial in scenarios where maximizing performance is a priority, such as in high-performance computing (HPC) environments or certain cloud computing setups.
- Examples of Paravirtualization are VMware, some versions of KVM (Kernel-based Virtual Machine), and Xen.
-
- There are two types of virtualization – (i) Para Virtualization and (ii) Full Virtualization
Benefits of Virtualization
-
-
Resource Optimization: Virtualization enables the efficient utilization and management of computing resources by abstracting the physical hardware and creating virtual instances of computing resources, reducing idle time and optimizing performance.
-
Flexibility and Scalability: Virtualization allows for the rapid provisioning and scaling of resources to meet changing workload demands.
-
Isolation: Virtualization provides isolation between different virtual instances, enhancing security and preventing interference between workloads.
-
Cost Savings: By consolidating multiple virtual instances on a single physical server, organizations can achieve cost savings through reduced hardware and energy consumption.
-
Agility and Speed: Virtualization accelerates the deployment of new applications and services, contributing to greater agility(quick and fast) in IT operations.
-
Hypervisors
- A hypervisor, also known as a virtual machine monitor (VMM), is a software or hardware component that creates and manages virtual machines (VMs).
- These virtual machines are isolated, independent instances of an operating system (OS) and associated applications, running on a physical host machine.
- The primary purpose of a hypervisor is to enable the efficient sharing of physical computing resources among multiple virtual environments.
- The process of virtualization creates a layer, known as a hypervisor or virtual machine monitor, that sits between the hardware and the operating systems running on the virtual machines. This layer enables the abstraction and isolation of multiple virtual instances, each running its own operating system and applications.
- Hypervisors are widely used in server virtualization, desktop virtualization, and cloud computing environments.
- Hypervisors play a crucial role in optimizing hardware utilization, enabling easier management of resources, and providing flexibility in deploying and scaling virtualized workloads.
- The choice of use of (between Type 1 and Type 2) hypervisors depends on factors such as performance requirements, system architecture, and specific use cases.
Features/Functions of Hypervisors
There are some common features/functions of Hypervisors:-
-
Virtualization of Resources: Hypervisors virtualize the physical hardware resources of the host machine, such as CPU, memory, storage, and network interfaces, creating virtual equivalents for each VM.
-
Isolation: Each virtual machine operates independently or without affecting others, providing isolation and security. Failures or issues in one VM do not affect others.
-
Resource Allocation: Hypervisors manage the allocation of resources to virtual machines based on predefined configurations or dynamically adjusting resources as needed.
-
Hardware Abstraction: Hypervisors abstract the underlying hardware, allowing multiple operating systems and applications to run on the same physical machine.
-
Snapshot and Cloning: Hypervisors often provide features like snapshotting, which allows the capture of the VM’s current state for backup or rollback purposes, and cloning, which creates identical copies of VMs.
-
Live Migration: Some hypervisors support live migration, allowing VMs to be moved from one physical host to another with minimal downtime.
Types of Hypervisors
There are two main types of hypervisors:
-
Type 1 Hypervisor (Bare-Metal Hypervisor)
- A Type 1 hypervisor is installed directly on the physical hardware of the host system.
- It operates independently of any host operating system, providing direct access to the underlying hardware.
- Examples are VMware ESXi, Microsoft Hyper-V (when installed on bare metal), KVM (Kernel-based Virtual Machine), Xen, etc.
-
Type 2 Hypervisor (Hosted Hypervisor)
- A Type 2 hypervisor is installed on top of a host operating system.
- It interacts with the host operating system to manage virtual machines.
- Examples are VMware Workstation, Oracle VirtualBox, Microsoft Hyper-V (when installed on top of Windows), etc.
Microsoft Hyper-V
- Microsoft Hyper-V is a Type 1 hypervisor-based virtualization platform developed by Microsoft.
- Microsoft Hyper-V enables the creation and management of virtual machines (VMs) on Windows-based systems.
- Hyper-V is commonly used in enterprise environments, data centers, and cloud computing scenarios, allowing organizations to consolidate workloads, improve resource utilization, and create isolated environments for testing and development.
- Microsoft Hyper-V is part of Microsoft’s virtualization and cloud computing strategy, offering a robust and scalable platform for organizations seeking to leverage virtualization technologies.
- The key features of Microsoft Hyper-V:
-
- Hyper-V is a Type 1 hypervisor, also known as a bare-metal hypervisor.
- Hyper-V runs directly on the hardware of the host system without the need for a host operating system.
- Hyper-V provides efficient access to physical resources.
- Hyper-V can be installed as a standalone hypervisor on Windows Server editions or as a role on Windows 10/11 Pro, Enterprise, or Education editions. The standalone version is commonly used in server environments, while the role-based version is suitable for desktop and development scenarios.
- Hyper-V integrates tightly with the Windows operating system.
- Administrators can manage Hyper-V and virtual machines using tools such as Hyper-V Manager, PowerShell, and the Hyper-V module in Windows Admin Center.
- Hyper-V supports virtual machines running various operating systems, including Windows, Linux, and other guest OS types. Integration services enhance the performance and functionality of guest VMs.
- Hyper-V includes a feature known as Dynamic Memory, which allows the hypervisor to allocate and deallocate memory based on the workload requirements of virtual machines. This helps optimize memory usage across VMs.
- Hyper-V supports live migration, allowing administrators to move running virtual machines from one host to another without service interruption. This helps balance workloads and facilitates maintenance activities.
- Hyper-V creates replicas that provide asynchronous replication of virtual machines to a secondary host, offering a disaster recovery solution. In the event of a failure, the replica VM can be activated on the secondary host.
- Hyper-V supports network virtualization, enabling the creation of isolated virtual networks for different tenants or departments. This enhances network segmentation and security.
- Hyper-V supports nested virtualization, allowing virtual machines to run within virtual machines. This is useful for scenarios such as testing and development.
- Hyper-V integrates with Microsoft Azure, enabling hybrid cloud scenarios. Administrators can use Azure services and features in conjunction with on-premises Hyper-V deployments.
VMware
- VMware stands for ‘Virtual Machine‘ ware which creates a virtual machine on our computer.
- VMware is a virtualization and cloud computing software provider, now (from 2016) a subsidiary of Dell Technologies based in Palo Alto, California. Founded in 1998.
- VMware is a global leader in virtualization and cloud computing solutions. The VMware company provides a range of products and services that enable organizations to virtualize their computing infrastructure, enhance efficiency, and build flexible and scalable IT environments.
- VMware develops virtualization software. Virtualization software creates an abstraction layer over computer hardware that allows the hardware elements of a single computer – processors, memory, storage, and more to be divided into multiple virtual computers, commonly called virtual machines (VMs).
- VMware software runs on standard x86-based hardware with 64-bit Intel and AMD processors, and on 64-bit Windows or Linux host operating systems.
- VMware can help businesses better manage their resources due to virtualization and make them more effective and efficient including reduced IT costs.
- VMware provides better disaster recovery, cost savings, greater resource utilization, scalability, security, and flexibility.
- VMware offers a hypervisor known as VMware ESXi, which is a Type 1 hypervisor that runs directly on the hardware. ESXi allows the creation and management of virtual machines on a host system.
- VMware’s solutions are widely adopted by enterprises for server virtualization, desktop virtualization, and cloud infrastructure management. The company’s technologies play a crucial role in helping organizations achieve greater flexibility, scalability, and efficiency in their IT operations.
- VMware has a comprehensive suite of virtualization products called vSphere that includes ESXi, vCenter Server (management platform), and additional features for managing and optimizing virtualized environments.
- VMware has a centralized management platform called vCenterServer that allows administrators to manage multiple ESXi hosts and virtual machines from a single interface. It provides features for resource management, performance monitoring, and automation.
0 Comments