Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
60 views21 pages

SOA & REST in Cloud Computing

Cloud computing

Uploaded by

Kriti Sharma
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)
60 views21 pages

SOA & REST in Cloud Computing

Cloud computing

Uploaded by

Kriti Sharma
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/ 21

Cloud Computing (KCS-713)

Cloud Computing(KCS-713)
Unit-2
> Service Oriented Architecture

Service-Oriented Architecture (SOA) is a style of software design whereservices are


provided to the other components by application components, through a
communication
protocol over a network. Its principles are independent of vendors and other
technologies.
In service oriented architecture, a number of
services communicate with each other, in
one of two ways: through passing data or through two or
more services coordinating an
activity. This is just one definition of Service-Oriented
Architecture.
SOA makes software components reusable with the help of
common comnmunication
standards (basic protocols, syntax and semantics, s/w & h/w
architecture) in such a way
that they can be rapidly incorporated into new
applications without any deep integration
(data applications, API& devices across IT
organization).
Each service in SOA embodies the code & data
integrations required to execute a
complete business function (e.g. checking of customer's credit, calculating a
monthly loan
payment).

Service interfaces in SOA provides loose coupling (having little or no


knowledge of how
the integration is implemented).
Simple protocols like HTTP, SOAP (simple object access protocol) are used to
send
requests to read or change data.
SOA was emerged in the late 1990s.

Benefits
Greater business agility.
Ability to leverage legacy functionality (to be able to lock functionality in one
platform
and to extend it to the other).
C
Improved collaboration between business & IT.
Cloud Computing (KCS-713)

Examples of SOA
By 2010, SOA
implementations were gainfully streamed in the following organizations
Delaware electric turned to SOA to integrate systems that
other. previously did not talk to each
CISCO adopted SOA to make sure that its product
ordering experience was consistent
across all products and channels by exposing
ordering processes as services that CISCO
divisions & business partners could incorporate into their
web sites.
Characteristics of Service-Oriented Architecture
While the defining concepts of
there
Service-Oriented Architecture vary from company to company,
are six key tenets that overarch the broad
concept of Service-Oriented Architecture. These
core values include:
Business value
Strategic goals
Intrinsic inter-operability
Shared services
Flexibility
Evolutionary refinement
Each of these core values can be seen on a continuum from older
format distributed computing to
Service-Oriented Architecture to cloud computing (something that is often seen as an of offshoot
Service-Oriented Architecture).

> Service-Oriented Architecture Patterns

PROCESS
01 Empower
decision Makers
-02 Align IT with
business operalions

SOA
Service Oriented
Architecture

04
PRACTICE
03 Operatonal
Increase
efficiency
Employ best
practice methology
Cloud Computing (KCS-713)

There are three roles in each of the


Service-Oriented Architecture building blocks: service
provider; service broker, service registry,
service repository; and service
requester/consumer.
The service provider works in
conjunction with the service registry, debating the whys and
hows of the services being offered, such as
more. This role also determines the
security, availability, what to charge, and
service category and if there need to be any
agreements. trading
The service broker makes
information regarding the service available to those
it. The scope of the broker is requesting
determined
The service requester locates entries in
by whoever implements it.
the broker registry and then binds them to
service provider. They may or may not be able to the
access multiple services; that depends
on the capability of the service
requester.
Service Oriented Architecture REST
Representational state transfer (REST) is a software architectural style that defines a
set of constraints to be used for creating Web
services. Web services that conform to the
REST architectural style, called RESTful Web services, provide
interoperability between
computer systems on the internet. RESTful Web services allow the requesting systems to
access and manipulate textual representations of Web resources by using a uniform and
predefined set of stateless operations. Other kinds of Web services, such as SOAP Web
services, expose their own arbitrary setsof operations.
"Web resources" were first defined on the World Wide Web as documents or fles
identified by their URLs. However, today they have a much more generic and abstract
definition that encompasses everything, entity, or action that can be identified, named,
addressed, handled, or performed, in any way whatsoever, on the Web. In a RESTÁul
Web service, requests made to a resource's URIwill elicit a response with
apayload formatted in HTML, XML, JSON, or some other format. The response can
confirm that some alteration has been made to the resource state, and the response can
provide hypertext links to other related resources. When HTTP is used, as is most
common, the operations (HTTP methods) available are GET, HEAD, POST. PUT
PATCH, DELETE, CONNECT, OPTIONS and TRACE.
By using a stateless protocol and standard operations, RESTful systems aim for fast
performance. reliability, and the ability to grow by reusing components that can be
managed and updated without aftecting the System as awhole, even while it is running.
Cloud Computing (KCS-713)

