Vous êtes sur la page 1sur 38

Virtualization

What is virtualization?
Virtualization basically allows one computer to do the job of
multiple computers, by sharing the resources of a single
hardware across multiple environments

Virtual Virtual
Container Container

App. A App. B App. CApp. D


App. A App. B App. C App. D

Operating System Virtualization Layer

Hardware Hardware

‘Nonvirtualized’ Virtualized system


system It makes it possible to run
A single OS controls all multiple Virtual Containers on
hardware platform a single physical platform
What is Virtualization?
• Virtualization:
– Process of presenting and partitioning computing
resources in a logical way rather than partitioning
according to physical reality
• Virtual Machine:
– An execution environment (logically) identical to a
physical machine, with the ability to execute a full
operating system
• In OS: The Process abstraction is related to
virtualization: it’s at least similar to a physical
machine
Advantages of the Process
Abstraction
• Each process is a pseudo-machine
• Processes have their own registers,
address space, file descriptors
(sometimes)
• Protection from other processes
Disadvantages of the Process
Abstraction
• Processes share the file system
• Difficult to simultaneously use different
versions of:
– Programs, libraries, configurations
Disadvantages of the Process
Abstraction
• Processes share the same kernel
– Kernel/OS specific software
– Kernels are large: errors
• Processes have limited degree of
protection, even from each other
Why Use Virtualization?
• Process abstraction at the kernel layer
– Separate file system
– Different machine owners
• Offers much better protection (in theory)
– Secure hypervisor, fair scheduler
• Run two operating systems on the same
machine!
What is Virtualization?
Logical representation of resources not constrained by physical
limitations

► Create many virtual resources within single physical device

► Reach beyond the box – see and manage many virtual resources
as one

► Dynamically change and adjust across the infrastructure

IBM Virtualization Engine


A comprehensive platform to
help virtualize the infrastructure
8
Definition
• Virtualization is a framework or
methodology of dividing the resources of a
computer into multiple execution
environments, by applying one or more
concepts or technologies such as
hardware and software partitioning, time-
sharing, partial or complete machine
simulation, emulation, quality of service,
and many others.
Virtualization Scope
Extended Enterprise
Inter- and Intra-enterprise
Global Fabrics

Extended System
Heterogeneous servers, storage and
networks; application-based networks

Single System
Common hardware; multiple OS;
partitions; virtual I/O and networks

10
Motivators
Virtualization Motivators

Reduce costs 57%

Simplify IT infrastructure & admin 48%

Increase server utilization 48%

Increase scalability of infrastructure 29%

Enhance resilience & reliability 25%

Improve flexibility to business goals and cycles 16%

Improve app performance 15%

Automate IT operations 11%

Accelerate App Development & deployment 11%

Have a single view on the IT environment 10%

Manage a heterogeneous server environment 9%

Manage a heterogeneous storage environment 6%

What apps on what servers. How they relate. 5%

Enable a SOA 4%

Other 1%

Source: STG MI (1Q06)


11
Inhibitors to Virtualization Adoption...

For those who have No plans to implement

No need 67%

Lack of skills 27%

Quantify value 25%

No clear vision from 13%


vendors
Org. barriers 13%

Chargeback, billing 5%
end users
Product availability 3%

Other 8%

12
Simplify Server & Storage Public
Internet/
Intranet
Environment Firewalls Routers
Clients

(Layer 3
Switches)

Layer 4-7
Switches SSL Appliances
Web Servers

ERP Layer 2
App File/Print Switches
Caching Appliances
Sec Servers

Mgmt
SCM

FS 7

Web
ERP
WS
SCM Gate
Gate Gate FS WS Mgmt ERP Web
Gate

ERP App Sec


Storage
Fibre
Switches
Storage
Fibre
Switches

Storage Area Network

13
Simplify Server & Storage
Environment Public
Internet/
Intranet
Clients
Firewalls Routers
(Layer 3
Switches)

ERP

Mgmt
FS 7

Web
ERP
WS
App SCM
Sec Gate
Gate

Storage Area Network


Benefits
Storage Storage Storage  Reduce mgmt
Pool Pool Pool costs
 Increase asset
Storage Virtualization
utilization
 Enhance
security &
performance
 Shared access

14
Virtualization Platform

Workload Information
Virtualization Virtualization
Key Principles
Standards and Open Interfaces
 Comprehensive
 Open Virtual Access and
 Heterogeneous Management
 Common skills
Resource Virtualizers
Servers Storage Networks

15
Why Use Virtualization?
• Huge impact on enterprise hosting
– No longer have to sell whole machines
– Sell machine slices
– Can put competitors on the same physical hardware
Can separate instance of VM from instance of
hardware
• Live migration of VM from machine to machine
– No more maintenance downtime
• VM replication to provide fault-tolerance
– Why bother doing it at the application level?
Disadvantages of Virtual
Machines
• Attempt to solve what really is an
abstraction issue somewhere else
– Monolithic kernels
– Not enough partitioning of global identifiers
• Provides some mechanisms, but may not
directly solve “the problem”
Disadvantages of Virtual
Machines
• Feasibility issues
– Hardware support? OS support?
– Admin support?
• Performance issues
– Is a 10-20% performance hit tolerable?
– Can your NIC or disk keep up with the load?
Two Technologies for Agility
• Virtualization:
The ability to run multiple operating systems
on a single physical system and share the
underlying hardware resources*
• Cloud Computing:
“The provisioning of services in a timely (near
on instant), on-demand manner, to allow the
scaling up and down of resources”
The Traditional Server Concept

