0% found this document useful (0 votes)
839 views83 pages

Abstraction and Virtualization

1. The document discusses abstraction and virtualization in cloud computing. It describes how cloud computing uses abstraction to simplify operations and virtualization to pool and share resources. 2. It defines virtualization as creating virtual versions of computer resources like servers, storage, and networks. This allows physical instances of resources to be shared among multiple users. 3. The document outlines different types of virtualization including hardware, operating system, server, and storage virtualization. It also compares and contrasts virtualization with abstraction.

Uploaded by

YASH PRAJAPATI
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
839 views83 pages

Abstraction and Virtualization

1. The document discusses abstraction and virtualization in cloud computing. It describes how cloud computing uses abstraction to simplify operations and virtualization to pool and share resources. 2. It defines virtualization as creating virtual versions of computer resources like servers, storage, and networks. This allows physical instances of resources to be shared among multiple users. 3. The document outlines different types of virtualization including hardware, operating system, server, and storage virtualization. It also compares and contrasts virtualization with abstraction.

Uploaded by

YASH PRAJAPATI
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 83

3.

Abstraction and
Virtualization
Subject : Cloud Computing(3170717)
Faculty: Dr. Ami Tusharkant Choksi
Associate professor, Computer Engineering Department,
Navyug Vidyabhavan Trust
C.K.Pithawala College of Engineering and Technology,
Surat, Gujarat State, India.
Website: www.ckpcet.ac.in
Syllabus of Cloud Computing:
https://s3-ap-southeast-1.amazonaws.com/gtusitecirculars/Syallbus/3170717.pdf

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Learning Material
Books:

1. Rajkumar Buyya, James Broberg, Andrzej M Goscinski, Cloud Computing: Principles and Paradigms,
Wiley publication. (2)
2. Toby Velte, Anthony Velte, Cloud Computing: A Practical Approach, McGraw-Hill Osborne Media. (7)
3. George Reese, Cloud Application Architectures: Building Applications and Infrastructure in the Cloud,
O'Reilly Publication.(2)
4. John Rhoton, Cloud Computing Explained: Implementation Handbook for Enterprises, Recursive Press

E-books downloaded on my drive is in material folder.


https://drive.google.com/drive/folders/1D1-LxLpy0A9dgkL3IJ7FlBhMhLOPeELt?usp=sharing

List of Open Source Software/learning website:

• http://technolamp.blogspot.com
•http://www.intelligentedu.com/
• NITTR Instructional Resources Videos

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717) 2


Contents
- Introduction to Virtualization Technologies,
- Load Balancing and Virtualization,
- Understanding Hyper visors,
- Understanding Machine Imaging,
- Porting Applications,
- Virtual Machines Provisioning and Manageability
- Virtual Machine Migration Services,
- Virtual Machine Provisioning and Migration in Action,
- Provisioning in the Cloud Context,
- Virtualization of CPU, Memory, I/O

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Contents
- Devices, Virtual Clusters and Resource management Virtualization for Data
Center
- Automation

8 hours

CO3: Apply suitable virtualization concept.

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Abstraction and virtualization in cloud computing
● Cloud computing virtualizes systems by pooling and sharing resources.
● Cloud computing uses abstraction to enable the rapid deployment of data and
applications to minimize the complexity and cost of providing the underlying
resource, which eventually simplifies operations.
● Definition of virtualization: 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.

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Types of Virtualization
● Hardware Virtualization.
● Operating system Virtualization.
● Server Virtualization.
● Storage Virtualization.

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Types of virtualization
● When the virtual machine software or virtual machine manager (VMM) is
directly installed on the hardware system is known as hardware virtualization.
○ A hypervisor is a program used to run and manage one or more virtual machines on a computer.
● 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.
● When the virtual machine software or virtual machine manager (VMM) is
directly installed on the Server system is known as server 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.
● Storage virtualization is also implemented by using software applications.

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Difference Abstraction and virtualization

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Virtualization Abstraction
Definition: It is an umbrella of Definition: It is the act of
technologies and concepts that are representing essential features
intended to provide an abstract while hiding the background
environment to run applications. details from users and developers.

Concept: It allows creating a virtual Concept: It allows abstraction of


version of something, including the physical implementation to
computer resources, virtual computer hide technical details from
hardware platform and storage devices. consumers.

Characteristics: Computer resources Characteristics: It allows changes


can be divided or shared by multiple to be occurred in the backend
environments simultaneously, which without affecting functionalities in
are known as virtual machines(VM). the abstraction layer.

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Load Balancing and Virtualization
● What is load balancing and virtualization in cloud computing?
● A Virtual Load Balancer provides more flexibility to balance the workload of a
server by distributing traffic across multiple network servers. Virtual load
balancing aims to mimic software-driven infrastructure through virtualization. It
runs the software of a physical load balancing appliance on a virtual machine.
● A virtual network load balancer promises to deliver software load balancing by
taking the software of a physical appliance and running it on a virtual machine
load balancer.
● Virtual load balancers, however, are a short-term solution. The architectural
challenges of traditional hardware appliances remain, such as limited scalability
and automation, and lack of central management (including the separation of
control plane and data plane) in data centers.

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Load Balancing and Virtualization

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