The formal REST constraints are as follows:


Client-server architecture

The principle behind the client-server constraints is the separation of concerns.


Separating the user interface concerns from the data storage concerns improves the
portability of the user interfaces across multiple platforms. It also improves scalability by
simplifying the server components. Perhaps most significant to the Web is that the
separation allows the components to evolve independently, thus supporting the Internet
scale requirement of multiple organizational domains.

Statelessness
context being stored on the
The client-server communication is constrained by no client
client contains all the information
server between requests. Each request from any
state is held in the client. The session
necessary to service the request, and the session
another service such as a database to maintain a
state can be transferred by the server to
The client begins sending requests
persistent state for a period and allow authentication.
are
a new state. While one or more requests
when it is ready to make the transition to
transition. The representation of each
outstanding, the client is considered to be in
next time the client chooses to initiate
used the
application state contains links that can be
a new state-transition.

Cache ability
clients and intermediaries can cache responses. Responses
As on the World Wide Web, non-cacheable to
explicitly,define themselves as either cacheable or
must,implicitly or requests.
providing stale or inappropriate data in response to further
prevent clients from some client-server interactions,
completely eliminates
Well-managed caching partially or
andperformance.
further improving scalability
Layered system
the end server, or to an
ordinarily tell whether it is connected directly to
A client cannot client and
proxy or load balancer is placed between the
intermediary along the way. If a the client
communications and there won't be a need to update
affect their
server, it won't system scalability by enabling load
Intermediary servers can improve
code. on top
or server
shared caches. Also, security can be added as alayer
balancing and byproviding security logic. Adding
and then clearly separate business logic from
of the web services,
Cloud Computing (KCS-713)

security as a separate layer enforcessecurity policies. Finally, it also means that a server
can callmultiple other servers to generate a
response to the client.
Code on demand (optional)
Servers can temporarily extend or customize the functionality of a client by transferring
executable code: for example, compiled components such as Java applets, or client-side
scripts such as JavaScript.
Uniform interface

The uniform interface constraint is fundamental to the design of any


RESTful system. It
simplifies and decouples the architecture, which enables each part to evolve
independently. The four constraints for this uniform interface are:
Resource identification in requests
Individual resources are identified in requests, for example using URIs in RESTful Web
services. The resources themselves are conceptually separate from the representations
that are returned to the client. For example, the server could send data from its database
as HTML, XML or as JSON -noneof which are the server's internal representation.
Resource manipulation through representations
When a client holds a representation of a resource, including any metadata attached, it
has enough information to modify or delete the resource's state.
Self-descriptive messages
Each message includes enough information todescribe how to process the message. For
example, which parser to invoke can be specified by a media type .

> Cloud- Enabling Technology


Broadband networks and internet architecture

Data center technology


Virtualizationtechnology
Web technology
Multitenant technology

Internet architecture
1, Broadband networks &
to a network
Allclouds must be connected
Internets largest backbone networks, established and
deployed by ISPs(internet service
provider), are interconnected by core routers
Two fundamental components
Connectionless packet switching End- to- end (sender- receiver pair) data flows are
divided

into packets of a limited size Packets are


processed through network switches and
routers, then queued and forwarded from one
intermediary node to the next
Router- based interconnectivity
A router is a device that is
connected to multiple networks through which it
forwards packets
o Each packet is
individually processed
Use multiple alternative network routes

Internet Reference Model


host
host

application HTTP, SMTP, FTP


