What is Virtualization in Cloud Computing?
Virtualization is the process of running a virtual instance of a computer system in a layer abstracted away from the actual hardware.
Virtualization was developed in the mainframe era. Initially, it created virtual copies of existing resources, making it possible to extend existing infrastructure. Today, virtualization allows multiple operating systems and applications to run simultaneously on the same physical host, increasing hardware utilization and improving flexibility.
Virtualization is one of the central technologies that powers most cloud infrastructure providers. It is also commonly used by organizations of all sizes when building a private cloud infrastructure.
Virtualization works by assigning logical names to physical hardware resources, and providing pointers to those physical resources as needed. Virtualization is often considered to be synonymous with hardware virtualization, but it is possible to virtualize any computing resource, including applications, networks, and storage.
Let’s now delve deeper into the key concepts related to virtualization technology.
Hypervisor is a central component that natively manages computer hardware, allowing for multiple environments which are isolated from one another. It is responsible for creating and running Virtual Machines on the “host”.
Virtual Machine (VM)
Virtual Machines are an emulation of a computer system with its own virtual guest operating system running on the hypervisor. Cloud providers offer many types of managed VMs, also known as compute instances. These include compute optimized, memory optimized, and instances with hardware acceleration.
A container is a standard unit of software that packages up code and all its dependencies so that the application can run quickly and reliably on different computing environments. Contrary to Virtual Machines, containers virtualize the operating system rather than the underlying hardware making them more portable and efficient.
Virtualization software is an abstraction layer that allows a more efficient utilization of physical computer hardware. It is the foundation of cloud computing where applications, servers, storage and network can all be virtualized.
A virtual network is a computer network where all devices, servers and even data centers are connected through software, allowing it to have a further reach that it would have if it were only physically wired.
Types of Virtualization in Cloud Computing
Virtualization and cloud can be used in a variety of ways, including:
In hardware virtualization, the hypervisor is installed directly on physical hosts, allowing it to control hardware resources and allocate them to virtual machines. Administrators can run workloads in virtual machines on top of the hosts, while monitoring utilization and other metrics.
With this type of virtualization, you can manage and monitor your entire network as a single entity. Its main purpose is to hide network complexity and automate management tasks. For example, software defined networking (SDN) technology uses virtual appliances to manage networks, without requiring physical routers and switches.
Desktop virtualization, also known as Virtual Desktop Infrastructure (VDI), allows a user’s operating system to be stored remotely on a server in a data center. This way users can access their desktop virtually from anywhere using a variety of endpoint devices. The main advantages of desktop virtualization are user mobility, portability, simplified software deployment and update management.
Before the age of virtualization, storage was directly tied to the underlying hard disk resources. If a business needed more storage, IT simply purchased bigger disks or added more of them. As storage capacity increased, disk management usually became more and more complex.
With virtualization, storage consumers no longer need to know where specific data is located. Consumers can treat multiple storage systems across the organization as a single pool of storage, and each storage device only communicates with the virtualization layer. A common example of a storage virtualization solution is the VMware storage architecture.
Technologies Used for Virtualization in Cloud Computing
Microsoft's Hyper-V virtualization technology allows you to create virtual machines on Windows Server machines. The Hyper-V virtualization platform was introduced in Windows Server 2008. HyperV is a bare metal hypervisor, also known as a Type 1 hypervisor—this means it directly binds to the OS kernel. Hyper-V virtualization supports Windows, Linux and freeBase operating systems.
The Hypervisor, called Hyper-V Manager, manages all aspects of your virtualized infrastructure, including backups, server health, VHD files, host addition, and server health checks.
VMware vSphere is a suite of hypervisors and management products sold to organizations and IT service providers. The solution has two core components: ESXi (a bare metal / Type 1 hypervisor) and vCenter Server for infrastructure management.
In the VMware offering there is a clear distinction between Type 1 and Type 2 hypervisors. ESXi is type 1, while VMware Workstation and VMware Fusion are type 2 hypervisors, and both require a full, separate host operating system to function. The ESXi hypervisor can be downloaded for free, and the additional management layers are provided as a commercial offering.
The VMware hypervisor is at the core of larger product offerings, such as VMware Cloud Director, that provide a full suite of solutions for cloud providers.
KVM (Kernel Based Virtual Machine) is a complete virtualization technology based on Linux, and is a free open source product. It creates a Linux virtualization server with separate network cards, storage and graphics adapters, and allows administrators to run VMs on top of the Linux machine.
KVM is a full featured virtualization solution, but is considered more difficult to manage and less comprehensive than commercial solutions like VMware.
Citrix Server Virtualization
Citrix virtualization technology provides desktop and application virtualization based on the Xen hypervisor.
Citrix server virtualization allows users to manage multiple storage spaces, network configurations and other resources. Citrix server virtualization is primarily used for desktop, application and server virtualization.
Available Cloud Computing Virtualization Types
Here at Cherry Servers we have built a wide array of cloud infrastructure services, and virtual machines are a considerable part of our offering. We have chosen KVM virtualization technology to create our Virtual Servers, since it had less performance overhead compared to other hypervisors.
Virtual Private Servers (VPS) are the smallest building blocks of our infrastructure services. Hardware resources are shared, and virtual instances can easily be upgraded into a higher tier on the go. VPS servers are really cheap, but there’s a chance you would experience fluctuating workloads due to the noisy neighbor’s effect.
Virtual Dedicated Servers (VDS) are a solid choice for small and medium projects. They are also perfectly suited for mission-critical system nodes with small to average workloads. Hardware resources are fully dedicated to a single customer which ensures stable workloads and more computing power.
Virtualization technology is an essential part of modern cloud infrastructure. Whether you are going to choose a cloud vendor, or virtualize Bare Metal infrastructure yourself, it is worth knowing your virtualization technology options and how they compare against each other.