Unit-3 CC
Unit-3 CC
Virtualization is the "creation of a virtual (rather than actual) version of something, such as a server,
a desktop, a storage device, an operating system or network resources".
In other words, Virtualization is a technique, which allows to share a single physical instance of a
resource or an application among multiple customers and organizations. It does by assigning a logical
name to a physical storage and providing a pointer to that physical resource when demanded.
Creation of a virtual machine over existing operating system and hardware is known as Hardware
Virtualization. A Virtual machine provides an environment that is logically separated from the
underlying hardware.
The machine on which the virtual machine is going to create is known as Host Machine and that
virtual machine is referred as a Guest Machine.
Types of Virtualization:
1. Hardware Virtualization.
3. Server Virtualization.
4. Storage Virtualization.
1) Hardware Virtualization:
When the virtual machine software or virtual machine manager (VMM) is directly installed on the
hardware system is known as hardware virtualization.
The main job of hypervisor is to control and monitoring the processor, memory and other hardware
resources.
After virtualization of hardware system we can install different operating system on it and run
different applications on those OS.
Usage:
Hardware virtualization is mainly done for the server platforms, because controlling virtual machines
is much easier than controlling a physical server.
When the virtual machine software or virtual machine manager (VMM) is installed on the Host
operating system instead of directly on the hardware system is known as operating system
virtualization.
Usage:
Operating System Virtualization is mainly used for testing the applications on different platforms of
OS.
3) Server Virtualization:
When the virtual machine software or virtual machine manager (VMM) is directly installed on the
Server system is known as server virtualization.
Usage:
Server virtualization is done because a single physical server can be divided into multiple servers on
the demand basis and for balancing the load.
4) Storage Virtualization:
Storage virtualization is the process of grouping the physical storage from multiple network storage
devices so that it looks like a single storage device.
Usage:
Virtualization plays a very important role in the cloud computing technology, normally in the cloud
computing, users share the data present in the clouds like application etc, but actually with the help
of virtualization users shares the Infrastructure.
The main usage of Virtualization Technology is to provide the applications with the standard
versions to their cloud users, suppose if the next version of that application is released, then cloud
provider has to provide the latest version to their cloud users and practically it is possible because it
is more expensive.
To overcome this problem we use basically virtualization technology, By using virtualization, all
severs and the software application which are required by other cloud providers are maintained by
the third party people, and the cloud providers has to pay the money on monthly or annual basis.
A hypervisor, also known as a virtual machine monitor (VMM), is a software layer that creates and
manages virtual machines (VMs) on a physical server. It is a key component of virtualization in cloud
computing, as it allows multiple VMs to run on a single physical server, effectively partitioning the
physical resources of the server into multiple virtual resources.
The hypervisor creates a virtual environment for each VM, providing it with its own virtual CPU,
memory, storage, and networking resources. The hypervisor is responsible for managing the
allocation and scheduling of these virtual resources, ensuring that each VM receives the resources it
needs to operate effectively. This allows multiple VMs to run on a single physical server without
interfering with each other, effectively maximizing the utilization of the server's resources.
There are two main types of hypervisors: type 1 (or bare-metal) hypervisors and type 2 (or hosted)
hypervisors. A type 1 hypervisor runs directly on the physical server, managing access to the server's
hardware resources and creating virtual environments for VMs. A type 2 hypervisor runs on top of
an existing operating system and provides virtualization through the use of a virtualization layer,
which creates and manages VMs on behalf of the guest operating system.
In cloud computing, hypervisors play a critical role in providing the infrastructure needed to deliver
cloud-based services. They allow cloud service providers to maximize the utilization of their physical
resources, while providing customers with the flexibility and scalability needed to support their
applications and workloads. By creating virtual environments for each VM, hypervisors also provide
an added layer of security, ensuring that each VM is isolated from other VMs running on the same
physical server.
As we know that, there has been a strong link between the physical host and the locally installed
storage devices. However, that paradigm has been changing drastically, almost local storage is no
longer needed. As the technology progressing, more advanced storage devices are coming to the
market that provide more functionality, and obsolete the local storage.
Storage virtualization is a major component for storage servers, in the form of functional RAID levels
and controllers. Operating systems and applications with device can access the disks directly by
themselves for writing. The controllers configure the local storage in RAID groups and present the
storage to the operating system depending upon the configuration. However, the storage is
abstracted and the controller is determining how to write the data or retrieve the requested data for
the operating system.
Storage virtualization is becoming more and more important in various other forms:
File servers: The operating system writes the data to a remote location with no need to understand
how to write to the physical media.
Play Video
WAN Accelerators: Instead of sending multiple copies of the same data over the WAN environment,
WAN accelerators will cache the data locally and present the re-requested blocks at LAN speed,
while not impacting the WAN performance.
SAN and NAS: Storage is presented over the Ethernet network of the operating system. NAS
presents the storage as file operations (like NFS). SAN technologies present the storage as block level
storage (like Fibre Channel). SAN technologies receive the operating instructions only when if the
storage was a locally attached device.
Storage Tiering: Utilizing the storage pool concept as a stepping stone, storage tiering analyze the
most commonly used data and places it on the highest performing storage pool. The lowest one
used data is placed on the weakest performing storage pool.
This operation is done automatically without any interruption of service to the data consumer.
1. Data is stored in the more convenient locations away from the specific host. In the case of a
host failure, the data is not compromised necessarily.
2. The storage devices can perform advanced functions like replication, reduplication, and
disaster recovery functionality.
3. By doing abstraction of the storage level, IT operations become more flexible in how storage
is provided, partitioned, and protected.
Google is one of the leading cloud service providers in the world, offering a wide range of cloud-
based services and solutions. One of the key technologies that underpin many of Google's cloud
offerings is virtualization.
Google uses virtualization extensively to provide a range of cloud services, including Infrastructure-
as-a-Service (IaaS), Platform-as-a-Service (PaaS), and Software-as-a-Service (SaaS). Google's
virtualization technology is based on the open-source KVM (Kernel-based Virtual Machine)
hypervisor, which allows multiple virtual machines to run on a single physical server.
Google Cloud Platform (GCP) offers a range of virtual machine (VM) options, including custom
machine types, which allow customers to create VMs with customized CPU and memory
configurations. GCP also offers pre-configured VM images for popular operating systems, such as
Windows and Linux, as well as a range of machine images for popular software stacks, such as LAMP
(Linux, Apache, MySQL, PHP).
In addition to virtual machines, Google offers a range of container-based services, including Google
Kubernetes Engine (GKE), a managed service for running and orchestrating containerized
applications on GCP. GKE allows customers to deploy and manage containerized applications at
scale, providing features such as automatic scaling, rolling updates, and self-healing.
Google's virtualization technology also underpins its App Engine platform, which provides a fully-
managed platform for developing and deploying web applications. App Engine abstracts away the
underlying infrastructure, allowing developers to focus on building their applications rather than
managing servers and infrastructure.
Overall, Google's use of virtualization in its cloud offerings allows customers to scale their
applications and infrastructure easily, while providing a high level of flexibility and control over their
computing resources.
Amazon Web Services (AWS) is another leading cloud service provider that utilizes virtualization
heavily in its cloud computing offerings. AWS provides a range of virtualization options, including
Amazon Elastic Compute Cloud (EC2), a scalable compute service that allows customers to launch
and manage virtual servers in the cloud.
AWS EC2 is built on top of the Xen hypervisor, which provides a virtualization layer that allows
multiple virtual machines to run on a single physical server. EC2 supports a wide range of operating
systems, including Windows, Linux, and Unix, and provides customers with a range of instance types
optimized for different workloads, such as compute-intensive, memory-intensive, and storage-
intensive applications.
In addition to EC2, AWS offers a range of container-based services, including Amazon Elastic
Container Service (ECS), a fully-managed container orchestration service that allows customers to
run and manage Docker containers on a cluster of EC2 instances. AWS also provides Amazon Elastic
Kubernetes Service (EKS), a fully-managed Kubernetes service that allows customers to deploy,
manage, and scale containerized applications on AWS.
AWS also provides a range of serverless compute services, such as AWS Lambda, which allows
customers to run code without provisioning or managing servers. Lambda functions are executed in
a container, providing customers with a scalable and cost-effective way to run their code in the
cloud.
Overall, AWS's use of virtualization in its cloud computing offerings allows customers to quickly and
easily provision compute resources, scale their applications to meet changing demands, and benefit
from the flexibility and cost savings that virtualization provides.