How virtual load balancer work?
● The traditional application delivery controller companies build virtual load
balancers that utilize code from legacy hardware load balancers. The code simply
runs on a virtual machine. But these virtual load balancers are still monolithic
load balancers with static capacity.

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Virtual vs. Hardware load balancers
● The complexity and limitations of a virtual load balancer is similar to that of a
hardware load balancer.
● A hardware load balancer uses rack-mounted, on-premises physical hardware.
● Hardware load balancers are proven to handle high traffic volume well. But the
hardware can be expensive and limit flexibility.
● A virtual load balancer uses the same code from a physical appliance. It also
tightly couples the data and control plane in the same virtual machine. This leads
to the same inflexibility as the hardware load balancer.
● For example, while an F5 virtual load balancer lowers the CapEx compared to
hardware load balancers, virtual appliances are in reality hardware-defined
software.

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Virtual Load Balancer vs. Software Load Balancer
● Virtual load balancers seem similar to a software load balancer, but the key
difference is that virtual versions are not software-defined. That means virtual
load balancers do not solve the issues of inelasticity, cost and manual operations
plagued by traditional hardware-based load balancers.
● Software load balancers, however, are an entirely different architecture designed
for high performance and agility. Software load balancers also offer lower cost
without being locked into any one vendor.

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Load Balancing and Virtualization
● Types:
○ Static
○ Dynamic
● Need of load balancing:
○ Improving the performance
○ Maintaining the system stability
○ Quality of service (QoS)
○ Building fault tolerance

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Load balancing algorithms
● Scheduling algorithms
○ FCFS
○ Round Robin
● Soft computing based algorithms
○ Stochastic algorithm
○ Genetic algorithm
○ Ant colony optimization

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Static load balancing algorithms
● Static load balancing algorithms in distributed systems minimize specific
performance functions by associating a known set of tasks with available
processors. These types of load balancing strategies typically center around a
router that optimizes the performance function and distributes loads.

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Static vs. dynamic load balancing
● A load balancer is a device that acts as a reverse proxy and distributes
network or application traffic across a number of servers.
● Load balancing usually involves dedicated software or hardware, such as a
multilayer switch or a Domain Name Service server process.
● Load Balancing can be classified into two types based on the behavior of the
algorithm:
● Static Load Balancing: Static load balancing is the method of dividing the
incoming load on a server using algorithms that have prior information about
the existing servers in the distributed network. These load balancing schemes
have a pre-defined load schedule that determines a fixed amount of load that
can be shed on other systems.
● Dynamic Load Balancing: It is a more versatile scheme of load balancing
which can dynamically identify the amount of load that needs to be shared
during runtime and which system should bear the load.
Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)
Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)
Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)
Understanding Hypervisors
● A hypervisor is a form of virtualization software used in Cloud hosting to divide
and allocate the resources on various pieces of hardware.
● The program which provides partitioning, isolation, or abstraction is called a
virtualization hypervisor.
● The hypervisor is a hardware virtualization technique that allows multiple guest
operating systems (OS) to run on a single host system at the same time. A
hypervisor is sometimes also called a virtual machine manager(VMM).

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Types of Hypervisor : TYPE-1 and TYPE-2:TYPE-1
● Type 1:The hypervisor runs directly on the underlying host system. It is also
known as a “Native Hypervisor” or “Bare metal hypervisor”.
● It does not require any base server operating system.
● It has direct access to hardware resources.
● Examples of Type 1 hypervisors include VMware ESXi, Citrix XenServer, and
Microsoft Hyper-V hypervisor.
● Pros: Such kinds of hypervisors are very efficient because they have direct
access to the physical hardware resources(like Cpu, Memory, Network, and
Physical storage).
● This causes the empowerment of the security because there is nothing any kind
of the third party resource so that attacker couldn’t compromise with anything.

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Types of Hypervisor : TYPE-1 and TYPE-2:TYPE-1
● Cons: One problem with Type-1 hypervisors is that they usually need a
dedicated separate machine to perform their operation and to instruct different
VMs and control the host hardware resources.

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Types of Hypervisor : TYPE-1 and TYPE-2:TYPE-2
● TYPE-2: A Host operating system runs on the underlying host system. It is also
known as ‘Hosted Hypervisor”.
● Such kind of hypervisors doesn’t run directly over the underlying hardware
rather they run as an application in a Host system(physical machine).
● Basically, the software is installed on an operating system.
● Hypervisor asks the operating system to make hardware calls. An example of a
Type 2 hypervisor includes VMware Player or Parallels Desktop. Hosted
hypervisors are often found on endpoints like PCs.
● The type-2 hypervisor is very useful for engineers, and security analysts (for
checking malware, or malicious source code and newly developed applications).

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Types of Hypervisor : TYPE-1 and TYPE-2:TYPE-2
● Pros: Such kind of hypervisors allows quick and easy access to a guest Operating
System alongside the host machine running. These hypervisors usually come
with additional useful features for guest machines. Such tools enhance the
coordination between the host machine and the guest machine.
● Cons: Here there is no direct access to the physical hardware resources so the
efficiency of these hypervisors lags in performance as compared to the type-1
hypervisors, and potential security risks are also there an attacker can
compromise the security weakness if there is access to the host operating system
so he can also access the guest operating system.

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Choosing the right hypervisor :
● Type 1 hypervisors offer much better performance than Type 2 ones because
there’s no middle layer, making them the logical choice for mission-critical
applications and workloads.
● But that’s not to say that hosted hypervisors don’t have their place – they’re
much simpler to set up, so they’re a good bet if, say, you need to deploy a test
environment quickly.
● One of the best ways to determine which hypervisor meets your needs is to
compare their performance metrics. These include CPU overhead, the amount of
maximum host and guest memory, and support for virtual processors. The
following factors should be examined before choosing a suitable hypervisor:

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Choosing the right hypervisor :
● 1. Understand your needs: The company and its applications are the reason for
the data center (and your job). Besides your company’s needs, you (and your
co-workers in IT) also have your own needs. Needs for a virtualization
hypervisor are:
● a. Flexibility
● b. Scalability
● c. Usability
● d. Availability
● e. Reliability
● f. Efficiency
● g. Reliable support

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Choosing the right hypervisor :
2. The cost of a hypervisor: For many buyers, the toughest part of choosing a
hypervisor is striking the right balance between cost and functionality. While a
number of entry-level solutions are free, or practically free, the prices at the opposite
end of the market can be staggering. Licensing frameworks also vary, so it’s important
to be aware of exactly what you’re getting for your money.