Web Server App Server DB Server EMail


Windows Linux Linux Windows
IIS Glassfish MySQL Exchange
And if something goes wrong ...

Web Server App Server DB Server EMail


Windows DOWN! Linux Windows
IIS MySQL Exchange
The Traditional Server Concept
• System Administrators often talk about servers
as a whole unit that includes the hardware, the
OS, the storage, and the applications.
• Servers are often referred to by their function i.e.
the Exchange server, the SQL server, the File
server, etc.
• If the File server fills up, or the Exchange server
becomes overtaxed, then the System
Administrators must add in a new server.
The Traditional Server Concept
• Unless there are multiple servers, if a
service experiences a hardware failure,
then the service is down.
• System Admins can implement clusters of
servers to make them more fault tolerant.
However, even clusters have limits on
their scalability, and not all applications
work in a clustered environment.
The Traditional Server Concept
• Pros • Cons
– Easy to conceptualize – Expensive to acquire and
– Fairly easy to deploy maintain hardware
– Easy to backup – Not very scalable
– Virtually any – Difficult to replicate
application/service can – Redundancy is difficult to
be run from this type of implement
setup – Vulnerable to hardware
outages
– In many cases, processor
is under-utilized
The Virtual Server Concept

Virtual Machine Monitor (VMM) layer between Guest OS and


hardware
Close-up

Server Server
Clustering
1 2
Guest OS Guest OS
Service
Console

VMM (Virtual Machine Monitor)

x86 Architecture

Intercepts
hardware
requests
adapted from Virtualization Overview
The Virtual Server Concept
• Virtual servers seek to encapsulate the
server software away from the hardware
– This includes the OS, the applications, and the
storage for that server.
• Servers end up as mere files stored on a
physical box, or in enterprise storage.
• A virtual server can be serviced by one or
more hosts, and one host may house
more than one virtual server.
The Virtual Server Concept
• Virtual servers can still be referred to by
their function i.e. email server, database
server, etc.
• If the environment is built correctly, virtual
servers will not be affected by the loss of a
host.
• Hosts may be removed and introduced
almost at will to accommodate
maintenance.
The Virtual Server Concept
• Virtual servers can be scaled out easily.
– If the administrators find that the resources supporting
a virtual server are being taxed too much, they can
adjust the amount of resources allocated to that virtual
server
• Server templates can be created in a virtual
environment to be used to create multiple,
identical virtual servers
• Virtual servers themselves can be migrated from
host to host almost at will.
The Virtual Server Concept
• Pros • Cons
– Resource pooling – More difficult to
– Highly redundant conceptualize
– Highly available – More costly (must buy
– Rapidly deploy new hardware, OS, Apps, and
servers now the abstraction
– Easy to deploy layer)
– Reconfigurable while
services are running
– Optimizes physical
resources by doing more
with less
Virtualization Status
• Offerings from many companies
– e.g. VMware, Microsoft, Sun, ...
• 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
Suppose you are a Company
• You offer on-line • Why pay for capacity
real time stock weekends, overnight?
market data

9 AM - 5 PM,
M-F
Rate of
Server
Accesses
ALL OTHER
TIMES
Solution
• Host the web site in Amazon's EC2 Elastic
Compute Cloud
• Provision new servers every day, and
deprovision them every night
• Pay just the amount per server per hour
– Payments depend on the capacity of the
servers used
• Let Amazon worry about the hardware!
Cloud computing takes
virtualization to the next step
• You don’t have to own the hardware
• You “rent” it as needed from a cloud
Elasticity
• Elasticity and scalability. The cloud is
elastic, meaning that resource allocation
can get bigger or smaller depending on
demand. Elasticity enables scalability,
which means that the cloud can scale
upward for peak demand and downward
for lighter demand. Scalability also means
that an application can scale when adding
users and when application requirements
change.
Elasticity
• NIST's definition of elasticity :
"Capabilities that can be rapidly and elastically
provisioned, in some cases automatically, to
quickly scale out and rapidly released to quickly
scale in. To the consumer, the capabilities
available for provisioning often appear to be
unlimited and can be purchased in any quantity
at any time."
• Elasticity combined with on-demand self-service
capabilities is a force for IT.
Elasticity
• When service demand increases, elastic cloud platforms
dynamically add resources (or make more resources available to a
task).
• Thus, elasticity adds a dynamic component to scalability - but how
does this dynamic component look?
• On an ideal elastic platform, as application workload intensity
increases, the distribution of the response times of an application
service should remain stable as additional resources are made
available to the application.
• However, it is an idealistic view which also includes dynamic un-
provisioning of resources as the application workload decreases.
• The dynamic adaptation is a continuous (non-discrete) process.
• However, in reality, resources are actually measured and
provisioned in larger discrete units (i.e. one processor core, one
page of main memory, etc.), so a continuous idealistic
scaling/elasticity cannot be achieved.
User and Task Centric
• User centric : This means once an user is
connected to cloud any data there, such as
images, videos, applications, becomes his
property. Not only the data but the devices
connected also becomes his and he can
share it with other users.
• Task Centric : Cloud computing focus on
what one need and how application can do it
for us. Here documents are given more
priority than the applications which create
them

Vous aimerez peut-être aussi