application
TCP, UDP
transport transport
router
IP
internetworking internetworking internetworking
ptiysical network physical network physical network
data link data link
protocol protocol
data link data link data link
physical physical
protocol protocol
physical physical physical

physical medium physical medium

2. Data Center Technology


Adata center is a facility used to house computer systems and associated components,
such as telecommunications and storage systems
Virtualization
Standardization and Modularity
Automation

Remote Operation and Management


Cloud Computing (KCS-713)
Virtualization
data center

virtual servers hostingvirtualized IT resources

hypervisor hypervisor hypervisor

VIM

physical servers physical storage

Standardization and Modularity


commodity hardware and designed with modular
Data centers are built upon standardized
architecture.

3. Virtualization technology
something, such as a
the "creation ofa virtual (rather than actual) version of
Virtualization is
resources'".
storage device, an operating system or network
Server, adesktop, a
a
technique, which allows sharing a single physical instance of
is a
In other words, Virtualization organizations. It does by assigninga
among multiple customers and
resource or an application that physical resource when
providing a pointer to
storage and
logical name to a physical
demanded.
as
existing operating system and hardware is known
over
Creation of a virtual machine environment that islogically separated
machine provides an
Hardware Virtualization. AVirtual
from the underlying hardware.
Cloud Computing (KCS-713)
Machine and that
The machine on which the virtual machine is going to create is known as Host
virtualmachine is referred as a Guest Machine

Types of Virtualization:
1. Hardware Virtualization.
2. Operating system Virtualization.
3. Server Virtualization.
4. Storage Virtualization.

1) Hardware Virtualization:

machine software or virtual machine manager (VMM) is directly installed on


When the virtual hypervisor is to
hardware virtualization. The main job of
the hardware system is known as other hardware resources. After virtualization
processor, memory and
control and monitoring the operating system on it and run different applications
can installdifferent
of hardware system we
on those OS.

Usage:
because controlling virtual
virtualization is mainly done for the server platforms,
Hardware
controlling a physical server.
machines is much easier than
Virtualization:
2) Operating System installed on the Host
manager (VMM) is
software or virtual machine operating system
When the virtual machine system is known as
directly on the hardware
operating system instead of
virtualization.

Usage: applications on different platforms


Virtualization is mainly used for testing the
Operating System
of OS.

3) Server Virtualization: directly installed on


machine manager (VMM) is
virtual
machine software orvirtualization.
When the virtual as server
Server system isknown
the
servers
Usage: server can be divided into multiple
physical
done because a single
virtualization is the load.
Server basisand for balancing
demand
on the
Cloud Computing (KCS-713)
4) Storage Virtualization:

Storage virtualization is the process of grouping the physical storage from multiple network
also
storage devices so that it looks like a single storage device. Storage virtualization is
implemented by using software applications.

Usage:

Storage virtualization is mnainly done for back-up and recovery purposes.

> How does virtualization work in cloud computing?


Virtualization plays a very important role in the cloud computing technology, normally
but
in the cloud computing, users share the data present in the clouds like application etc,
actually with the help of virtualization users shares the Infrastructure.
The main usage of Virtualization Technology is toprovide the applications with the
is
standard versions to their cloud users, suppose if the next version of that application
their cloud users and
released, then cloud provider has to provide the latest version to
practically it is possible because it is more expensive.
technology, By using
To overcome this problem we use basically virtualization
other cloud
virtualization, all severs and the software application which are required by
cloud providers has to pay the
providers are maintained by the third party people, and the
money on monthly or annual basis.

Data Virtualization
knowing its
virtualization is the process of retrieve data from various resources without
Data different
and physical location where it is stored. It collects heterogeneous data from
type organization to access this data according to
their
resources and allows data users across the application such as web
requirements. This heterogeneous data can be accessed using any
work application.
web services, E-commerce, Software as a Service (SaaS), and mobile
portals,
and cloud
Data Virtualization in the field of data integration, business intelligence,
We can use
computing.

Advantages of Data Virtualization