3. Virtual machine performance: Virtual systems should meet or exceed the


performance of their physical counterparts, at least in relation to the applications
within each server. Everything beyond meeting this benchmark is profit.

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Choosing the right hypervisor :
4. Ecosystem: It’s tempting to overlook the role of a hypervisor’s ecosystem – that is,
the availability of documentation, support, training, third-party developers and
consultancies, and so on – in determining whether or not a solution is cost-effective in
the long term.

5. Test for yourself: You can gain basic experience from your existing desktop or
laptop. You can run both VMware vSphere and Microsoft Hyper-V in either VMware
Workstation or VMware Fusion to create a nice virtual learning and testing
environment.

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


HYPERVISOR REFERENCE MODEL :
● There are 3 main modules coordinates in order to emulate the underlying
hardware:
● DISPATCHER: The dispatcher behaves like the entry point of the monitor and
reroutes the instructions of the virtual machine instance to one of the other two
modules.
● ALLOCATOR: The allocator is responsible for deciding the system resources to
be provided to the virtual machine instance. It means whenever a virtual
machine tries to execute an instruction that results in changing the machine
resources associated with the virtual machine, the allocator is invoked by the
dispatcher.
● INTERPRETER: The interpreter module consists of interpreter routines. These
are executed, whenever a virtual machine executes a privileged instruction.

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Introduction to Virtualization Technologies

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Understanding Machine Imaging
● What is machine imaging in cloud computing?
● A machine image is a Compute Engine resource that stores all the configuration,
metadata, permissions, and data from multiple disks of a virtual machine (VM)
instance. You can use a machine image in many system maintenance, backup and
recovery, and instance cloning scenarios.

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Understanding Machine Imaging
● When to use machine imaging in cloud computing?

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Understanding Machine Imaging
● When to use machine imaging in cloud computing?
● machine images are the most ideal resources for the following use cases:
○ Multiple disk backups
○ Instance cloning
● Multiple Disk backups: Machine images support backups at the VM instance
level. Disks are backed up as differential snapshots.
● When a machine image is used to copy disks, Compute Engine guarantees that
the data across disks is captured in a crash-consistent manner at a given time.
Compute Engine uses globally consistent timestamps to ensure this guarantee.
This consistency is critical if your VM instance is running and you want to ensure
that the backup point across disks is maintained. When the backup point across
disks is maintained, you can return to the same point in time across disks when
you restore a machine image.

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Understanding Machine Imaging
● Multiple disk backup: Machine images are suitable for creating backups of all disks
that are attached to a VM instance. A machine image can be used to backup multiple
disks at a time. A persistent disk snapshot can only backup a single disk at a time.
● Differential disk backup: Machine images store differential snapshots of your
previously created machine images or snapshots. When you generate a machine image
from a VM instance, the first machine image contains a full copy of all disk data.
Subsequent machine images are stored as differential copies for better performance
and space efficiency. This mechanism is similar to that used by persistent disk
snapshots.
● Instance cloning: Machine images can be used to clone instances. You can use machine
image to make copies of an instance that contains most of the VM configurations of the
source instance. These copies can then be used for troubleshooting, scaling VM
instances, debugging, or system maintenance.

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Understanding Machine Imaging: Information stored
in a machine image
● A machine image collects the following information from the source instance:
● VM instance configuration. Each VM configuration includes the following
properties:
○ Description
○ Machine type
○ Instance metadata
○ Labels
○ Network tags
○ Maintenance policy
○ If applicable, Unified Extensible Firmware Interface (UEFI) variables
● The volume mapping used to create persistent disks and local SSDs for the
source instance.
● Data stored on persistent disks at consistent points in time across disks.

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Understanding Machine Imaging: Information stored
in a machine image
● The following information from the source instance is not collected by a machine
image:
● Data in memory.
● Data in local SSD. However, a machine image captures the device mapping of
local SSDs.
● Attributes that are specific to the source instance, such as the name or IP
address.

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Porting Applications
● What is application portability?
● Application portability is the ability of an application to be portably installed,
deployed, accessed and managed - regardless of delivery model. The term
defines an application's flexibility when used on multiple platforms or instantly
accessed from the Internet, a desktop or network.
● Application portability in cloud computing provides flexibility to move to
different platforms or different cloud service vendors, but technology and
provider restrictions persist. When the term of application portability comes up,
the benefits of corporates and cloud computing vendors crashes. Corporations
wants to run their applications flawlessly across on-premise IT, private clouds
and PaaS and SaaS public clouds.

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Porting Applications
● Portable applications are very beneficial in migration of infrastructure, platform,
and services from one cloud service provide to any other service providers. But
There are some major barriers occur at the time of portability of cloud that are
described below:
● Portable applications in the cloud from a technology perspective is the lack of
standardized cloud APIs which can be utilize by cloud providers or vendors in
developing their technology-based products. API interoperability allows users to
execute applications on different cloud using common APIs as a way forward.
● Hard-to-port database schemas and uncertainty about rights of users to get
access and manage data stored in the cloud. Even if you can get access to your
data, you can’t essentially get it into another system because application data
schemas aren’t certainly compatible.

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Porting Applications
● Formats of Files, like SQL, in relational database (RDB) are quite arduous to port
because relationship in the database should be constant when it is being divided
over multiple databases. Nowadays, portability having certain structured
database is still quite difficult to achieve. Non-structured or non-SQL data is
preferred standard of data encapsulation and storage.
● Data access problems are another aspect of service-related data life-cycle
management.

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Porting Applications
● Major Cloud portability tips in the meantime are described below:
● Assure that the application and its supportive components, such as databases and tools,
not only trust an operating system and an underlying cloud infrastructure.
● Negotiate access to data and other services up-front. Once the contract is made and
data is migrated onto the vendors system, influence for negotiation should be limited.
● A platform for applications that can support must be found as much as is possible
nowadays, several cloud environments. This will only be of value, however, if the cloud
service vendor supports that particular management platform.
● Comprehend the technical services, such as APIs, which provide access to the data
stored by cloud providers.
● Preserve decisions to host data in the cloud at top level of corporations, rather than
letting employees procure cloud-based systems without sufficient review.

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Virtual Machines Provisioning and Manageability
● Virtual Provisioning is the capability to present a LUN(logical unit number) to a
compute system with extra capacity than what is physically allotted to the LUN
on the storage array. It can be implemented at –
○ Compute Layer
○ Storage Layer
● Physical storage is allotted only when compute needs it and the provisioning
decisions are not bound by presently accessible storage. The physical storage is
allotted from a shared pool of physical capacity to the application “on-demand”.
● This gives more efficient storage utilization by minimizing the allotted amount,
but unused physical storage.

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Need for Virtual Provisioning :
● Administrators typically allot storage space based on the anticipated growth of
storage. This is because they want to minimize the management overhead and
application downtime needed to add new storage afterwards.
● This results in the over-provisioning of the storage capacity which leads to
greater costs, more power, cooling and floor space requirements and lower
capacity utilization.
● Virtual Provisioning addresses these challenges by giving more efficient
utilization of storage by minimizing the amount of allotted, but unused physical
storage.

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Need for Virtual Provisioning :
● What is Thin Pool?
● It consists of physical drives that give the actual physical storage used by thin
LUNs.
● Various pools can be formed within a storage array and the allotted capacity is
reclaimed by the pool when the thin LUNs are erased. Thin LUN is a logical
device where the physical storage need not be totally allotted at the creation
time. All the thin LUNs formed from a pool share the storage resources of that
pool.
● Figure on next slide

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Need for Virtual Provisioning : Thin Pool

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Need for Virtual Provisioning : Thin Pool

