Lecture 2
Cloud Computing &
Virtualization
Cloud Application Development
(SE808, School of Software, Sun Yat-Sen University)
Yabo (Arber) Xu
2 / 44
Outline
Introduction to Virtualization
The Major Approaches
The Applications and Benefits
The Major Vendors
4/10/2011
2011/4/10 3
Clusterwith 1000 nodes
• High cost
• High complexity
• Low flexibility
OS
App 1 App 2 App 3
user user user
super user
App 4user
user
Management Cost
Software Cost
Hardware Cost
IDC cost
Single Host
• Deploy separately
• Manage separately
• Low utilization (<10%)
• Single Task,Single User
• Multi-task,Single User
• Multi-task,Multi-user
• A single OS for each Host
IT Infrastructure
Traditional Stack
4 / 44
More Facts on Why Virtualization
9-9-1 Principle for Hardware Usage
• 90% servers, 90% time, 10% utilization
Enterprises that do not leverage virtualization*
• pay up to 40 percent morein acquisition costs by 2008, and
• roughly 20 percent morein administrative costs
* The Future of Server Virtualization, T. Bittman, Gartner’s Research Note, July 2003.
4/10/2011
5 / 44
What is Virtualization?
10 April 2011
Hardware Operating System
App App App
Traditional Stack Hardware
OS
App App App
Hypervisor
OS OS
Virtualized Stack
6 / 44
6
Close-up*
* adapted from a diagram in VMware white paper, Virtualization Overview
x86 Architecture
Virtual Machine Monitor Server
1
Guest OS
Server 2
Guest OS
Clustering Service Console
Intercepts
hardware requests
7 / 44
What is Virtualization?
Virtualization, in computing, is the creation of a virtual (rather than actual) version of something, such as a hardware platform, operating system, a storage device or network resources.
–Wikipedia
The ability to run multiple operating systems on a single physical system and share the underlying hardware resources
– VMWare White Paper
Virtualization is a way to encapsulate the computing
resource away from the hardware.
8 / 44
Types of Virtualization Technology
Hardware Partition
• Approach
• Partition the hardware resource
• Each partition has their own CPU/Memory and indepdent OS installed
• Cons
• Lack of flexibility on resource management
4/10/2011
SMP Server OS
App App
Partition Controller
OS
9 / 44
Types of Virtualization Technology
Virtual Machine Monitor (VMM)
• VMM as an application on Host OS, no host OS kernel modification touched.
• VMM adds an complete set of hardware simulation for guest OS
Pros
• Different OS on a single node
Cons
• High cost of hardware instruction translation, low efficiency.
Products
• VMWare
4/10/2011
Hardware OS
App App App
Host OS
OS OS
Virtual Machine Monitor
Virtual Hardware
Virtual Hardware
Virtual Hardware
10 / 44
Types of Virtualization Technology
Para-Virtualization
• Modify OS kernel, and add a Xenhypervisor level. Allow multiple guest OS to run and Xenhypervisor does the resource allocation.
• Efficiency improved marginally compared to VMM.
New trend
• Intel/AMD recently add virtualization (VT) support into CPU instruction set
• No modification of kernel needed, and efficiency is greatly improved.
Products
• Xen Server
4/10/2011
Hardware
Unix Ported to Xen Architecture
Unmodified App
XenHypervisor
Unix Ported to Xen Architecture
Unmodified
App
11 / 44
Types of Virtualization Technology
OS Virtualization
• One OS instance on a single node.
• Virtualization platform on top of OS offers multiple containers
• Each container is a virtual OS ( or Virtual Environment/Virtual Private Server)
Pros
• Low cost and a server may run hundreds of VPS.
Products
• SWSoft’sVirtuozzo/Open VZ
• Sun Solaris Container
4/10/2011
Hardware
Container
Host OS
OS Virtualization Platform
Container
12 / 44
Comparison among different approaches
4/10/2011
Hardware Partition
VMM Para-VM OS-VM
Products IBM VMWare XenServer
Virtuozzo/openVZOSKernal Change
No No Yes (No with VT
support CPU)
No
Guest OS Yes Yes Yes No
Virtual Hardware No Yes Part of No
Efficency High Low High Very high
Cost Low High Low Very low
OS instances on a single node
Hardware dependent
1-3 1-5 hundreds
Product type N/A Business/Free
version/No opensource
Open source Virtuozzon
forBussiness,
openVZ for open
source
Applications of Virtualization
Partition
• Run multiple OS on a single node
Pros
Increase utilization
High availability: partitions as a cluster support load-
balance/fault-tolerance
Applications of Virtualization
Separation
• Separate different OS instance from the hardware, and separate OS from OS.
Pros
Better reliability: A breakdown of an OS instance does not affect the others
Better security: Any attacks can not spread to the
applications in other
containers.
Applications of Virtualization
Encapsulation
• VM encapsulated as an hardware-independent file .
Take snapshot of VM any time
Support VM Live Migration by
simple file copy.
16 / 44
Benefits of Virtualization
Increased hardware utilization
Increased resource standardization
High availability
• Support virtual server migration between virtual hosts, across sites if needed, with minimal downtime
• Support server snapshot before patches or application upgrades
Rapid Deployment of new environments
17 / 44
20090909_VirtualizationA ndCloud
17
Virtualization Status
Server virtualization is the engine that drives cloud computing
• Allows dynamic resource allocation
Hardware support
• Fits well with the move to 64 bit (very large memories) multi-core (concurrency) processors.
• Intel VT (Virtualization Technology) provides hardware to support the Virtual Machine Monitor layer
Virtualization is now a well-established technology
Major VM Vendors
19 / 44