Unit 3:-Abstraction and Virtualization
Unit 3:-Abstraction and Virtualization
Unit 3:-Abstraction and Virtualization
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
Distributed Computing for Performance and Reliability
Almost all Cloud services are delivered by a method called Virtualization.
In this context ,Virtualization means ,how the end user will consume Cloud service.
From the user’s perspective ,your Virtualized hardware processes information is identically to physical hardware.
Virtual hardware is a part of the Cloud provider’s or data center’s physical hardware ,allocated to the customers
for a periods of time, through the day.
Virtual processing shares the Cloud providers H/W :
Processing hardware
Disk and Storage
Memory
Networking
Desktop
Hypervisor
A hypervisor is a software layer which provides the Type1 hypervisors directly run on the physical
capability to run multiple virtual machines on the hardware. They control the hardware as well as
same physical host. manage the virtual machines. Type1 are also
There are two types of Hypervisor termed as bare metal hypervisors. It also
Type1 hypervisors provides OS.
Type2 hypervisors. Type2 hypervisors run as an application on an
existing operating system (also known as the
host operating system), which is installed on
the bare metal.
Virtualization is the “creation of virtual(rather than actual) version of something ,such as a Server, a desktop, a
Storage device, an Operating System or Network resources”.
Example of Virtualization are the partitions we create in the hard disk of our desktop or Laptop.
Initially the techniques of virtualization was limited to Servers only, but nowadays it has spread to
application ,desktop, data and networks.
The main goal of virtualization is to manage workloads by transforming traditional computing to make it more
scalable.
Definition:- Virtualization refers to technologies that are designed to provide a layer of abstraction between
layers of hardware and software ,as well as layers of software that enables a more simplified interaction with it.
Virtualization Concept
Maximizing Resources
Reducing Hardware cost
Minimizing Maintenance Requirements
Enjoying benefits of OS services
Using Multiple Systems
Increasing System security.
Load Balancing and Virtualization
IT industry is growing each day and so is the need for computing and storage resources.
Large quantities of data are generated and exchanged over the network which further need more and more
computing resources.
Organizations, to better capitalize their investment, are opening their infrastructure to new found virtualization
technologies like Cloud computing.
Cloud has helped enterprises leverage the benefits of computing resources which are shared over a virtualized
environment.
A lot of enterprises are already using cloud-based services in one or the other form.
This brings us to the concept of load balancing in cloud.
What is load balancing in Cloud computing?
A website or a web-application can be accessed by a plenty of users at any point of time.
It becomes difficult for a web application to manage all these user requests at one time. It may even result in
system breakdowns.
For a website owner, whose entire work is dependent on his portal, the sinking feeling of website being down or
not accessible also brings lost potential customers.
Here, the load balancer plays an important role.
What is Cloud Load Balancing?
Cloud Load balancing is the process of distributing workloads and computing resources across servers.
This kind of distribution ensures maximum throughput in minimum response time.
The workload is segregated among servers, hard drives, network interfaces or other computing resources,
enabling better resource utilization and system response time.
Thus, for a high traffic website, effective use of cloud load balancing can ensure business continuity.
Continue…..
The common objectives of using load balancers are:
To maintain system firmness.
To improve system performance.
To protect against system failures.
Similarly, Azure’s Traffic Manager allocates its cloud servers’ traffic across multiple datacenters.
Understanding Machine Imaging
Machine imaging is a process that is used to provide system portability, and provision and deploy systems in the cloud
through capturing the state of systems using a system image.
A system image makes a copy or a clone of the entire computer system inside a single file. The image is made by using a
program called system imaging program and can be used later to restore a system image.
For example Amazon Machine Image (AMI) is a system image that is used in the cloud computing.
The Amazon Web Services uses AMI to store copies of a virtual machine. An AMI is a file system image that contains an
operating system, all device drivers, and any applications and state information that the working virtual machine would
have.
The AMI files are encrypted and compressed for security purpose and stored in Amazon S3 (Simple Storage System)
buckets as a set of 10MB chunks. Machine imaging is mostly run on virtualization platform due to this it is also called as
Virtual Appliances and running virtual machines are called instances.
A machine image is a Compute Engine resource that stores all the configuration, metadata, permissions, and data from one
or more disks required to create a virtual machine (VM) instance.
You can use a machine image in many system maintenance scenarios, such as instance creation, backup and recovery, and
instance cloning.
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.
Porting(Portability) Application
Portability means that you can move an application The Simple Cloud API
from one host environment to another, including If you build an application on a platform such as
cloud to cloud such as from Amazon Web Services Microsoft Azure, porting that application to Amazon
to Microsoft Azure. Web Services or GoogleApps may be difficult.
Developers who write software to run in the cloud will So, In an effort to create an interoperability standard,
absolutely want the ability to port their applications Zend Technologies has started an open source initiative to
from one cloud vendor to another, but that is a much create a common application program interface that will
more difficult proposition. allow applications to be portable.
Cloud computing is a relatively new area of The initiative is called the Simple API for Cloud
technology, and the major vendors have technologies Application Services.
that don’t interoperate with one another.
AppZero Virtual Application Appliance
Applications that run in datacenters are locked up to the operating systems and hardware platforms that they run on.
So moving an applications from one platform to another isn’t nearly simple.
VAA creates a container that encapsulates the application and all the application’s dependencies within a set of files.
Dependencies include DLL, service settings, necessary configuration files, registry entries, and machine and network
settings.
This container forms an installable server-side application stack that can be run after installation, but has no impact on the
underlying operating system.
VAAs are created using the AppZero Creator wizard, managed with the AppZero Admin tool, and may be installed using
the AppZero Director, which creates a VAA runtime application.
Installations can be done over the network after the AppZero application appliance is installed. Therefore, with this system,
you could run applications on the same Windows Server and eliminate one application from interfering with another;
applications would be much more easily ported from one Windows system to another.
AppZero’s approach provides the necessary abstraction layer that frees an application from its platform dependence.
VIRTUAL MACHINES PROVISIONING AND MANAGEABILITY
Virtual machine provisioning, is a systems management process that creates a new virtual machine (VM) on a physical host
server and allocates computing resources to support the VM.
These computing resources typically include CPU ,memory space, storage etc..
Now, with the emergence of virtualization technology and the cloud computing IaaS model:
It is just a matter of minutes to achieve the same task. All you need is to provision a virtual server through a self-service
interface with small steps to get what you want with the required specifications.
1) provisioning this machine in a public cloud like Amazon Elastic Compute Cloud (EC2), or
2) using a virtualization management software package or a private cloud management solution installed at your data
center in order to provision the virtual machine inside the organization and within the private cloud setup.
Virtual Machines Provisioning and Manageability
• An overview on the typical life cycle of VM and its major
possible states of operation which
Make the management and automation of VMs in virtual
and cloud environments easier than in traditional
environment
Typically, these are the tasks required or being performed by an IT or a datacenter’s specialist to provision
a particular virtual machine
Continue…
• To summarize, Server provisioning is defining server’s configuration
Based on the organization requirements, a hardware, and software component
i.e. Processor, RAM, storage, networking, operating system, applications, etc.
• Virtual machines can be provisioned
By manually installing an operating system
By using a preconfigured VM template
By cloning an existing VM
By importing a physical server or a virtual server from another hosting platform
• Physical servers can also be virtualized and provisioned using P2V (physical to virtual) tools and techniques
e.g., virt-p2v
Continue…
• A template can be created
After creating a virtual machine by virtualizing a physical server or by building a new virtual server in the
virtual environment, a template can be created out of it
Most virtualization management vendors provide the data center’s administration with the ability to do such tasks
in an easy way
• e.g., VMware, XenServer, etc.
Provisioning from a template is an helpful feature
• Reduces the time required to create a new virtual machine
Administrators can create different templates for different purposes
Create a Windows 2003 Server template for the finance department
Or a Red Hat Linux template for the engineering department
Enables the administrator to quickly provision a correctly configured virtual server on demand
• The problem of virtual machine’s sprawl
Virtual machines are provisioned so rapidly that documenting and managing the virtual machine’s life
cycle become a challenge.
Virtual Machine Migration Service
• Analogy for Migration Services:
• Previously, whenever there was a need for performing a server’s
• upgrade or performing maintenance tasks,
• you would required a lot of time and effort, because it is an expensive operation to maintain or upgrade a main server that has
lots of applications and users.
• Now, with the advance of the revolutionized virtualization technology and migration services associated with hypervisors’
capabilities,
• these tasks (maintenance, upgrades, patches, etc.) are very easy and need no time to accomplish.
• Provisioning a new virtual machine is a matter of minutes,
It requires environment as s/w, h/w – ConVirt 1.1, Linux Ubuntu 8.10, three m/c’s
, dell core to due processor, 4G RAM.
Provisioning in the Cloud Context
• In the cloud context, we shall discuss systems that provide the virtual
machine provisioning and migration services;
• Amazon E2C is widely known e.g for vendors that provides public cloud
services.
• Also Eucalyptus and OpenNebula are also Open source cloud tools, which
plays an role in building IaaS and public, and hybrid cloud architecture.
• Eucalyptus is implemented using commonly available Linux tools & basic web
services technology.