● Advantages of Virtual Provisioning :


○ Minimizes the operating and storage cost.
○ Decreases downtime.
○ Improves capacity utilization.
○ Minimizes administrative overhead.
● Best Practices of Virtual Provisioning :
○ The drives in Thin Pool should have same RPM (revolutions per minute).
The required performance may differ if there is a mismatch.
○ The drives should be of the same size in the Thin Pool. Different sizes may
result in the unutilized capacity of the drive.
○ Provision Thin LUNs for applications that can permit some fluctuation in
performance.

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Virtual Machine Migration Services
● What are the virtual machine
migration services?
● Virtual machine migration is the task
of moving a virtual machine from one
physical hardware environment to
another. It is part of managing
hardware virtualization systems and
is something that providers look at as
they offer virtualization services.
Virtual machine migration is also
known as teleportation.
● What are the different VM migration
techniques available in the cloud
computing?
● cold or hot.
● It is used to do the load balancing

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Virtual Machine Migration
● Cold Migration: Moving a powered off or suspended virtual machine to a new
host. Optionally, you can relocate configuration and disk files for powered off or
suspended virtual machines to new storage locations. You can also use cold
migration to move virtual machines from one virtual switch to another, and from
one data center to another. You can perform cold migration manually or you can
schedule a task.
● Hot Migration: Moving a powered on virtual machine to a new host. Optionally,
you can also move the virtual machine disks or folder to a different datastore.
Hot migration is also called live migration or vSphere vMotion. With vSphere
vMotion, you migrate the virtual machine without any interruption in its
availability.
● Depending on the virtual machine resource type, you can perform three types of
migration.

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Virtual Machine Migration
● Hot/Live Migration: Live
migration of virtual machine
is a process of moving a
running virtual machine
from one physical machine
to another physical machine
without disconnecting the
client or application. The
benefits of live virtual
machine migration are
energy management, load
balancing and fault
tolerance.

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Live migration time line

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Virtual Machine Migration
● Change compute resource only: Moving a virtual machine, but not its storage,
to another compute resource, such as a host, cluster, resource pool, or vApp. You
can move the virtual machine to another compute resource by using cold or hot
migration. If you change the compute resource of a powered on virtual machine,
you use vSphere vMotion.
● Change storage only: Moving a virtual machine and its storage, including virtual
disks, configuration files, or a combination of these, to a new datastore on the
same host. You can change the datastore of a virtual machine by using cold or hot
migration. If you move a powered on virtual machine and its storage to a new
datastore, you use Storage vMotion.

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Virtual Machine Migration
● Change both compute resource and storage: Moving a virtual machine to
another host and at the same time moving its disk or virtual machine folder to
another datastore. You can change the host and datastore simultaneously by
using cold or hot migration.

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Virtual Machine Migration Services
● Virtual machine migration is the task of moving a virtual machine from one
physical hardware environment to another. It is part of managing hardware
virtualization systems and is something that providers look at as they offer
virtualization services. Virtual machine migration is also known as teleportation.

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Virtual Machine Provisioning and Migration in Action
● Server provisioning is defining server configuration based on the user’s
requirements of
○ Hardware: CPU, RAM, Storage, Network etc.
○ OS
○ Application
● The cycle starts by a request delivered to the IT department, stating the
requirement for creating a new server for a particular service. This request is
being processed by the IT administration to start seeing the servers’ resource
pool, matching these resources with requirements
○ Starting the provision of the needed virtual machine.
○ Once it provisioned and started, it is ready to provide the required service according to an
○ SLA.
○ Virtual is being released; and free resources

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Virtual machine provisioning life cycle

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Live migration stages
● Stage-0: Pre-Migration. An active virtual machine exists on the physical host A.
● Stage-1: Reservation. A request is issued to migrate an OS from host A to host B
(a precondition is that the necessary resources exist on B and a VM container of
that size)
● Stage-3: Stop-and-Copy. Running OS instance at A is suspended, and its network
traffic is redirected to B. As described in reference 21, CPU state and remaining
inconsistent memory pages are then transferred. At the end of this stage, there is
a consistent suspended copy of the VM at both A and B. The copy at A is
considered primary and is resumed in case of failure.
● Stage-4: Commitment. Host B indicates to A that is has successfully received a
consistent OS image. Host A acknowledges this message as a commitment of
migration transaction.

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Live migration stages
● Stage-5: Activation. The migrated VM on B is now activated. Post-migration code
runs to reattach the device’s drivers to the new machine and advertise moved IP
addresses. This approach to failure management ensures that at least on host has
a consistent VM
● image at all times during migration:
● 1) Original host remains stable until migration commits and that the VM may be
suspended and resumed on that host with no risk of failure.
● 2) A migration request essentially attempts to move the VM to a new host and on
any sort of failure, execution is resumed locally, aborting the migration.

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Provisioning in the Cloud Context: Real example
• In the cloud context, we shall discuss systems that provide the virtual machine
provisioning and migration services;
• Amazon EC2 is a widely known example for vendors that provide public cloud
services.
• Also, Eucalyptus and Open-Nebula are two complementary and enabling
technologies for open-source cloud tools in building private, public, and hybrid cloud
architecture.
• Eucalyptus is a system for implementing on-premise private and hybrid clouds
using the hardware and software’s infrastructure, which is in place without
modification.
• The current interface to Eucalyptus is compatible with Amazon’s EC2.

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Provisioning in the Cloud Context: Real example
● S3, and EBS interfaces, but the infrastructure is designed to support
multiple client-side interfaces.
• Eucalyptus is implemented using commonly available Linux tools and
basic Web service’s technologies.
• Eucalyptus adds capabilities, such as end-user customization, selfservice
provisioning, and legacy application support to data center’s virtualization’s features,
making the IT customer’s service easier.

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Provisioning in the Cloud Context
● OpenNebula is a virtual infrastructure manager that orchestrates storage,
network, and virtualization technologies to enable the dynamic placement of
multi-tier services on distributed infrastructures, combining both data center’s
resources and remote cloud’s resources according to allocation’s policies.
● OpenNebula provides internal cloud administration and user’s interfaces for the
full management of the cloud’s platform.

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Virtualization of CPU, Memory, I/O devices
https://snscourseware.org/snsctnew/files/1583138375.pdf

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Virtual Clusters and Resource management
● Virtual clusters are built with VMs installed at distributed servers from one or
more physical clusters.
● The VMs in a virtual cluster are interconnected logically by a virtual network
across several physical networks.

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Properties of virtual clusters

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Physical vs. virtual cluster
● Virtual clusters are built with VMs installed at distributed servers from one or
more physical clusters.
● The VMs in a virtual cluster are interconnected logically by a virtual network
across several physical networks.
● Each virtual cluster is formed with physical machines or a VM hosted by multiple
physical clusters. The virtual cluster boundaries are shown as distinct
boundaries.
● The provisioning of VMs to a virtual cluster is done dynamically to have the
following interesting properties:
○ The virtual cluster nodes can be either physical or virtual machines. Multiple VMs running with
different OSes can be deployed on the same physical node.

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Four virtual clusters over 3 physical clusters

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Physical vs. virtual cluster
● VMs can be colonized (replicated) in multiple servers for the purpose of
promoting distributed parallelism, fault tolerance, and disaster recovery
● The size (number of nodes) of a virtual cluster can grow or shrink dynamically,
similar to the way an overlay network varies in size in a peer-to-peer (P2P)
network.
● A VM runs with a guest OS, which is often different from the host OS, that
manages the resources in the physical machine, where the VM is implemented.
● The purpose of using VMs is to consolidate multiple functionalities on the same
server. This will greatly enhance server utilization and application flexibility.
● The failure of any physical nodes may disable some VMs installed on the failing
nodes. But the failure of VMs will not pull down the host system.

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Virtual cluster based on application partitioning

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Virtualization for Data Center Automation
● Data centers have grown rapidly in recent years, and all major IT companies are
pouring their resources into building new data centers. In addition, Google, Yahoo!,
Amazon, Microsoft, HP, Apple, and IBM are all in the game. All these companies have
invested billions of dollars in data-center construction and automation. Data-center
automation means that huge volumes of hardware, software, and database resources in
these data centers can be allocated dynamically to millions of Internet users
simultaneously, with guaranteed QoS and cost-effectiveness.
● This automation process is triggered by the growth of virtualization products and cloud
computing services. From 2006 to 2011, according to an IDC 2007 report on the growth
of virtualization and its market distribution in major IT sectors. In 2006, virtualization
has a market share of $1,044 million in business and enterprise opportunities. The
majority was dominated by production consolidation and software development.
Virtualization is moving towards enhancing mobility, reducing planned downtime (for
maintenance), and increasing the number of virtual clients.

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Virtualization for Data Center Automation
● The latest virtualization development highlights high availability (HA), backup
services, workload balancing, and further increases in client bases. IDC projected
that automation, service orientation, policy-based, and variable costs in the
virtualization market. The total business opportunities may increase to $3.2
billion by 2011. The major market share moves to the areas of HA, utility
computing, production consolidation, and client bases. In what follows, we will
discuss server consolidation, virtual storage, OS support, and trust management
in automated data-center designs.

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Virtualization for Data Center Automation
● 1. Server Consolidation in Data Centers : In data centers, a large number of
heterogeneous workloads can run on servers at various times. These
heterogeneous workloads can be roughly divided into two categories: chatty
workloads and noninter-active workloads. Chatty workloads may burst at some
point and return to a silent state at some other point. A web video service is an
example of this, whereby a lot of people use it at night and few peo-ple use it
during the day. Noninteractive workloads do not require people’s efforts to make
progress after they are submitted. High-performance computing is a typical
example of this. At various stages, the requirements for resources of these
workloads are dramatically different. However, to guarantee that a workload will
always be able to cope with all demand levels, the workload is statically
allo-cated enough resources so that peak demand is satisfied.

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Virtualization for Data Center Automation
● Therefore, it is common that most servers in data centers are underutilized. A
large amount of hardware, space, power, and management cost of these servers
is wasted. Server consolidation is an approach to improve the low utility ratio of
hardware resources by reducing the number of physical servers. Among several
server consolidation techniques such as centralized and physical consolida-tion,
virtualization-based server consolidation is the most powerful. Data centers
need to optimize their resource management. Yet these techniques are
performed with the granularity of a full server machine, which makes resource
management far from well optimized. Server virtualization enables smaller
resource allocation than a physical machine.

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Virtualization for Data Center Automation
● In general, the use of VMs increases resource management complexity. This
causes a challenge in terms of how to improve resource utilization as well as
guarantee QoS in data centers. In detail, server virtualization has the following
side effects:
○ Consolidation enhances hardware utilization. Many underutilized servers are consolidated into
fewer servers to enhance resource utilization. Consolidation also facilitates backup services and
disaster recovery.
○ This approach enables more agile provisioning and deployment of resources. In a virtual
environment, the images of the guest OSes and their applications are readily cloned and reused.
○ The total cost of ownership is reduced. In this sense, server virtualization causes deferred
purchases of new servers, a smaller data-center footprint, lower maintenance costs, and lower
power, cooling, and cabling requirements.
○ This approach improves availability and business continuity. The crash of a guest OS has no effect
on the host OS or any other guest OS. It becomes easier to transfer a VM from one server to
another, because virtual servers are unaware of the underlying hardware.
Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)
Virtualization for Data Center Automation
● In general, the use of VMs increases resource management complexity. This
causes a challenge in terms of how to improve resource utilization as well as
guarantee QoS in data centers. In detail, server virtualization has the following
side effects:
○ Consolidation enhances hardware utilization. Many underutilized servers are consolidated into
fewer servers to enhance resource utilization. Consolidation also facilitates backup services and
disaster recovery.
○ This approach enables more agile provisioning and deployment of resources. In a virtual
environment, the images of the guest OSes and their applications are readily cloned and reused.
○ The total cost of ownership is reduced. In this sense, server virtualization causes deferred
purchases of new servers, a smaller data-center footprint, lower maintenance costs, and lower
power, cooling, and cabling requirements.
○ This approach improves availability and business continuity. The crash of a guest OS has no effect
on the host OS or any other guest OS. It becomes easier to transfer a VM from one server to
another, because virtual servers are unaware of the underlying hardware.
Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)
Virtualization for Data Center Automation
● To automate data-center operations, one must consider resource scheduling,
architectural support, power management, automatic or autonomic resource
management, performance of analytical mod-els, and so on. In virtualized data
centers, an efficient, on-demand, fine-grained scheduler is one of the key factors
to improve resource utilization. Scheduling and reallocations can be done in a
wide range of levels in a set of data centers. The levels match at least at the VM
level, server level, and data-center level. Ideally, scheduling and resource
reallocations should be done at all levels. However, due to the complexity of this,
current techniques only focus on a single level or, at most, two levels.

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Virtualization for Data Center Automation
● Dynamic CPU allocation is based on VM utilization and application-level QoS
metrics. One method considers both CPU and memory flowing as well as
automatically adjusting resource over-head based on varying workloads in
hosted services. Another scheme uses a two-level resource management system
to handle the complexity involved. A local controller at the VM level and a global
controller at the server level are designed. They implement autonomic resource
allocation via the interaction of the local and global controllers. Multicore and
virtualization are two cutting tech-niques that can enhance each other.

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Virtualization for Data Center Automation
● However, the use of CMP is far from well optimized. The memory system of CMP
is a typical example. One can design a virtual hierarchy on a CMP in data centers.
One can consider protocols that minimize the memory access time, inter-VM
interferences, facilitating VM reassignment, and supporting inter-VM sharing.
One can also consider a VM-aware power budgeting scheme using multiple
managers integrated to achieve better power management. The power budgeting
policies cannot ignore the heterogeneity problems. Consequently, one must
address the trade-off of power saving and data-center performance.

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Virtualization for Data Center Automation:Virtual
Storage Management
● The term “storage virtualization” was widely used before the renaissance of
system virtualization. Yet the term has a different meaning in a system
virtualization environment. Previously, storage virtualiza-tion was largely used
to describe the aggregation and repartitioning of disks at very coarse time scales
for use by physical machines. In system virtualization, virtual storage includes
the storage managed by VMMs and guest OSes. Generally, the data stored in this
environment can be classified into two categories: VM images and application
data. The VM images are special to the virtual environment, while application
data includes all other data which is the same as the data in traditional OS
environments.

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Virtualization for Data Center Automation:Virtual
Storage Management
● The most important aspects of system virtualization are encapsulation and
isolation. Traditional operating systems and applications running on them can be
encapsulated in VMs. Only one operating system runs in a virtualization while
many applications run in the operating system. System virtualization allows
multiple VMs to run on a physical machine and the VMs are completely isolated.
To achieve encapsulation and isolation, both the system software and the
hardware platform, such as CPUs and chipsets, are rapidly updated. However,
storage is lagging. The storage systems become the main bottleneck of VM
deployment.

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Virtualization for Data Center Automation:Virtual
Storage Management
● In virtualization environments, a virtualization layer is inserted between the
hardware and traditional operating systems or a traditional operating system is
modified to support virtualization. This procedure complicates storage
operations. On the one hand, storage management of the guest OS per-forms as
though it is operating in a real hard disk while the guest OSes cannot access the
hard disk directly. On the other hand, many guest OSes contest the hard disk
when many VMs are running on a single physical machine. Therefore, storage
management of the underlying VMM is much more complex than that of guest
OSes (traditional OSes).

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Virtualization for Data Center Automation:Virtual
Storage Management
● In addition, the storage primitives used by VMs are not nimble. Hence,
operations such as remap-ping volumes across hosts and checkpointing disks are
frequently clumsy and esoteric, and sometimes simply unavailable. In data
centers, there are often thousands of VMs, which cause the VM images to become
flooded. Many researchers tried to solve these problems in virtual storage
management. The main purposes of their research are to make management
easy while enhancing performance and reducing the amount of storage occupied
by the VM images. Parallax is a distributed storage system customized for
virtualization environments. Content Addressable Storage (CAS) is a solution to
reduce the total size of VM images, and therefore supports a large set of
VM-based systems in data centers.

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


