What is Virtualization?
Virtualization is the simulation of an operating system, server, storage, or network resource. It is a virtual computer system with simulated hardware and operating systems. All these processes are happening inside a computer. It is like a computer inside a computer.
Virtual Machines: What are they?
Virtual Machines are virtual environments that simulate a physical computer inside a software. Let’s call a Virtual Machine a VM.
A VM is an emulated equal of a computer system that runs on top of another system. Virtual Machines will be sharing resources with the computer itself.
If the virtual machine can get stored on a virtual disk, this is often referred to as a disk image. A disk image may contain the files for a virtual machine. It also may contain any other specific storage needs.
It has an isolated software container with an Operating System (OS) and application inside.
Each of the self-contained Virtual Machines is completely independent with each other. Putting many VMs on a single computer enables several operating systems.
Properties of Virtual Machines
- VMs run many operating systems on one physical machine
- VMs also divide the system resources among other functionalities that also uses the memory of the computer
- VMs provide the fault and security isolation at the hardware level
- VMs also preserve performance using advanced resource controls
- VMs save the entire state of a Virtual Machine into files
- VMs also enable “move” and “copy” functionality of Virtual Machines
- VMs make provision or migrate any virtual machine to any physical server.
Hypervisors: Why are they important to VMs?
A hypervisor is a program for creating and running virtual machines. It serves as an interface between the VM and the physical hardware. It also ensures that each has access to the physical resources it needs to execute.
It ensures that the Virtual Machines don’t interfere with each other by hogging from each other’s memory.
Types of Hypervisors
Bare Metal hypervisors (Type 1)
- They interact with the underlying physical resources, replacing the traditional operating system altogether.
- They are appearing in virtual server scenarios.
- They run guest virtual machines on a system’s hardware which can mimic as an operating system.
Hosted hypervisors (Type 2)
- They behave like traditional applications that can get started and stopped.
- Most used on endpoint devices to run alternative operating systems. They carry a performance overhead due to using the host OS to access the hardware resources.
Types of Virtualization
It lets you run any desktop OS, each in its own VM on the same computer
TWO TYPES OF DESKTOP VIRTUALIZATION
- Virtual Desktop Infrastructure (VDI) – It runs many desktops in Virtual Machine on the main server and streams them to users. In this way, VDI lets an organization provide its users access to a variety of OS from any device.
- Local Desktop Infrastructure – It runs a hypervisor on a local computer, enabling the user to run one or more extra OS on that computer. Then it also switches from one OS to another without modifying anything about the primary OS.
It uses software to create a view of the network that an admin can use to manage the network from a single console. It also abstracts hardware elements and functions like connections, switches, and routers. It also abstracts them into software running on a hypervisor.
TWO TYPES OF NETWORK VIRTUALIZATION
- Software-defined networking (SDN) – It virtualizes hardware that controls network traffic routing called the control plane
- Network function virtualization (NFV) – It virtualizes one or more hardware appliances that provide specific network functions. Examples of network functions are firewalls or traffic analyzers. Those make the appliances easier to configure, provision, and manage.
It enables all the storage devices on the network both on individual servers or storage. They can get accessed and managed as a single storage device.
It creates a software layer between the applications and the systems storing it. The layer translates an application’s data request or query as needed. And it also returns results that can span many systems. Data virtualization can help break down data silos. Meanwhile, other types of integration are not workable, desirable, or affordable.
It runs application software without installing it on the user’s OS. It is different from complete desktop virtualization due to the application running. Meanwhile, the OS on the end user’s device runs as usual
THREE TYPES OF APPLICATION VIRTUALIZATION
- Local application virtualization – It runs on the endpoint device but runs in a runtime environment instead of on the native hardware.
- Application streaming – It lives on a server which sends small components of the software to run on the end user’s device when needed.
- Server-based application virtualization – It runs on a server that sends only its user interface to the client device.
Data Center Virtualization
It abstracts most of a data center’s hardware into software. This enables an admin to divide a single data center. This caters to virtual data centers for different clients.
It is the fundamental technology that makes hypervisors, virtual machines, and OS possible. It allows a single CPU to get divided into many virtual CPUs for use by many Virtual Machines.
It is a special multi-core processor that improves computing performance. This gets done by taking over heavy-duty graphic or mathematical processing. It also lets many VMs use all or some of a single GPU’s processing power. This is for faster video, AI, and other graphic or math-intensive applications.
- Pass-through GPUs – It makes the entire GPU available to a single guest OS.
- Shared virtual GPUs – It divides physical GPU cores among several virtual GPUs for use by server-based VMs.
It includes its own hypervisor, called the kernel-based virtual machine (KVM). This gets done to support Intel and AMD’s virtualization processor extensions. This can create x86-based Virtual Machines from within a Linux OS.
The Cloud computing model depends on virtualization. By virtualizing servers and storage, cloud computing can offer many services to customers
THREE TYPES OF CLOUD VIRTUALIZATION SERVICES
- Infrastructure as a service (IaaS) – The virtualized servers, storage, and network resources that you can configure. This depends on their requirements.
- Platform as a service (PaaS) – The virtualized development tools, databases, and other cloud-based services get involved. You can use it to build your own cloud-based applications and solutions this way.
- Software as a service (SaaS) – Software applications you use on the cloud. SaaS is the cloud-based service most abstracted from the hardware.
Benefits of Virtualization
Server virtualization lets you run several applications on a single physical computer. This will not sacrifice reliability. This also enables the greatest use of physical hardware’s computing capacity.
The physical computers get replaced with software-defined VMs. It will make it easier to use and manage policies written in software. This allows you to create automated IT service management workflows.
The admins can run many redundant VMs alongside each other.
When the hardware is already in place, provisioning VMs to run all your applications is faster. Buying, installing, and configuring hardware for each application is very time-consuming. You can even automate it using management software. You can also build it into existing workflows.
It reduces the number of hardware servers necessary within a company and data center. This lowers the cost of buying and maintaining large amounts of hardware.
Disaster Recovery is much easier
Regular snapshots provide up-to-date data, allowing VMs to bet backed up on a scheduled basis, should recovery be necessary. A Virtual Machine can get migrated to a new location within minutes even in an emergency.
Automatic snapshots get taken all day to ensure that all data gets updated. Furthermore, Virtual Machines can get migrated between each other and redeployed.
There are fewer physical resources that result in less time maintaining the servers. The tasks which can take days or weeks in a physical environment now can get done in minutes and can be done remotely. This allows staff members to spend their time on other tasks.
It provides a cost-effective way to separate email, database, and web servers. This creates a more comprehensive and dependable system.
If the data center gets virtualized, then the process of deployment is quick and simple. Virtual backup tools are available to hurry the process of deployment to minutes.
Environment Friendly and Improved Energy Savings
With the decrease of servers used for data management, there is less risk of overheating. Virtualization helps reduce the effects of carbon footing. This can be achieved by decreasing the amount of cooling and power. This will help clean the air and the atmosphere.
Migration to the Cloud is easier
It brings companies closer to experiencing a completely cloud-based environment. VMs may even get deployed from the data center to build a cloud-based infrastructure.
No more Vendor Dependency
Virtual machines are agnostic in hardware configuration. Virtualizing hardware and software will not depend on a vendor as a result.