Concept of Virtualization
Published: 2024-04-11 16:45:13


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zna1r0kxjvno98cf1lft.jpg)
### What is Virtualization?

Virtualization is a technology you can use to create a virtual representation of servers, networks, storage and other physical machines.

It uses a software known as hypervisor to mimic the functions of physical hardware to run multiple virtual machines concomitantly on a single physical machine.

Businesses take advantage of virtualization to use their hardware resources efficiently and to get greater returns from their investments. It also powers cloud computing services that helps organizations manage their infrastructures more efficiently.

### Why is virtualization important?

1. It gives you the ability to interact with hardware resources with greater flexibility
2. Physical servers consume electricity, take up storage space, and need maintenance. Virtualization eliminates the aforementioned challenges by abstracting the physical systems into a software
3. If you want to access physical systems, you are often limited by proximity and network design. With Virtualization, you can access your servers from anywhere using your host machine. You can manage, maintain, and use your hardware infrastructure like an app on the web.

Virtual Machines and Hypervisors are 2 important concepts in Virtualization.

**Virtual Machine aka VM:** A virtual machine is a software-defined computer that runs on a physical computer with a separate operating system and computing resources. In virtualization, the physical machine is known as the host machine, while the virtual machines are called the guest machines. You can run multiple VMs on a single physical machine. Virtual machines are abstracted from the computer hardware by a hypervisor.

**Hypervisor:** A hypervisor is software application for managing multiple VMs. It ensures that each VM gets its allocated resources and does not interfere with the operations of the other VMs. It is the software layer that acts as an intermediary between the VMs and the underlying hardware or the host operating system.

There are two types of hypervisors: 
1. **Type 1 hypervisor:** This is also known as bare-metal hypervisor. It is a hypervisor program installed directly on the computer's hardware instead of the operating system. It is said to have better performance and commonly used by enterprise applications. KVM uses the type 1 hypervisor to host multiple VMs on the Linux operating system.

2. **Type 2 hypervisor:** It is also known as hosted hypervisor. This is installed on the operating system. It is suitable for end-user computing.

### Benefits of Virtualization

1. **Automated IT Management** - Since the physical machines are now virtual, you can configure and manage them using software tools.
2. **Efficient Resource Use** - Instead of having one server on a computer system, you can create a virtual server pool on that computer system by using and returning servers to the pool as required.
3. **Faster Disaster Recovery** - When the physical server is affected by natural disaster or cyberattacks, regaining access to IT infrastructure and replacing or fixing the physical server can take a long time. But with virtualization, this process takes few minutes which improves efficiency and facilitates business continuity so that operations can continue as scheduled. 

### Types of Virtualization

1. **Server Virtualization** - This is the process of partitioning a physical server into multiple virtual servers. It is efficient and cost-effective.
2. **Storage Virtualization** - This consolidates all your physical data storage into a single large unit of virtual storage that you can assign and control using management software tools. IT admins can now decide on how to streamline the storage activities, such as archiving, backup and recovery, because they have the liberty to consolidate multiple network storage devices virtually into a single storage device.
3. **Network Virtualization** - Any computer network has hardware elements such as switches,  routers, and firewalls. An organization that has offices in multiple geographic locations can have several different network technologies that makes up its enterprise network. Network virtualization is the process of consolidating all these network resources to centralize administrative tasks. Admins can adjust and control these elements virtually without touching the physical devices, which greatly simplifies network management. There are 2 approaches to network virtualization; they are Software-defined networking and Network function virtualization.
4. **Data Virtualization** - Modern organizations collect data from several sources and store them in different formats. They might also store data in different places such as a cloud infrastructure or an on-premise data center. Data virtualization provides a software later between this data and the applications that needs it. Data virtualization tools processes an application data request and returns results in a suitable format. 
5. **Application Virtualization** - This type of virtualization pulls out the functions of applications to run on operating systems other than the operating systems for which they were designed. For example, you can run a Microsoft window application on a Linux machine without changing the machine configuration. This is the technology behind containerization.
6. **Desktop Virtualization** - You run different desktop operating systems using this type of virtualization. E.g you could have windows 10 for your customer service team, and window vista for your sales team. There are 2 type of desktop virtualization; they are Virtual Desktop Infrastructure and Local Desktop Virtualization. 

This is just a succinct explanation of what virtualization is all about.
I hope you learnt a thing or two.