advantages of data virtualization
There are the following
memory
data without worrying about where it resides on the
It allows users to access the
customer satisfaction, retention, and revenue growth.
Itoffers better safely store their personal and
security mechanismsthat allow users to
It provides various
professional information.
reduces costs by removing data replication.
It customizedviews.
user-friendly interface to develop
It provides a
Cloud Computing (KCS-713)
It provides
various simple and fast
It increases
business user efficiencydeployment resources.
by providing data in
Itis used to perform tasks real-time.
such as data integration, business
Architecture (SOA)data services, and enterprise search. integration, Service-Oriented
Disadvantages of Data Virtualization
It creates availability issues,
because availability is maintained by
Itrequired a high third-party providers.
It creates the implementation cost.
availability and scalability issues.
Although saves time during the implementation phase of
it
more time to generate the virtualization but it consumes
appropriate result.
Uses of Data Virtualization

There are the following uses of Data


Virtualization -
1. Analyze performance

Data virtualization is used to analyze the performance of the


organization compared to previous
years.

2. Search and discover interrelated data

Data Virtualization (DV) provides a mechanism to easily search the data which is similar and
internally related to each other.

3. Agile Business Intelligence

It is one of the most common uses of Data Virtualization. It is used in agile reporting, real-time
dashboards that require timely aggregation, analyze and present the relevant data from multiple
resources. Both individuals and managers use this to monitor performance, which helps to make
daily operational decision processes such as sales, support, finance, logistics, legal, and
compliance.

4. Data Management
the unified
Data virtualization provides a securecentralized layer to search, discover, and govern
data and its relationships.

Data Virtualization Tools

Virtualization tools -
There are the following Data
Cloud Computing (KCS-713)

1. Red Hat JBoss data virtualization


those who are using micro serVices
Red Hat virtualization is the best choice for developers and
and containers. It is written in Java.

2. TIBCO data virtualization


virtualization platform for accessing the
TIBCO helps administrators and users to create a data
builtin transformation engine to combine non
multiple data sources and data sets. It provides a
relational and un-structured data sources.

3. Oracle data service integrator

very popular and powerful data integrator tool which is mainly worked with Oracle
It isa and manage data services to access a single
products. It allows organizations to quickly develop
view of data.

4.SAS Federation Server

Server provides various technologies such as scalable, multi-user, and standards


SAS Federation on securing data.
access to access data from multiple data services. It mainly focuses
based data

5. Denodo
organizations to minimize the
best data virtualization tools which allows
Denodo is one of the
for large data sets. It is
suitable for both small as
improve response time
network traffic load and
well as large organizations.
Virtualization
Industries that use Data
Communication & Technology increase revenue
Technology industry, data virtualization is used to
In Communication & marketing, manage customers,
improve
real-time ODS for
per customer, create a customer care, etc.
optimize
customer insights, and
Finance improve trade reconciliation, empowering data
DV is used to
In the feld of finance, complexity, and managing fixed-risk income.
democracy, addressing data
Government protecting the environment.
sector, DV is used for
Inthe government
In healthcare,
Healthcare
veryimportant role in the field of healthcare.
Data virtualization plays
a product innovation, accelerating M&A
patient care, drive new
DV helps to improve more efficient claim analysis.
a
synergies, and provide
Manufacturing data virtualization is used to optimize a global supply chain,
manufacturing industry, assets utilization,
In improve IT
optimize factories, and
CloudComputing (KCS-713)
> Hardware Virtualization

between physical servers and operating


Previously, there was "one to one relationship" available. So,
Low capacity of CPU, memory, and networking requirements were
system. amount of
model, the costs of doing business increased. The physical space,
by using this
were adding up.
power, and hardware required meant that costs between the
hypervisor manages shared the physical resources of the hardware
The become
operating systems and host operating system. The physical resources
guest regardless of the hardware platform. The
abstracted versions in standard formats
hardware. Then the virtualized operat1ng
abstracted hardware is represented as actual
physical entities.
system looks into these resources as they are virtualization is accomplished by
Virtualization mneans abstraction. Hardware VMM (Virtual Machine
use of a hypervisor or
abstracting the physical hardware layer by
Monitor). hypervisor
virtual machine software or virtual machine manager (VMM) or virtualization.
When the
directly installed on the hardware system is known as hardware
software is the processor, memory and
to control and monitoring
The main job of hypervisor is
other hardware resources. on it
hardware system we can install different operating system
After virtualization of
and run different applications on those OS.

