Skip to main content

Virtualization Technology

 

 

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: 

  1. 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 

 

  1. 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 : 

  1. Virtual desktop infrastructure(VDI) runs multiple desktop in VMs in a central sever and streams them to users who log on thin client devices  

  2. 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 

  1. Software-defined networking (sdn),  which virtualizes hardware that controls network traffic routing  

  2. 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 : 

  1. Local application virtualization: The entire application on the endpoint device but runs in a runtime environment instead of on the native hardware. 

  2. 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 . 

  3. 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: 

  1. Infrastructure as a service (IaaS): 

     Virtual server storage, and network resources you can configure based on their requirements. 

  2. 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. 

  3. 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 

  1. Resource efficiency :- each application server required its own dedicated physical CPU . 

  2.  Easier management:- Replacing physical computers with software-defined VMs makes it easier to use and manage policies written in software. 

  3. 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.  

  4. 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

Popular posts from this blog

TTY in linux and how to use it

Ok, how about we start with what is TTY.It stands for “teletypewriter.” What can tty tell us. In Linux, there is a pseudo-teletype multiplexor which handles the connections from all of the terminal window pseudo-teletypes (PTS). The multiplexor is the master, and the PTS are the "slaves". The multiplexor is addressed by the kernel through the device file located at /dev/ptmx. The tty command will print the name of the device file that your pseudo-teletype slave is using to interface to the master. And that, effectively, is the number of your terminal window. The output shows that we are connected to to the device file at /dev/pts/4. Our terminal window, which is a software emulation of a teletype (TTY), is interfaced to the pseudo-teletype multiplexor as a pseudo-teletype (PTS). And it happens to be number four.For the number at the end shows that. The Silent Option . The -s (silent) option causes tty to generate no output. This is how it will look on your terminal It do...

What are browser cookies and how they work

INTRODUCTION. Most internet users are familiar with the term Cookie because we see it pop up in most websites but do we know the purpose it serves. Let us start with what it is ,   a cookie (  also known as browser cookie , internet cookie , web cookie or HTTP cookie ) is small piece of data that websites store on your disk in the form of a text file.Cookies allow websites to store specific information helpful to remember each visitor uniquely. What do browser cookies do. The purpose of the computer cookie is to help the website track of your visits and activity and is not a bad thing.A good example are the online retailers to keep track of the items in user's shopping cart as they explore the site, without the cookies the shopping cart would reset to zero with every click. A website also uses the cookies to store information about you recent visits or record you login information which i do not really recommend from a security perspective Types of browser cookies. Session co...