What is virtualization?
Virtualization enables multiple operating systems, applications, or resources to run on a single physical machine or server, creating a virtual environment isolated from the underlying physical hardware. In a virtualized environment, each virtual resource operates as if running on a dedicated physical machine, even though it may be sharing hardware resources with other virtual resources.
You achieve virtualization through a hypervisor, a software layer that runs on the physical machine or server and manages the virtualized resources. The hypervisor abstracts the underlying physical hardware, presenting it to the virtual resources as virtualized hardware resources.
Virtualization can be used in many different contexts, including server virtualization, desktop virtualization, storage virtualization, and network virtualization. Each type of virtualization enables organizations to improve resource utilization, management, flexibility, and cost-effectiveness while providing users with greater accessibility and mobility.
Building a virtualized system involves using software to create an abstraction layer over the hardware that enables each hardware element, for instant, processors, storage, and memory, to create a set of virtual computers or virtual machines. Each virtual machine runs an independent operating system and emulates an independent computer on the part of the underlying real machine.
Today, virtualization is a fundamental technology used to improve resource utilization, reduce hardware costs, and increase flexibility and scalability.
Although a current topic, it has a long and rich history that dates back to the 1960s. Some important milestones in its evolution include:
Early mainframe virtualization
In the 1960s, IBM pioneered virtualization on mainframe computers by developing the IBM System/360. This allowed multiple operating systems to run simultaneously on a single mainframe, improving resource utilization and reducing costs.
Virtualization on Unix systems
In the 1970s and 1980s, Unix operating systems began to support virtualization through chroot, a system call that changes the root directory of a process, allowing it to run in its virtual environment.
In the 1990s, emulation-based virtualization emerged as a way to run software designed for one operating system on another. This was made possible by using software emulators that could translate the instructions of one operating system into those of another.
In the early 2000s, hardware-assisted virtualization technology, such as Intel Virtualization Technology and AMD Virtualization, was introduced. This technology allowed virtualization software to run directly on the CPU, improving performance and reducing overhead.
The rise of server virtualization
In the mid-2000s, server virtualization became more popular by introducing products such as VMware ESX Server and Microsoft Hyper-V. These products enabled multiple virtual machines to run on a single physical server, improving resource utilization and reducing hardware costs.
Virtualization in the cloud
In recent years, virtualization has become a key technology in cloud computing, enabling virtualized infrastructure creation and service delivery through the cloud.
Virtual machines and hypervisors
A virtual machine (VM) is a software emulation of a computer system. It allows multiple operating systems to run on a single physical machine by providing each operating system with a virtualized set of hardware resources such as CPU, memory, storage, and networking. This enables users to run multiple operating systems simultaneously on a single physical machine, providing greater flexibility and resource utilization.
A hypervisor, also known as a virtual machine manager, is software that enables virtualization by creating and managing virtual machines. The hypervisor sits between the physical hardware and the virtual machines, providing an abstraction layer that allows each VM to operate as if it were running on its physical machine.
There are two types of hypervisors: Type 1 and Type 2.
Type 1 hypervisor
Run directly on the host machine’s hardware and are also known as bare-metal hypervisors.
Examples of Type 1 hypervisors include VMware ESXi, Microsoft Hyper-V, and Citrix XenServer.
Type 2 hypervisor
Run on top of an existing operating system and are known as hosted hypervisors.
Examples of Type 2 hypervisors include Oracle VirtualBox, VMware Workstation, and Parallels Desktop
Hypervisors are essential in cloud computing, where virtualization is a key technology for delivering scalable and flexible infrastructure. They provide the foundation for building and managing virtualized environments, enabling organizations to consolidate servers, reduce hardware costs, and improve resource utilization.
What is a virtualized environment?
A virtualized environment is a software-based representation of a physical computing environment created through virtualization, such as a server, storage device, or network. In a virtualized environment, multiple virtual instances of these resources can run on a single physical machine, allowing for more efficient use of hardware and resources.
Virtualized environments are created using software that allows multiple virtual machines or containers to be made and run on a single physical server. Each virtual machine or container runs its operating system and applications and can be configured and managed independently of other virtual machines or containers on the same physical server.
Virtualized environments are used in various applications, from server virtualization to cloud computing to desktop virtualization. They provide several benefits, including increased resource utilization, improved scalability and flexibility, reduced hardware costs, and enhanced security and availability.
Virtualized environments are vital to modern IT infrastructure, enabling organizations to optimize resource utilization and reduce costs while providing greater flexibility, scalability, and security.
What are the benefits of virtualization?
Virtualization provides several benefits to organizations, including:
Virtualization enables multiple virtual machines or containers to run on a single physical server, maximizing resource utilization and reducing hardware costs.
Virtualization allows for the quick and easy deployment of new virtual machines or containers, providing increased flexibility and agility in responding to changing business needs
Virtualization enables organizations to scale their computing resources up or down on demand, providing greater scalability and resource elasticity.
Virtualization enables the creation of isolated virtual environments, enhancing security by reducing the risk of malware or other security threats spreading across different systems.
Virtualization can reduce operating costs by streamlining IT management and reducing the need for physical infrastructure.
Virtualization enables features like live migration and high availability, improving application availability and reducing downtime.
Overall, virtualization is a powerful technology that can help organizations to optimize their IT infrastructure, improve resource utilization, and reduce costs while providing greater flexibility, scalability, and security.
There are several solutions available today, including:
- Server virtualization: Allows multiple virtual machines to run on a single physical server, maximizing resource utilization and reducing hardware costs.
- Desktop virtualization: Allows multiple virtual desktops to run on a single physical machine, enabling remote access and central management of desktop environments.
- Application virtualization: Enables applications to be encapsulated and isolated within a virtualized environment, providing greater security and compatibility with different operating systems and hardware platforms.
- Storage virtualization: Enables multiple physical storage devices to be abstracted into a single virtual storage pool, providing greater flexibility and scalability in managing storage resources.
- Network virtualization: Enables the creation of multiple virtual networks that run on a single physical network infrastructure, providing greater flexibility and control over network resources.
- Cloud computing: Provides on-demand access to shared computing resources, including servers, storage, and applications, over the internet.
These solutions provide organizations with greater flexibility, scalability, and efficiency in managing their IT infrastructure while reducing costs and improving security and availability.
Server virtualization enables multiple virtual machines to run on a single physical server, allowing for greater resource utilization and flexibility in managing server environments. In server virtualization, each virtual machine is a self-contained environment with its own operating system, applications, and virtualized hardware resources.
Server virtualization is typically deployed using a hypervisor, a software layer that runs on the physical server and allows multiple virtual machines to run on top of it. The hypervisor abstracts the physical server’s hardware resources, such as CPU, memory, and storage, and presents them to each virtual machine as virtualized hardware resources.
Server virtualization provides several benefits, including:
- Improved server utilization: Enables multiple virtual machines to run on a single physical server, improving server utilization and reducing hardware costs.
- Greater flexibility: Enables administrators to quickly and easily create, configure, and manage virtual machines, providing greater flexibility in managing server environments.
- Improved server availability: Enables virtual machines to be migrated between physical servers without downtime, providing improved availability and continuity of service.
- Reduced energy consumption: Can reduce energy consumption by consolidating multiple physical servers into a smaller number of virtualized servers.
- Improved disaster recovery: Enables virtual machines to be easily backed up and replicated, improving disaster recovery capabilities and reducing the risk of data loss.
Server virtualization can help organizations to improve server utilization, flexibility, availability, energy efficiency, and disaster recovery capabilities while reducing hardware and management costs.
Virtual server case study
This leading UK university had a large and complex IT infrastructure, with over 700 physical servers across multiple departments and locations. Managing and maintaining this infrastructure was a significant challenge for the IT department, and there was a need for a more efficient and cost-effective solution.
The University decided to implement a virtual server infrastructure. The solution involved creating virtual servers that could be hosted on a centralized server infrastructure, providing centralized management and improved resource utilization.
The implementation of the virtual server infrastructure resulted in several benefits:
- Cost savings: The virtual server infrastructure enabled the University to reduce hardware and software costs and maintenance and support costs. This resulted in significant cost savings for the University.
- Improved resource utilization: The virtual server infrastructure allowed the University to utilize its computing resources better, as multiple virtual servers could be hosted on a single physical server. This resulted in improved resource utilization and reduced power consumption.
- Increased flexibility: The virtual server infrastructure provided increased flexibility, as virtual servers could be quickly provisioned, moved, and resized. This enabled the University to respond better to changing business needs.
- Simplified management: The centralized management of the virtual server infrastructure made it easier for the IT department to manage and maintain the University’s IT infrastructure.
Implementing the virtual server infrastructure using virtualization technology provided significant benefits for the University, including cost savings, improved resource utilization, increased flexibility, and simplified management.
Desktop virtualization enables multiple virtual desktops to run on a single physical machine or server, allowing for centralized management and remote access to desktop environments. In desktop virtualization, each virtual desktop is a self-contained environment with its own operating system, applications, and user settings.
Desktop virtualization is typically deployed in one of two ways:
- Virtual desktop infrastructure (VDI): In VDI, each user is assigned a virtual desktop that runs on a centralized server. Users access their virtual desktops remotely over the network using a thin client device or a web browser.
- Desktop as a Service (DaaS): In DaaS, virtual desktops are hosted in the cloud and accessed over the internet. Users can access their virtual desktops from any device with an internet connection.
Desktop virtualization provides several benefits, including:
- Simplified desktop management: Provides centralized management of desktop environments, allowing administrators to deploy, update, and maintain desktops easily.
- Improved security: Enables the creation of isolated virtual environments for each user, reducing the risk of malware or other security threats spreading across different systems.
- Greater flexibility: Allows users to access their desktop environments from any device with an internet connection, providing greater flexibility and mobility.
- Reduced hardware costs: Can reduce hardware costs by allowing multiple virtual desktops to run on a single physical machine or server.
- Reduced software costs: Can reduce software licensing costs by allowing administrators to manage software installations and updates more easily.
Desktop virtualization can help organizations improve desktop management, security, flexibility, and cost-effectiveness while providing users with greater accessibility and mobility.
Virtual desktop infrastructure case study
This municipality in California had a large and complex IT infrastructure, with over 12,000 desktops and laptops spread across multiple departments and locations. Managing and maintaining this infrastructure was a significant challenge for the IT department, and there was a need for a more efficient and cost-effective solution.
They decided to implement a VDI solution that involved creating virtual desktops that users could access from any device without needing physical desktops or laptops. In addition, the virtual desktops were hosted on a centralized server infrastructure, which provided centralized management and improved security.
The implementation of the VDI solution resulted in several benefits:
- Cost savings: Enabled the city to reduce hardware and software costs and maintenance and support costs. This resulted in significant cost savings for the city.
- Improved security: Provided better protection for the city’s data and applications, as all data was stored on centralized servers rather than individual desktops and laptops.
- Increased productivity: Enabled employees to access their desktops and applications from anywhere, improving productivity and flexibility.
- Simplified management: Centralized management of the VDI solution made it easier for the IT department to manage and maintain the city’s IT infrastructure.
Implementing the VDI solution provided significant benefits for the city, including cost savings, improved security, increased productivity, and simplified management.
Get secure data and apps to users without the VDI headaches.
Application virtualization creates a virtualized environment where an application can run independently of the underlying operating system and hardware. Instead of installing the application directly onto the host operating system, it is encapsulated and isolated within a virtualized environment that provides all the necessary resources it needs to run.
In application virtualization, the application is packaged with all its dependencies and configuration settings and then delivered to the end user as a self-contained unit. You can deploy the virtualized environment on a local machine or in the cloud, and the application can be accessed and used remotely from any device with an internet connection.
The many benefits of application virtualization are beyond doubt. For example:
- Delivery of applications is much quicker and easier
- You can centralise application management
- Applications can be accessed anywhere
- There is no need to “install” applications on end points anymore
- You can run multiple versions of the same application for multiple versions of Windows
- No user interruption for updates
- Reduced compatibility testing
To take advantage of these and other benefits, organisations going down the route of application virtualization are often hindered in their efforts to get maximum value due to a few key issues:
- Difficulty in finding IT professionals who have virtualization or application packaging expertise
If you do get lucky and find one or two, they don’t come cheap. These specialists need to have a deep understanding of the Windows file systems registry and software installation process as well as a really good nose for hunting out badly written applications so they install and run properly without prior knowledge of these applications.
- The actual process of application virtualization is time consuming.
Even with the most highly skilled application specialist the industry average is still some 2.5 applications per day. And because people don’t work 24 hours a day, take holidays and occasionally get sick, projects can quickly stretch to weeks and months.
- Hofstadter’s Law: It always takes longer than you expect, even when you take into account Hofstadter’s Law. Estimating how long complex tasks, such as application virtualization, can take is no where near an exact science. Automating the process can not only reduce the delays but should also reduce costs significantly
Storage virtualization enables multiple physical storage devices to be abstracted into a single virtual storage pool, which can be easily managed and allocated to different applications and users. Storage virtualization decouples the logical storage view from the physical storage devices, allowing administrators to manage storage resources more efficiently and effectively.
The virtual storage pool is created by aggregating the capacity of multiple physical storage devices, such as hard disk drives, solid-state drives, or network-attached storage (NAS) systems. The virtual storage pool is presented to the user or application as a single logical storage device, which can be allocated and managed independently of the physical storage devices.
Storage virtualization provides several benefits, including:
- Increased storage utilization: Allows administrators to more efficiently use their storage resources by pooling the capacity of multiple physical storage devices and allocating it to different applications and users as needed.
- Improved storage management: Provides a centralized management interface for all storage resources, simplifying the management and allocation of storage resources.
- Improved data availability: Enables the creation of redundant data copies and snapshots, improving data availability and reducing the risk of data loss.
- Improved scalability: Enables administrators to easily add or remove storage devices as needed, providing greater scalability and flexibility in managing storage resources.
- Reduced storage costs: Can help reduce storage costs by enabling administrators to manage their resources more effectively and reduce the need for additional physical storage devices.
Storage virtualization can help organizations to improve storage utilization, management, availability, scalability, and cost-effectiveness.
Network virtualization creates multiple virtual networks that run on a single physical network infrastructure. It enables the abstraction of network resources, such as bandwidth, switches, routers, and firewalls, from the underlying hardware, allowing multiple virtual networks to coexist and operate independently on a shared physical network.
Virtual networks are created by dividing the physical network into logical segments, each with virtual switches, routers, and other network services. This allows network administrators to configure and manage virtual networks independently, providing greater flexibility and control over the network.
Network virtualization can also provide several benefits, such as improved network performance, increased scalability, and reduced operational costs. It can also enable the creation of isolated virtual networks, improving security and privacy for users and applications.
Network virtualization is a powerful tool that can help organizations to optimize their network infrastructure, improve network performance and security, and streamline network management.
Cloud virtualization creates multiple virtual machines (VMs) or containers that run on a cloud infrastructure. It is a crucial component of cloud computing, which provides on-demand access to shared computing resources, including servers, storage, and applications, over the internet.
Cloud virtualization enables the creation of multiple VMs or containers on a single physical server, allowing users to maximize resource utilization and reduce infrastructure costs. Each VM or container runs its own operating system and applications and can be configured and managed independently of other VMs or containers on the same server.
Cloud virtualization also provides several benefits, such as increased flexibility, scalability, and reliability. It allows users to quickly provision and de-provision computing resources on-demand, enabling them to respond rapidly to changing business needs. It also provides a level of isolation between VMs or containers, which can improve security and stability.
Cloud virtualization is a critical component of cloud computing, enabling users to leverage the power of shared computing resources in a flexible, scalable, and cost-effective manner.
Virtualization in action
Virtualization has had a significant impact on the way that organizations deploy and manage their IT infrastructure. Some real-world examples of the impact of virtualization include:
- Server consolidation: Allows organizations to consolidate multiple physical servers into a single server running multiple virtual machines. This has reduced hardware costs, lowered power consumption, and simplified management.
- Disaster recovery: Makes it easier for organizations to implement disaster recovery solutions by replicating virtual machines in off-site locations. This reduces the risk of data loss and downtime in a disaster.
- Test and development environments: Allows organizations to create and manage test and development environments more efficiently by quickly deploying and tearing down virtual machines. This has led to faster development cycles and improved software quality.
- Cloud computing: Virtualization is a key technology used in cloud computing, allowing cloud providers to offer their customers scalable and flexible infrastructure services. This has made it easier for organizations to deploy and manage their IT infrastructure without investing in expensive hardware.
- Desktop virtualization: Used to provide virtual desktops to users, allowing them to access their desktop environment from any device. This has increased employee mobility and flexibility while simplifying desktop management.
Virtualization enables organizations to reduce costs, increase efficiency, and improve flexibility and scalability.
What is the difference between virtualization and containerization?
Virtualization and containerization are two different approaches to managing software applications and resources.
Virtualization creates a virtualized environment that is isolated from the underlying physical hardware. In this approach, a hypervisor creates multiple virtual machines (VMs) with its own operating system, applications, and resources. The VMs are entirely isolated from each other and the physical hardware, allowing them to run different operating systems or applications on the same physical machine.
Containerization uses container technology to create isolated environments for applications to run. Containers share the same underlying operating system and resources as the host system. Still, each container is isolated from other containers running on the same host. As a result, containers provide a lightweight and portable way to package and deploy applications without needing an entire operating system and virtual machine.
The main difference between virtualization and containerization is the level of isolation provided. Virtualization provides complete isolation, with each VM having its own virtualized hardware and operating system. In contrast, containerization provides a lighter and more efficient form of isolation, with each container sharing the same operating system as the host but still being isolated from other containers.
Virtualization is typically used for running multiple operating systems or legacy applications on a single physical machine. In contrast, containerization is used for deploying and managing modern applications in a more agile and efficient way. In addition, you can use both virtualization and containerization together to create more complex and flexible computing environments.