Virtualization
Usage of Hardware
controlling virtual
mainly done for the server platforms, because
Hardware virtualization is
much easier than controlling a physical server.
machines is
Virtualization
Advantages of Hardware lower overall
utilization,
virtualization are moreefficient resource
hardware
The main benefits of
as increased uptime and IT flexibility.
costs as well
Resource Utilization:
1) More Efficient unused resources can be
machines. Although the
resources can be shared among virtual other virtual machines if the need exists.
Physical used by
to a virtual machine and that can be
allocated
Because Of Server Consolidation:
Overall Costs
2) Lower hardware platform, so
systemscan co-exist on a single
possible for multiple operating consumption drops
significantly.
Now it is power
number of servers, rack space, and
that the
Advanced Hardware Virtualization Features:
Because Of
3) Increased Uptime abstraction of
orchestrated operationsthat maximize the
highly migrate a running
The modern hypervisors provide maximum uptime. These functions help to
the
and help to ensure
the hardware
Cloud Computing (KCS-713)
wirtual machine from one host to another
irtual machine on another physical host indynamically, as well as maintain a running copy of
case the primary host fails.
4) Increased IT Flexibility:

Hardware virtualization helps for quick


consistent ways. That results in IT beingdeployment
of server resources in a
able to adapt guickly and provide themanaged and
resources needed in good time. business with
Software Virtualization
Managing applications and distribution becomes a typical task for IT
Installation mechanism differs from application to departments.
certain helper applications or frameworks and theseapplication. Some programs require
existing applications. applications may have contlict with
Software virtualization is just like a virtualization but able to
abstract the software
installation procedure and create virtual software installations.
Virtualized software is an application that willbe "installed" into its own
unit. self-contained
Example of software virtualization is VMware software, virtual box etc. In the next
pages, we are going to see how to install linux OS and windows OS on VMware
application.

Advantages of Software Virtualization


1) Client Deployments Become Easier:

Copyinga file to a workstation or linking a file in a network then we can easily install virtual
software.

2) Easy to manage:

Tomanage updates becomes a simpler task. You need to update at one place and deploy the
updated virtual application to the all clients.

3) Software Migration:

Without software virtualization, moving from one software platform to another platformn takes
virtualized software
much tÉme for deploving and impact on end user systems. With the help of
environnment the migration becomes easier.
Server Virtualization
a physical server into several virtual
Server Virtualization is the process of dividing
virtual private server can run independently
servers. called virtual private servers. Eacn
Server Virtualization widely used in the IT infrastructure to minimizes the
The concept of resources
utilization of existing
Costs by increasing the
Cloud Computing (KCS-713)

Types of Server Virtualization


1. Hypervisor

In the Server Virtualization, Hypervisor plays an important role. It is a layer between


the operating system (OS)and hardware. There are two types of hypervisors.

Type 1hypervisor ( also known as bare metal or native hypervisors)


Type 2 hypervisor (also known as hosted or Embedded hypervisors)
The hypervisor is mainly used to perform various tasks such as allocate physical hardware
on
resources (CPU; RAM, etc.) to several smaller independent virtual machines, called "guest"
the host machine.

2. FullVirtualization
CPUand physical server.
Full Virtualization uses a hypervisor to directly communicate with the
machines.
It provides the best isolation and security mechanism to the virtual
virtualization is that a hypervisor has its
The biggest disadvantage of using hypervisor in full
application and server performance.
own processing needs, so it can slow down the
virtualization.
VMware ESX server is the best example of full

3. Para Virtualization