Virtualization for Data Center Automation:Virtual
Storage Management
● Since traditional storage management techniques do not consider the features of
storage in virtualization environments, Parallax designs a novel architecture in
which storage features that have traditionally been implemented directly on
high-end storage arrays and switchers are relocated into a federation of storage
VMs. These storage VMs share the same physical hosts as the VMs that they
serve. Figure 3.26 provides an overview of the Parallax system architecture. It
supports all popular system virtualization techniques, such as paravirtualization
and full virtualization. For each physical machine, Parallax customizes a special
storage appliance VM. The storage appliance VM acts as a block virtualization
layer between individual VMs and the physical storage device. It provides a
virtual disk for each VM on the same physical machine.

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


References
1. Difference between abstraction and virtualization,
http://www.differencebetween.net/technology/difference-between-abstraction-and-virtualiz
ation/
2. Load balancing and cloud computing,
https://www.slideshare.net/UtshabSaha/load-balancing-in-cloud-computing-newppt
3. Load balancing and virtualization, https://avinetworks.com/glossary/virtual-load-balancer/
4. Types of virtualization, https://www.javatpoint.com/virtualization-in-cloud-computing
5. Hypervisor and its types, https://www.geeksforgeeks.org/hypervisor/
6. Machine imaging, https://cloud.google.com/compute/docs/machine-images
7. Porting applications, https://www.techopedia.com/definition/26493/application-portability
8. Portable applications,
https://www.geeksforgeeks.org/portable-applications-in-cloud-and-their-barriers/
9. Virtual machine provisioning,
https://www.geeksforgeeks.org/virtual-provisioning-in-virtualized-data-centre/?ref=gcse
10. Virtual machine migration,
https://www.techopedia.com/definition/15033/virtual-machine-migration-vm-migration

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)


