Virtualization is the process of running a virtual instance of a computer system in an abstract layer of the physical hardware.
It ensures efficient utilization of physical computer hardware and is the foundation of cloud computing.
Virtualization uses a software to create an abstraction layer over computer hardware that allows the hardware elements of a single computer such as processor, memory , storage and more to be divided into multiple virtual computers , commonly called virtual machines(VMs)
Each VM runs its own operating system and behaves like an independent computer, even though it is running on just a portion of the actual underlying hardware.
This is the technology that drives the cloud computing economics. This enables cloud providers to serve users with their existing physical computer hardware; it enables cloud users to purchase only the computer in resources they need when they need it, and to scale those resources cost-effectively as their workloads grow
Hypervisors / Virtual Machine Monitor
A hypervisor is the software layer that coordinates VMs.
Hypervisors separates the computer's hardware and software, thus enabling creation and management of VMs
It serves as an interface between the VM and the underlying physical hardware, ensuring that each has access to the physical resources it need to execute and ensure it does not interfere with each other by impinging on each other's memory space or compute cycles.
There are two types of hypervisors:
Type 1 or 'bare metal' hypervisors: interact with the underlying physical resources on endpoint, replacing the traditional operating system altogether . They most commonly appear in virtual servers scenarios.
Better known example include :
VMware which specializes in server, desktop , network and storage virtualization
Type 2 hypervisors :run as application on existing OS . Most commonly on endpoint devices to run alternative operating systems. They carry a performance overhead because they must use the host OS to access and coordinate the underlying resources.
Example:
Citrix , which has a niche in application virtualization but also offer sever virtualization and virtual desktop solutions; and Microsoft, whose Hyper-V virtualization solution ships with windows and focuses on virtual version of server and desktop computers.
Types of Virtualization
Desktop virtualization:
Running multiple desktop operating system, each in its own on VM the same computer
There are two types :
Virtual desktop infrastructure(VDI) runs multiple desktop in VMs in a central sever and streams them to users who log on thin client devices
Local desktop virtualization runs a hypervisor on a local computer, enabling user to run on or more additional OS on that computer and switch from one OS to another as needed without changing the primary OS.
Network virtualization:
Uses software to create a "view" of the network that an administrator can use to manage the network from a single console. It abstracts hardware elements and functions e.g. ( connections, switches , routers) and abstracts them into software running on a hypervisor . Admin can modify and control these elements without touching the underlying physical components, which dramatically simplifies network management.
There are two types
Software-defined networking (sdn), which virtualizes hardware that controls network traffic routing
Network function virtualization (NFV) which virtualizes one or more hardware appliances that provide a specific network function making those easier to configure , provision , and manage.
Storage virtualization :
This allows all the storage on the network whether they are installed on individual servers or standalone storage units to be accessed and managed as a single storage device. Brings all the storage blocks to a shared pool on the network .It makes use of all available storage for the VMs and makes maximum use of all available storage on the network.
Data virtualization :
Tools create a software between the application accessing the data and the systems storing it .The layer translates an application's data request or query as needed and returns results that can span multiple systems. This can help break silos when other types of integration aren't feasible , desirable or affordable.
Application virtualization:
Runs the application software without installing it directly on the user's OS.
There are three types :
Local application virtualization: The entire application on the endpoint device but runs in a runtime environment instead of on the native hardware.
Application streaming : The application lives on the server which sends small components of the software to run on the end user's interface to the client device .
Server-based application virtualization the application runs entirely on a server that send only its users interface to the client device .
Data center virtualization :
This abstracts most of data center's hardware into software , effectively enabling admin to device a single physical data center into multiple virtual data centers for different clients.
Each client can access its own infrastructure as a service (IaaS), which would run on the same underlying physical hardware. Virtual data centers offer an easy on-ramp complete data center environment without purchasing infrastructure hardware .
CPU virtualization :
This is what allows a single CPU to be divided into multiple virtual CPUs for use by multiple VMs
GPU virtualization:
This is a multi-core processor that improves overall computing performance by taking over heavy-duty graphic or mathematical processing. it lets multiple VMs use all or some of a single GPU's processing power for faster video, artificial intelligence (AI) , or other graphic math intensive applications.
Pass-through GPUs make the entire GPU available to a single guest OS.
Shared vGPUs divided physical GPU core among several virtual GPUs (vGPUs) for use by server-based VMs.
Linux virtualization:
Linux includes its own hypervisor , called the kernel-based virtual machine (KVM) , which supports Intel and AMD virtualization processor extension so you can create x86-based VMs from a Linux host OS.
IT is highly customizable . You can create VMs running version of Linux tailored for specific workloads or security-hardened version for more sensitive applications.
Cloud virtualization:
Infrastructure as a service (IaaS):
Virtual server storage, and network resources you can configure based on their requirements.
Platform as a service (PaaS):
Virtual developed tools, databases and other cloud-based services you can use to build you own cloud-based application and solutions.
Software as a service (SaaS):
Software application you use on the cloud . SaaS is the cloud-based service most abstracted from the hardware.
What are the benefits of virtualization
Resource efficiency :- each application server required its own dedicated physical CPU .
Easier management:- Replacing physical computers with software-defined VMs makes it easier to use and manage policies written in software.
Minimal downtime:- OS and application can cause downtime and disrupt use productivity .Admins can run multiple redundant virtual machines alongside each other and over between them when problem arise.
Faster provisioning:-provides that the hardware is already in place , provisioning virtual machines to run all your application s is significantly faster. You can even automate it using management software an build it into existing workflows.
Comments
Post a Comment