this
Virtualization is quite similar to the Full Virtualization. The advantage of using
Para performance, and does not require
virtualization is that it is easier to use, Enhanced Virtualization.
UML use the Para
emulation overhead. Xen primarily and
virtualization is that, inpara virtualization hypervisor does
The difference between full and pare manage the OS.
processing power to
not need too much
Virtualization
4. Operating System
It is a server
virtualization is also called as system-lever virtualization.
Operating system operating system into multiple isolated user-space
virtualization technology that divides oneadvantage of using server visualization is that it
The biggest
called virtual environments. it willsave money.
space, so
reduces the use of physical
System
Windows OS Virtualization are the types of Operating
Linux OsVirtualization and System-Level
OpenVZ, and Linux Vserver are some examples of
virtualization. FreeVPS.,
Virtualization.
Cloud Computing (KCS-713)

s. Hardware Assisted Virtualization

Hardware Assisted Virtualization was presented by AMD andIntel. It is also known


as Hardware virtualization, AMD virtualization, and Intel virtualization. It is designed to
inerease the performance of the processor. The advantage of using Hardware AssIsted
Virtualization is that itrequires less hypervisor overhead.
6. Kernel-Level Virtualization

Kernel-level virtualization is one of the most important types of server virtualization. It is


hypervisor. The advantage of
an open-source virtualizationwhich uses the Linux kernel as a
administrative software and has
using kernel virtualization is that it does not require any special
very less overhead.

machine are some examples of kermel


User Mode Linux (UML)and Kernel-based virtual
virtualization.

Advantages of Server Virtualization


Virtualization -
There are the following advantages of Server

1. Independent Restart
working
server can be restart independently and does not affect the
InServer Virtualization, each
of other virtual servers.

2. Low Cost
virtual private servers, so it reduces
a single server into multiple
Server Virtualization can divide
the cost of hardwarecomponents.
3. Disaster Recovery<
Server
advantages of Server Virtualization. In be
Disaster Recovery is one of
the best
one server to another and these data can
quickly move from
Virtualization, data can easily and
anywhere.
stored and retrieved from

deployment of resources
4. Faster simpler and faster wav.
resources in a
allows us to deploy our
Server virtualization

5.Security
data inside the data centers.
to store their sensitive
ItallowS users
Virtualization
Disadvantages ofServer
Virtualization -
disadvantages of Server
following
There arethe
Cloud Computing (KCS-713)
1. The biggest disadvantage of server virtualization is that when the server goes
offline, all
the websites that are hosted by the server will
also go down.
2. There is no way to measure the performance of virtualized environments.
3. It requires a huge amount of RAM
consumption.
4. It is difficult to set up and maintain.
5. Some core applications and databases are not supported virtualization.
6. It requires extra hardware resources.

Uses of Server Virtualization

A list of uses of server virtualization is given below -

Server Virtualization is used in the testing and development environment.


It improves the availability of servers.
It allows organizations to make efficient use of resources.
It reduces redundancy without purchasing additional hardware components.

> Storage Virtualization

between the physical host and the locally


Aswe know that, there has been astrong link
been changing drastically; almost
installed storage devices. However, that paradigm has
local storage is no longer needed. market
technology progressing, more advanced storage devices are coming to the
As the
obsolete the local storage.
that provide more functionality, and form of functional
virtualization is a major component for storage servers, in the
Storage
RAID levels and controllers. directly by
systems and applications with device can access the disks
Operating
themselves for writing. the
localstorage in RAID groups and present the storage to
the
The controllers configure
the configuration. However, the storage is abstracted
upon retrieve the requested data for
operating system depending to write the data or
determining how
and the controller is
the operating system.
forms:
and more important in various other
becoming more
Storage virtualization is with no need to
location
system writes the datato a remote
operating
File servers: The physicalmedia. WAN
understand how to write to the
copies of the same data over the
multiple
Instead of' sending the re-requested
WAN Accelerators:accelerators will cache the data locally and present
environment, WAN impacting the WAN performance.
while not network of the operating system.
blocks at LAN Speed, presented over the Ethernet present the
SAN and NAS:
Storage is operations (like NFS). SAN technologies
file
the storage as (like Fibre Channel). SAN technologies device.
receive the
NAS presents storage attached
as block level ifthe storage was a locally
storage instructions only when
operating
Cloud Computing (KCS-713)

