Unit 3:-Abstraction and Virtualization

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 31

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

Customer 1 Customer 2 Customer 3


 A Hypervisor is a product that run by the Cloud
Provider to allocate the services to individual
instances to consumed by the customer.
Types of Hypervisors

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

Type1 hypervisors Type2 hypervisors


Types 1Hypervisors

 This is also known as Bare Metal or Embedded or Native


Hypervisor.
 It works directly on the hardware of the host and can monitor
OS that runs above the Hypervisor.
 It is completely independent from the Operating System.
 The main task of Hypervisor is sharing and managing hardware
resources between different operating system.
 A major advantage is that any problem in one Virtual machine
or guest operating system do not affect the other guest operating
system running on the hypervisor.
 Example:- Vmare Exsi, HyperV ,XENServer, Citrix
Types 2 Hypervisors

 This is also known as Hosted Hypervisor.


 In this case ,the hypervisor is installed on an operating
system and then support other operating system above it.
 It is completely dependent on host Operating system for its
operations.
 While having a base operating system allows better
specification of policies.
 Example: Vmware Fusion, Oracle Virtual Box, Solaris
Zones, Vmware workstations .
What is Virtualization?

 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

 Creating a Virtual machine over existing operating


system and hardware is referred as Hardware
Virtualization.
 Virtual Machine provides an environment that is logically
separated from the underlying hardware.

 The machine on which the virtual machine is created is


known as Host machine and virtual machine is referred
as a guest machine .
 This virtual machine is managed by a software known
as hypervisor.
Need of Virtualization
Need of Virtualization
Benefits of Virtualization

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

 How Load Balancing Works ?


 Here, load refers to not only the website traffic but also includes CPU load, network load and memory capacity of each server.
 A load balancing technique makes sure that each system in the network has same amount of work at any instant of time. This
means neither any of them is excessively over-loaded, nor under-utilized.
 Different companies may use different load balancers and multiple load balancing algorithms like static and dynamic load
balancing. One of the most commonly used methods is Round-robin load balancing.
 Cloud providers like Amazon Web Services (AWS), Microsoft Azure and Google offer cloud load balancing to facilitate easy
distribution of workloads.
 For ex: AWS offers Elastic Load balancing (ELB) technology to distribute traffic among EC2 instances.

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

 An application running on Windows, for example, is inaccessible from other applications.


 When the application loads, it often loads different Dynamic Link Libraries (DLL), and it is through the sharing or
modification of DLLs that Windows applications get themselves in trouble.
 Further modifications include modifying the registry during installation. These factors make it difficult to port applications
from one platform to another without lots of careful work.
 If you are a Platform as a Service (PaaS) application developer, you are packaging a complete software stack that
includes not only your application, but the operating system and application logic and rules as well.
 Vendor lock-in for you application is guaranteed.
 The ability to run an application from whatever platform you want is not one of the characteristics of cloud computing.
 One company working on this problem is AppZero, and its solution is called the Virtual Application Appliance (VAA)
AppZero Virtual Application Appliance
 The AppZero solution creates a virtual application appliance as an architectural layer between the Windows or the
UNIX operating system and applications.
 The virtualization layer serves as the mediator for file I/O, memory I/O, and application calls and response to DLLs, which
has the effect of sandboxing the application.
 The running application in AppZero changes none of the registry entries or any of the files on the Windows Server.

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

Analogy for Virtual Machine Provisioning:


 Historically, when there is a need to install a new server for a certain workload to provide a particular service for a client, lots
of effort was exerted by the IT administrator, and much time was spent to install and provision a new server.
 1) Check the inventory for a new machine, 2) get one, 3) format, install OS required, 4) and install services; a server
is needed along with lots of security batches and appliances.

 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

 The life 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 the requirements
• Starting the provision of the needed virtual machine
 Once it is provisioned and started
• It is Ready to provide the required service according to an SLA
 A time period after which the VM is being released

Virtual machine life cycle


VM Provisioning Process
• The common and normal steps of provisioning a virtual server are as follows
 Firstly, you need to select a select a server from a pool of available servers along with the appropriate
OS template you need to provision the virtual machine
• Physical servers with enough capacity
 Secondly, you need to load the appropriate software i.e
• Operating system, device drivers, middleware, and the needed applications for the service required
 Thirdly, you need to Customize and configure the machine to configure an associated network and
storage resources
• e.g., IP address, Gateway
 Finally, the virtual server is ready to start with its newly loaded software.

 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,

• saving lots of time and effort,


• Migrations of a virtual machine is a matter of milliseconds:
saving time , effort , making the service alive for customers, and 4) achieving the SLA/SLO agreements and quality-of-
service (QoS) specifications required.
• Migration service is the process of moving a virtual machine from one host server or storage location to another.
• Different techniques of VM migration
 Hot/live migration, cold/regular migration, and live storage migration of a virtual machine
• In this process, all key machines’ components, are completely virtualized
 e.g., CPU, storage disks, networking, memory
Live migration

 Also called hot or real-time migration


 The movement of a virtual machine from one physical host to another while being powered is ON
• When it is properly carried out, this process takes place without any noticeable effect from the end user’s point of
view (a matter of milliseconds).
 One of the most significant advantages of live migration is the fact that it ,
 facilitates proactive maintenance in case of failure, because the potential problem can be resolved before the
disruption of service occurs.
 Live migration can also be used for load balancing
 in which work is shared among computers in order to optimize the utilization of available CPU resources
Live Migration Vendor Implementations Example
• There are lots of VM management and provisioning tools that provide the live migration of VM facility, two of which
are VMware VMotion and Citrix XenServer “XenMotion”.
• VMware Vmotion
 Allows users to automatically optimize and allocate an entire pool of resources
• For maximum hardware utilization, flexibility, and availability
 To perform hardware’s maintenance without scheduled downtime
• Along with migrating virtual machines away from failing or underperforming servers

• Citrix XenServer XenMotion


 Inherited from the Xen live migrate utility
 IT Provides the IT administrator with the facility to move a running VM from one XenServer to another
in the same pool without interrupting the service making it a highly available service also a good
feature to balance the workloads on the virtualized environment
Regular/Cold Migration
Cold migration is the migration of a powered-off virtual machine.
You have the option of moving the associated disks from one data store to another
• The virtual machines are not required to be on a shared storage
• Live migration needs a shared storage for virtual machines in the server’s pool
In live migration for a virtual machine between two hosts, there would be certain CPU compatibility checks to be
applied
• While In cold migration this checks do not apply
The cold migration process is simple implement than hot migration.
• The configuration files are moved from the source host to the destination host’s associated storage area
•Including the NVRAM file (BIOS settings), log files, as well as the disks of the virtual machine
•The virtual machine is registered with the new host
•After the migration is completed, the old version of the virtual machine is deleted from the source host
VM Provisioning and Migration in Action
Its time to known with real examples of how we can manage the life cycle,
provisioning and migration of VM by help of Open Source framework used to
manage virtual infrastructure.

E.g. ConVirt, Xen, KVM

ConVirt deployment consist of at least one ConVirt workstation, where ConVirt is


installed and run, which provides the main console for managing the VM life
cycle, images, provisioning new VM monitoring m/c resources and so on.

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 a system for implementing On-premise private and hybrid clouds.

• Eucalyptus is implemented using commonly available Linux tools & basic web
services technology.

You might also like