References
11. Types of VM migration, https://www.sciencedirect.com/topics/computer-science/virtual-machine-migration
12. Migrating Virtual Machines,
https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.vsphere.vcenterhost.doc/GUID-FE2B516E-7366
-4978-B75C-64BF0AC676EB.html
13. Live migration,
https://www.techtarget.com/searchitoperations/definition/live-migration#:~:text=What%20is%20live%20migra
tion%3F,a%20major%20step%20in%20virtualization.
14. Virtual migration services, https://www.youtube.com/watch?v=gXwaHs_IbMw
15. Virtual machine provisioning, https://www.youtube.com/watch?v=bK_M2bG7Fyk
16. Virtual machine provisioning, https://research.iaun.ac.ir/pd/faramarz_safiold/pdfs/HomeWork_6541.pdf
17. Virtualization of CPU,
18. Memory and I/O devices ,https://snscourseware.org/snsctnew/files/1583138375.pdf
19. Virtual clusters and resource management, https://www.youtube.com/watch?v=SWzc9bid_0g
20. Virtual clusters and resource management, https://www.youtube.com/watch?v=HETDZ2I6BYs
21. Virtual clusters, https://www.brainkart.com/article/Physical-versus-Virtual-Clusters_11344/
22. Virtual data center and automation,
https://www.brainkart.com/article/Virtualization-for-Data-Center-Automation_11348/

Dr. Ami T. Choksi @CKPCET Cloud Computing (3170717)

You might also like