Storage Tiering: Utilizing the storage pool conceptas astepping stone, storage tiering
analyzes the most commonly used data and places iton the highest performing storage
pool. The lowest one used data is placed on the weakest performing storage pool.
consumer.
This operation is done automatically without any interruption of service to the data

Advantages of Storage Virtualization


the specific host. In the case of
1. Data is stored in the more convenient locations awav from
a host failure, the data is not compromised necessarily.
like replication, reduplication, and
2. The storage devices can perform advanced functions
disaster recovery functionality.
operations become more flexible in how
3. By doing abstraction of the storage level, IT
storage is provided, partitioned, and protected.
CPUVirtualization

of an existing computer system in which a majority of the VM


A VM is aduplicate processor in native mode. Thus,
unprivileged
instructions are executed on the host
Other critical
VMs run directly on the host machine for higher efficiency.
instructions of
for correctness and stability.
instructions should be handled carefully instructions, control
privileged
instructions are divided into three categories:
The critical
behavior-sensitive instructions.
sensitive instructions, and if executed
in a privileged mode and will be trapped
configuration of
Privileged instructions execute instructions attempt to change the
Control-sensitive
outside this mode.
resources used. configuration
depending on the
Behavior-sensitive instructions have different behaviors memory.
and store operations over the virtual
including the load and
of resources, the ability to run the VM's privileged
virtualizable if it supports VMM runs in
supervisor
CPUarchitecture is the CPU's user
mode while the
unprivileged instructions in
behavior-sensitive instructions of
mode.
instructions including control- and the VMM acts as a
unified
case,
When the privileged In this correctness and
in the VMM.
executed, they are trapped VMs to guarantee the
a VM are from different
for hardware access
mediator
system. architectures can be
stability of the whole virtualizable. RISC CPU
CPU
architectures are behavior-sensitive instructions are
all control- and
However, not all
virtualized because
naturally designed to support
privileged instructions. primarily
architectures are not SMSW,
CPU instructions, such as SGDTand
x86 10 sensitive virtualization, they
On the contrary, is because about these instructions execute in
virtualization. Thisinstructions. When
privileged VMM.
are not in the
trapped
cannot be
Hardware-Assisted CPU Virtualization
This technique attempts to simplify virtualization because full or Para virtualization is
complicated. Intel and AMD add an additional mode called privilege mode level (some
people call it Ring-l) to x86 processors. Therefore, operating systems can su tuu a
Ring 0and the hypervisor can run at Ring -1. All the privileged and sensitive instructions
are trapped in the hypervisor automatically. This technique removes the difficulty of
implementing binary translation of full virtualization. It also lets the operating system run
in VMs without modification.

VMo VMG
Ring 3 Apps Apps

Ring C WinXP WinXP

VM VM VMCS VMM
VMX entry exit configuration
root Memory and /O
mode virtualization
VM control structure

VT-x Processors with


CPUo VT-x (or VT-i)
CPU

Memory Virtualization
virtual memory support provided by
Virtual memory virtualization is similar to the
modern operating systems.
maintains mappings
traditional execution environment, the operating system
a
In
machine memory using page tables, which is a one-stage mapping
of virtual memory to
machine memory.
from virtual memory to
memory management unit (MMU) anda translation look
include a
Allmodern x86 CPUs performance.
optimize virtual memory
aside buffer (TLB)to virtualization involves
execution environment, virtual memory
a virtual allocating it to
However. in
system memory in RAM and dynamically
sharing the physical VMs.
memory of the
the physical should be maintained by the guest OS
and the
process
two-stage mapping and physical memory to
That means a
virtual memory to physical memory
VMM, respectively:
guest
machine memory. supported, which is transparent to the
virtualizationshould be
Furthermore, MMU control the mapping of virtual addresses to the physical
to machine
The guest OS continues guest OOS cannot directly access the actual
OS. But the to the actual
addresses of VMs. for mappingthe guest physical memory
memory responsible
VMMis
memory. The
maehinHe memOry.
VM1
Process 1 VM2
Process2 Process1 Process2

Virtual VA
memory

Physical PA
memory

Machine MA
memory

> I/O Virtualization

I/Ovirtual1zation involves managing the routing of /O requests between virtual devices and
the shared physical hardware. At the time of this writing, there are three ways to implement
VO virtualization: full device emulation, Para-virtualization, and direct VO. Full device
emulation are the first approach for VO virtualization. Generally, this approach emulates
well-known, real-world devices.

Guest device driver


Guest OS
layer
Virtualization " Virtual device
Device driver
" Virtualization layer
- emulates the virtual device
Device -remaps guest and real Oaddresses
emulation
muitiplexes and drives the physical device
VO Stack
- WO features. e.g., COW disks
Device driver "Real device
device
may be diferent from virtual

enumeration.
infrastructure, such as device
or bus located in
the functions of a device replicated insoftware. This software is are
All DMA, are requests of the guest OS
identification, interrupts, andvirtual device. The I/O access
and acts as a interacts with the I/O
devices,
the VMM concurrently
VMM which multiple VMs that run emmlates
trapped in the shared by hardware it
hardware device can be much slower than the Xen, It is alo
A single software emulation runs virtualizationis typically used in driver. The
However, method of IVO frontend driver and a backend
Para-virtualization consistingofa Domain 0.
The model backend driver is runningin
the
thesplit driver Domain Uand memory.
known as running in shared driver is
driver is via a block of
guest OSes and the backend
frontend cach other /Orequestsofthemultiplexing the VOdata of different
interactwith the devices and
They driver manages VO
frontend the real
The managing
responsible for
Cloud Computing (KCS-713)

VMs. Although
device emulation,Para-I/O-virtualization achieves better device performance than full
it comes with a higher CPU
overhead.
Direct I/Ovirtualization lets the VM access devices
native performance without high CPU costs. However, directly. It can achieve close-to
current direct I/O virtualization
implementationsfocus on networking for mainframes.There are a lot of challenges for
commodity hardware devices.
For example, when a physical device is reclaimed
(required by workload migration) for
later reassignment, it may have been set to an arbitrary state (e.g., DMA tosome arbitrary
memory locations) that can function incorrectly or even crash the whole
Since software-based 1/O virtualization requires a very high system.
overhead of device
emulation, hardware-assisted /O virtualization is critical. Intel VT-d supports the
remapping of I/O DMA transfers and device-generated interrupts.
The architecture of VT-d provides the flexibility to support multiple usage
models that
mayrun unmodified, special-purpose, or virtualization-aware" guest OSes.

How Does Virtualization Simplify Disaster Recovery?


When it comes to backup and disaster recovery, virtualization changes everything by
consolidating the entire server environment, along with allthe workstations and other
systems into a single virtual machine.

A virtual machine is effectively a single file that contains everything, including your
operat1ng systems, progranms, settings, and files. At the same time, you'll be able to
use your virtual machine the same way you use a localdesktop.

Virtualization greatly simplifies disaster recovery, since it does not require rebuilding
machines over to
a physical server environment. Instead, you can move your virtual
another system and access them as normal.

flexibility of not having to


Factor in cloud computing, andyou have the complete
you'll need is a device with internet
depend on in-house hardware at all. Instead, all
get straight back to work as though
access and a remotedesktop application to
nothing happened.

planning and testing


Virtual disaster recovery issue.
complex. In a recovery situation, that complexity can be an
Virtual infrastructures can be
comprehensive DR plan.A virtual disaster recovery plan has many
so it's Important to have a should:
plan. An organization
Similarities to a traditional DR
them.
data are the most critical for recovery, and document
Decide which systems and plan
for the DR(disaster recovery)
support
Get management business impact analysis to outline possible risks and
assessment and
Complete a risk
their potential impacts.
Cloud Computing (KCS-713)

Document steps needed for recovery.


point objectives).
Define RTOs (recovery time objectives) and RPOs (recovery
Test the plan.

You might also like