Unit 1-3

You might also like

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 201

Virtualization Techniques

Learning
Objectives
• Analyze details of virtualization concept
• Understand different types of
virtualization techniques
• Explore interoperability standards
• Concept of VLAN,VSAN and VM
Virtualization
technology
• A massively growing concept of
computing and IT
• A creation of new virtual version of
any product or service
• Example ??

Disk partition of one hard drive that we use in our


system
• Virtualization is separation of resources
and requests
• Example is virtual memory
• The combination of virtual infrastructure
offers a layers of abstraction between
computing, networking hardware, storage
and various applications that is running on it
Virtual
Machine
• A closely detached software device that could
run its own operating systems and
application as if it is running on physical
computer.
• It contains its own virtual RAM, hard disk,
CPU and Network interface card.
Guest Operating
System
• Operating System running in a
VM environment or on different physical
system.
Hyperviso
r
• A hypervisor or virtual machine monitor
(VMM) is a software that creates and runs
virtual machines.
• A computer on which a hypervisor is running
one or more virtual machines is defined as a
Host machine.
• E.g. Oracle Virtual Box
Hosted
Virtualization
• A virtualization method where
virtualization and partitioning services run
on top of an OS
• E.g. VMware Workstation.
Overview of x86
Architecture
Before
Virtualization
a) There is one OS image per machine
b) Software and hardware are tightly
c) bound
Multiple applications that on
run machine usually create same
complexity
d) Resources
e) are not
Infrastructure is used optimallyflexible
neither
nor economically effective
After
Virtualization
a) Provisioning of VMs can be done on
any system
b) OS and application work as a single unit
c) OSand applications are independent
of hardware
Types of
Virtualization
CPU
Virtualization

Also called as x86


virtualization
x86 Privilege Level
Architecture
The Challenges of x86 Hardware
Virtualization
• x86 operating systems are designed to run directly
on the Bare-metal hardware, so they naturally
assume that they fully own the computer hardware.
• Some instructions can’t effectively
sensitive
virtualized as they
be have different semantics
when they are not executed in Ring 0.
• The difficulty in trapping and translating these
sensitive and privileged instruction requests at
runtime was the challenge that originally made x86
architecture virtualization look impossible.
• Three alternative techniques now exist for
handling sensitive and privileged instructions
to virtualizes the CPU in x86 architecture.
a) Full virtualization using Binary Translation

b) Paravirtualization or OS-Enabled
virtualization

c) Hardware Assisted Virtualization


Full Virtualization using Binary
Translation
Full Virtualization using Binary
Translation Contd.
• This approach translates kernel code to replace non
virtualizable instructions with new sequences of
instructions that have the intended effect on the
virtual hardware. Meanwhile, user level code is
directly executed on the processor for high
performance virtualization.
• Each virtual machine monitor provides each Virtual
Machine with all the services of the physical system,
including a BIOS, virtual devices
virtual virtualized memory
and
management.
Para virtualization or OS-Assisted
Virtualization
• Paravirtualization refers to communication between
the guest OS and the hypervisor to improve
performance and efficiency.
• Paravirtualization involve modifying the OS kernel to
replace non virtualizable instructions with hypercalls
that communicate directly with the virtualization layer
hypervisor. The hypervisor also provides hypercall
interfaces for other critical kernel operations such as
memory management, interrupt handling and time
keeping.
Hardware Assisted
Virtualization
• In this privileged and sensitive calls are set
to automatically trap to the
hypervisor,
need for removing the binary
either
paravirtualization. translation or store
guest
Virtual Machine Control state is
The d (VT-
in or
Virtual
Structures Machine Control Blocks x) (AMD-V).
Processors with Intel-VT and AMD-V
• In this privileged and sensitive calls are set to
automatically trap to the hypervisor,
removing the need for either binary
translation or paravirtualization.
Memory This associates allotment of
physical memory: and dynamical allotment among all
virtualization
VMs.
Device and I/O virtualization:

These include handling the routing of I/O requests between the shared
physical
hardware and virtual devices

Example: Virtual NICs


Network virtualization: When all the separate resources of a network are combined
and the condition that allows the network administrator to share them among all
network users.

Server virtualization:
Client or Desktop virtualization:
It is like a separation of
PC desktop environment from a physical machine
through the client server model of computing

There are 2 types:


i) Remote (server-hosted) : OS is hosted on a server in the data
center
ii) Local (Client-hosted): OS runs locally on the user’s PC hardware

Application Virtualization
It is the execution of running software from a remote server rather
than the user’s computer
Example: Dynamic link lib
Virtualization
Products
Category of Virtualization products

i. Type I virtualization: directly runs on bare metal


hardware, there is no need of installing OS, Type I
hypervisor itself works like an OS
example: Vmware ESX and ESXi, Citrix Xen server

i. Type II virtualization: runs directly on OS or any


hosted OS
example: Oracle VM virtual box, KVM (kernel based
VM)
VmWare server: Company of making virtualization products

Benefits:
i. Extra servers
ii. Increase the CPU utilization
iii. Runs Linux, solaris, win, and applications on a
simple physical server
iv. Transfers VMs from one physical server to another
v. Captures the full state of a VM
vi. Gives the choice to access enterprise class
product software
Types of virtualization
(1) Server Virtualization (SerV)
• It is focused on partitioning a physical instance of an
operating system into a virtual instance or virtual machine.
True server virtualization products will let you virtualize any
x86 or x64 operating system, such as Windows, Linux, and
some forms of UNIX. There are two aspects of server
virtualization:

• Software Virtualization (SoftV)


• Hardware Virtualization (HardV)
Contd.

.
Software Virtualization (SoftV) runs the virtualize operating
system on top of a software virtualization platform running
on an existing operating system. Ex. Type 2 Hypervisor like
Vmware Workstation or Virtual Box

• Hardware Virtualization (HardV) runs the virtualized


operating system on top of a software platform running
directly on top of the hardware without an existing
operating system.
• The engine used to run hardware virtualization is usually
referred to as a hypervisor (actually Native /Type 1
hypervisor). The purpose of this engine is to expose
hardware resources to the virtualized operating systems.
Ex.Oracle VM Server, Citrix XenServer
(2) Store Virtualization (StoreV)

• It is used to merge physical storage from multiple devices


so that they appear as one single storage pool.

• The storage in this pool can take several forms: direct


attached storage (DAS), network attached storage (NAS),
or storage area networks (SANs).

• Though storage virtualization is not a requirement for server


virtualization, one of the key strengths you will be able to
obtain from storage virtualization is the ability to rely on
thin provisioning or the assignation of a logical unit (LU) of
storage of a given size, but provisioning it only on an as-
needed basis.
(3) Network Virtualization (NetV)

• It lets you control available bandwidth by splitting it


into independent channels that can be assigned to
specific resources.

• For example, the simplest form of network virtualization is


the virtual local area network (VLAN), which creates a logical
segregation of a physical network.
(4) Management Virtualization (ManageV)

• It is focused on the technologies that manage the entire


datacenter, both physical and virtual, to present one
single unified infrastructure for the provision of services.

Two key layers are segregated at all times:


• Resource Pools (RP), which includes the collection of
hardware resources— host servers, racks, enclosures,
storage, and network hardware—that makes up the
datacenter infrastructure

• Virtual Services Offerings (VSO), or workloads that are


made up of the virtual machines—servers and/or desktops
—that are client-facing and offer services to end users
(5) Desktop Virtualization (DeskV)

• allows you to rely on virtual machines to provision


desktop systems.

• users access centralized desktops through a variety of thin


or unmanaged devices
(6) Presentation Virtualization (PresentV)

• Until recently called Terminal services

• provides only the presentation layer from a central location


to users

• The need for PresentV is diminishing because of the


introduction of technologies such as Application
Virtualization
(7) Application Virtualization (AppV)

• uses the same principles as software based SerV, but instead


of providing an engine to run an entire operating system,
AppV decouples productivity applications from the operating
system.

• Application virtualization layers replace part of the runtime


environment normally provided by the operating system.
The layer intercepts all file and Registry operations of
virtualized applications and transparently redirects them to
a virtualized location, often a single file
Contd.

.
There are other key terms that make up the language
of virtualization in the datacenter. These include:
• Host server The physical server running virtual
machine workloads.
• Guest operation system A virtualized operating
system running as a workload on a host server.
• Resource Pool The collection of hardware resources,
including host servers that make up the datacenter
infrastructure.
• Virtual Service Offerings The virtual machines that are
client- facing and offer services to end users. They are also
often referred to as virtual workloads.
• Virtual Appliances (VAPs) Pre-packaged VSOs that run a
specific application or workload.
• Policy-based workloads VSOs that are powered up on an
What Is a Virtual

Machine?
VMs are then made up of several different components:
• Configuration file A file that contains the settings
information—amount of RAM, number of processors,
number and type of network interface cards (NICs), number
and type of virtual disks—for the virtual machine.
• Each time you create a new virtual machine, you create a
virtual machine configuration file, that is, a file that tells
the virtualization software how to allocate physical
resources from the host to the virtual machine.
• Hard disk file(s)

• Files that contain any information which would normally


be contained within a physical hard disk.
• Each time you create a virtual machine, the virtualization
software will create a virtual hard disk, that is, a file that
acts like a typical sector-based disk.
• When you install the operating system on the virtual
machine, it will be contained in this file. Like a physical
system, each virtual machine can have several disk files.
BENEFIT
• S
The first one is certainly at the deployment level. A virtual
machine can often be built and customized in less than 20
minutes. You can deliver a virtual machine that is ready to
work right away in considerably less time than with a
physical machine.
• Another benefit is virtual machine mobility. You can move
a VM from one host to another at any time.
• Virtual machines are just easy to use. Once it is built and
configured, you just start the machine and it is
immediately ready to deliver services to users.
• Virtual machines also support the concept of volatile
services. If a tester or developer needs a virtual machine to
perform a given series of tests, you can fire up a new VM,
provide it to them in minutes, and then, when they are
done with it, you simply delete it.
Contd.
• VMs can be scaled out .or scaled up. To scale out, simply
create more VMs with the same services. To scale up,
shut down the VM and assign more resources, such as
RAM, processor cores, disks, and NICs to it.
• VMs are also ideal for disaster recovery, since all you need
to do is copy their files to another location, either within
your datacenter or to another site entirely.
Concept of VLAN (Virtual LAN) and
Benefits
• Virtual LAN is a logical segmentation of local
area network (LAN) into different set of
broadcasting domains. Because the
segmentation is not physical it is called
virtual. Different Users in same location or in
different locations can use the same LAN.
Advantage

s
High Performance:
Generally, switches and routers need
more processing time for
as the traffic
incoming trafficpassesbecause
through routers
latency increases and
the ,
performance
the decreases. If VLAN is used, then
networ
there is no need of extra routers sincek VLAN
creates broadcasting
domains.
• Virtual
workgroups:
In current scenario, most of the
communication within the organization
take
place in small workgroups (e.g. development
team , marketing team , accounting team)s to
manage broadcast and multi-cast
functionality within the workgroups, VLAN
can be used to enable communication.
• cost effective
The cost of routers can be reduced when
VLANs are used like broadcasting domains
• Easy administration
Traditional LAN has many access management
issues, including LAN cabling, new station
setup and addressing, and configuration of
hubs and routers. While using vLAN this
access management effort can be reduced
because user movement within vLAN requires
no reconfiguration of routers and hubs.
• Enhanced security
VLANis also used to set firewalls,
restrict access permission for outside
access, adding
an layer of security for
extra
detectio intrusion and controlling
n broadcasting
domain.
Concept of SAN (Virtual SAN) and
Benefits
• When a Logical partition is created within a
physical storage area network (SAN), it is
called virtual storage area network (VSAN).
Virtualization technology enables division and
allocation of entire storage area network into
more logical SANs
Benefits of

SAN
Enhanced application availability
• Higher application performance
• Centralized and consolidated storage
• Data transfer and vaulting to remote
sites
• Simplified centralized management
VM
Migration
• It refers to the movement or transfer
between different physical machines without
any discontinuity
VM Consolidation &
Management
Cloud Interoperability
• Standards
There a strong need for the development of
integrated
is interoperability authentication among
all provider.
• Several organizations such as the Cloud Computing
Interoperability Forum (CCIF) have been working on
solutions to address cloud interoperability challenges.
The Cloud Standards Customer Council (CSCC)
provides the opportunity to convert and synchronize
client needs and specified requirement into standards
of development cloud firms and also for cloud users.
It provides standard research materials and
documents.
Categories of
Interoperability
When consumer wish to migrate from one cloud
Provider to another, interoperability falls
into these categories:

1.Data and Application Portability: It means by running


applications and data, consumers should be able to
migrate easily from one cloud provider to another
without any lock- in
issue.
2.Platform Portability: It means application development
environment or IDE should be capable enough to run over
anytype of cloud infrastructure.

3.Infrastructure Portability: It means virtual server or


machine images should have the freedom of portability.
They should be able to migrate from one cloud provider to
another.
Open Standards for Solving Cloud
Interoperability Challenges
• Application
Solution
• Platform Solution
• Infrastructure
Solution
Open Virtualization
Format
Characteristics:
1) Open standard
2) Portable VM packaging
3) Optimized for
distribution
4) Multiple VM support
3.VIRTUALIZATION
3.1 Move to
Virtualization..
• Increased Performance and
Computing Capacity.
• Underutilized Hardware and
Software Resources.
• Lack of Space.
• Greening Initiatives.
• Rise of Administration
3.2 Characteristics of Virtualized
Environment

Gues Virtual Image Applications Application


s
t

Virtual Hardware Virtual Storage Virtual Networking


Virtualization
Layer Software Emulation

Hos Physical Hardware Physical Storage


Physical Networking
t
Virtualization Reference
Characteristics of Virtualized
Environment Cont..
Increased Security
The ability to control the execution of a guest in a completely
transparent manner opens new possibilities for delivering a secure,
controlled execution environment.
The virtual machine represents an emulated environment in which
the guest is executed. All the operations of the guest are generally
performed against the virtual machine, which then translates and
applies them to the host.
This level of indirection allows the VMM to control and filter
the activity of guest, thus preventing the harmful operations from
being performed.
Characteristics of
Virtualized
• Environment
Managed Execution Cont..
Virtualization of the execution environment
does not only allow increased security but a
wider range of features can be implemented.
In particular, sharing, aggregation,
emulation, and isolation are the most
relevant.
Characteristics of
Virtualized

Environment
Managed Execution includes following:
– Sharing
Cont..
• Creating separate computing environment within
the same host.
• Underline host is fully utilized.
– Aggregation
• A group of separate hosts can be tied together
and represented as single virtual host.
– Emulation
• Controlling & Tuning the environment exposed to
guest.
– Isolation
• Complete separate environment for guests.
Managed
Execution
Characteristics of Virtualized
Environment Cont..

Performance Tuning –
– control the performance of guest.

Virtual Machine Migration –
– move virtual image into another machine.

Portability –
– safely moved and executed on top of different
virtual machine.
– Availability of system is with you.
3.3 Taxonomy of Virtualization
Techniques Cont..
• Virtualization is mainly used to emulate
execution environment, storage and
networks.
• Execution Environment classified into two :-
– Process-level – implemented on top of an
existing operating system.
– System-level – implemented directly on
hardware and do not or minimum requirement
of existing operating system
3.3 Taxonomy of Virtualization
Techniques Cont..
Machine Reference
Model

It defines the interfaces between the
levels of abstractions, which hide
implementation details.

Virtualization techniques actually replace
one of the layers and intercept the calls
that are directed towards it.
Machine Reference [Cont.
]

Model


Hardware is expressed in terms of the Instruction Set Architecture (ISA).
– ISA for processor, registers, memory and the interrupt management.

Application Binary Interface (ABI) separates the OS layer from the
application and libraries which are managed by the OS.
– System Calls defined
– Allows portabilities of applications and libraries across OS.
Machine Reference Model
[Cont.]


API – it interfaces applications to
libraries and/or the underlying OS.

Layered simplifies the
development
approach and implementation
computing system. of

ISA has been divided two security
into classes:-
– Privileged Instructions
– Nonprivileged Instructions
ISA: Security
Classes

Nonprivileged instructions
– That can be used without interfering with other
tasks because they do not access shared
resources. Ex. Arithmetic , floating & fixed point.

Privileged instructions
– That are executed under specific restrictions
and are mostly used for sensitive operations,
which expose (behavior-sensitive) or modify
(control-sensitive) the privileged state.

Behavior-sensitive – operate on the I/O

Control-sensitive – alter the state of
the CPU register.
Privileged Hierarchy:
Security Ring

Ring-0 is in most privileged level
, used by the kernel.

Ring-1 & 2 used by the OS-level
services

and , R3 in the least privileged
level , used by the user.

Recent system support two
levels :-
– Ring 0 – supervisor
mode
– Ring 3 – user mode
Hardware-level
virtualization

It is a virtualization that
technique
provides an abstract execution
environment in terms of computer
hardware on top of which a guest OS
can be run.

It is also called as system virtualization.
Hardware-level
virtualization
Hyperviso

r above the supervisor
Hypervisor runs
mode.

It runs in supervisor mode.

It recreates a h/w environment.

It is a piece of s/w that enables us to run
one or more VMs on a physical
server(host).

Two major types of hypervisor
– Type -I
– Type-II
Type-I
Hypervisor

It runs directly on top of the hardware.

Takes place of OS.

Directly interact with the ISA exposed by
the underlying hardware.


Also known as native virtual machine.
Type-II

Hypervisor
It require the support of an
operating system to provide
virtualization services.

Programs managed by the
OS.

Emulate the ISA of virtual
h/w.

Also called hosted virtual
machine.
Virtual Machine Manager
Main Modules :-
(VMM)

Dispatcher


Entry Point of VMM

Reroutes the instructions issued by VM instance.
– Allocator

Deciding the system resources to be provided to the VM.

Invoked by dispatcher
– Interpreter

Consists of interpreter routines

Executed whenever a VM executes a privileged instruction.

Trap is triggered and the corresponding routine is
executed.
Virtual Machine Manager
(VMM)
3)Hardware Virtualization
Techniques
• Hardware assisted
virtualization
• Full virtualization
• Para virtualization
• Partial virtualization
Partial
virtualization
– Partial emulation of the underlying hardware
– Not allow complete isolation to guest OS.
– Address space virtualization is a common
feature of contemporary operating systems.
– Address space virtualization used in time-
sharing system.
Operating system-level
virtualization

It offers the opportunity to create different and
separated execution environments for
applications that are managed concurrently.

No VMM or hypervisor

Virtualization is in single OS

OS kernel allows for multiple isolated user
space instances

Good for server consolidation.

Ex. Jails, OpenVZ etc.
Programming language-level
virtualization

It is mostly used to achieve ease of deployment of application,
managed execution and portability across different platform
and OS.

It consists of a virtual machine executing the byte code of a
program, which is the result of the compilation process.

Produce a binary format representing the machine code for
an abstract architecture.

Example
– Java platform – Java virtual machine (JVM)
– .NET provides Common Language Infrastructure (CLI)

They are stack-based virtual machines
Advantage of
programming/process-level

VM
Provide uniform execution environment
across different platforms.

This simplifies the development and
deployment efforts.

Allow more control over the
execution
of programs.

Security; by filtering the I/O
operations
Application-level

Itvirtualization
is a technique allowing applications to
run in runtime environments that do not
natively support all the features
required by such applications.

In this, applications are not installed in
the
expected runtime environment.

This technique is most concerned with :-
– Partial file system
– Libraries
Strategies for Implementation
Application-Level

Virtualization
Two techniques:-
– Interpretation -

In this every source instruction is interpreted by an
emulator for executing native ISA instructions,

Minimal start up cost but huge overhead.
– Binary translation -

In this every source insruction is converted to native
instructions with equivalent functions.

Block of instructions translated , cached and reused.

Large overhead cost , but over time it is subject to
better performance.
Advantages of
Virtualization
• Eliminates the need for numerous dedicated
servers; ability for different domain names, file
• directories,
Offers email administration, IP addresses, logs
the
and analytics;
• Cost because many times server
installation provisioning
effective is available;
software
• If one virtual server has a software failure, the
other servers will not be affected;
• Reduces energy costs because only one device is running
instead of several;
• Offers a flexible IT infrastructure;
• Can quickly make changes with little downtime.
Disadvantages of
• Virtualization
Resource hogging could occur if there are too many
virtual servers within a physical machine.
• As software updates and patches must be compatible
with everything running on the virtual machine, admin
may have reduced control over the physical
environment.
• Administration, backup and
requires
includingspecialized knowledge.recovery,
• If user experience is impacted, it can be difficult
to identify the root cause.
• Services offered by a dedicated server are
more accessible.
4) OS Level
Virtualization
OS level virtualization offers the opportunity to
create different and separated execution
environments for applications that are managed
concurrently. It is from hardware
virtualization different —there is no
virtual machine manager or hypervisor,
and the virtualization is done within a
single operating system, where the OS kernel
allows for multiple isolated user space instances.
5)Programming Level
Virtualization
Programming level virtualization
is mostly used for achieving
easeapplications,
of deployment managed of execution,
portability across different and
operating systems. platforms
It consists of a and
machine executin virtual
thebyte code of
program, g which is the result
a of
compilation the
process
.
6) Application Level
Virtualization
Interpretation
Binary
Translation
Virtualization and Cloud
Computing
VM

VM VM VM VM VM

Virtual Machine Manager

Server A Server B
(running (running
) Before )
Migration

VM VM VM

VM VM VM

Virtual Machine Manager

Server A Server B
(running (inactive
) )
After
Migration
Advantages of
Virtualization
• Eliminates the need for numerous dedicated
servers; ability for different domain names, file
• directories,
Offers email administration, IP addresses, logs
the
and analytics;
• Cost because many times server
installation provisioning
effective is available;
software
• If one virtual server has a software failure, the
other servers will not be affected;
• Reduces energy costs because only one device is running
instead of several;
• Offers a flexible IT infrastructure;
• Can quickly make changes with little downtime.
Disadvantages of
• Virtualization
Resource hogging could occur if there are too many
virtual servers within a physical machine.
• As software updates and patches must be compatible
with everything running on the virtual machine, admin
may have reduced control over the physical
environment.
• Administration, backup and
requires
includingspecialized knowledge.recovery,
• If user experience is impacted, it can be difficult
to identify the root cause.
• Services offered by a dedicated server are
more accessible.
VIRTUALIZATION & CLOUD
COMPUTING
Lecture # 20-21

CSE 423

Defining Cloud computing


Cloud Types
Cloud
Computing
• Cloud computing refers to applications and services that run on a
distributed network using virtualized resources and accessed by
common Internet protocols and networking standards.

• It is distinguished by the notion that resources are virtual and limitless


and that details of the physical systems on which software runs are
abstracted from the user.
• Abstraction:
– Cloud computing abstracts the details of system implementation
from
users and developers.
– Applications run on physical systems that aren't specified,
– data is stored in locations that are unknown,
– administration of systems is outsourced to others, and access by
users is ubiquitous.
• Virtualization:
– Cloud computing virtualizes systems by pooling and sharing
resources.
– Systems and storage can be provisioned as needed from a
centralized infrastructure,
– costs are assessed on a metered basis,
– multi-tenancy is enabled,
– and resources are scalable with agility.
Cloud
Types
• Deployment Model:
• Refers to location and management of the cloud’s infrastructure

• Service Model
• Consists of particular types of services that can be accessed on cloud
computing platform

• Some widely used model


• NIST Model
• The Cloud Cube
Model
National Institute of Standard and Technology (NIST Definition of Cloud
Computing)
The Cloud Cube

Model
Business managers are requiring IT operations to
assess the risks and benefits this computing model
represents.
• The Jericho Forum, an international independent
group of information security leaders, have added
their input as to how to collaborate securely in the
clouds.
• The Clou Cub Model describes
Jericho d elements
multidimensional e of cloudthe
computing,
framing not only cloud use cases, but also how they
are deployed and used.
The Cloud Cube
Model
The Cloud Cube

Model
The Jericho Forum has identified four criteria to
differentiate cloud formations from each other and
the manner of their provision. The Cloud Cube
Model effectively summarizes these four
dimensions:
• Internal/External
• Proprietary/Open
• Perimeterised/De-perimeterized Architectures
• Insourced/Outsourced
The Cloud Cube
• Model
Physical
location
of the data: Internal (I) /
determines your organization's
(E) boundaries.
External

• Ownership: Proprietary (P) / Open (O) is a measure of not


only the technology ownership, but of interoperability, ease
of data transfer, and degree of vendor application lock-in.

• Security boundary: Perimeterised (Per) / De-perimiterised


(D-
p) is a measure of whether the operation is inside or outside
the security boundary or network firewall.
• Sourcing: or Outsourced means whether
service
Insourcedis provided bythe
the own staff of organizationor
the service provider(third party).
Deployment
Models
• Public Cloud
– Hosted , operated and managed by a third party system owned by
organization selling cloud services

• Private Cloud
– The private cloud infrastructure is operated for the exclusive use of an
organization. The cloud may be managed by that organization or a
third party. Private clouds may be either on- or off-premises.

• Hybrid Cloud
– A hybrid cloud combines multiple clouds (private, community of public)
where those clouds retain their unique identities, but are bound together
as a unit.

• Community Cloud
– A community cloud is one where the cloud has been organized to
serve a common function or purpose.
– It may be for one organization or for several organizations, but they share
common concerns such as their mission, policies, security, regulatory
compliance needs, and so on
Service
Models
• Infrastructure as a Service(IaaS)
– Deliver Infrastructure on Demand in the form of
virtual Hardware, Storage and Networking.
Virtual Hardware is utilised to provide compute on
demand in the form of virtual machine instances
– Eg.Amazon EC2,, Eucalyptus, GoGrid,
Rightspace Cloud

• Platform as a Service (PaaS)


– Deliver scalable and elastic runtime
environments
on demand that host the execution of
applications.
– Backed by core middleware platform for
creating abstract environment to deploy and
execute application

• Software as a service (SaaS)


– Provide application and services on demand eg
office automation, Photo Editing software,
facebook., Twitter accessible through browser on
demand
Cloud Companies/Service
Providers
Benefits of Cloud
•Computing
Lower Computational Costs
• Improved Performance
• Reduced Software Costs
• Instant Software updates
• Unlimited storage capacity
• Increased Data Reliability
• Universal Document Access
• Latest version availability
• Easier Group Collaboration/
Sharing
• Device Independence
Disadvantages of Cloud
•Computing
Requires constant Internet Connection
• Does not work well with low speed
connection
• Stored data might not be Secured
• Stored data can be lost
• Features might be limited
VIRTUALIZATION & CLOUD
COMPUTING
Lecture # 16-17

CSE 423

Introduction to Cloud Computing


Cloud Computing in a
nutshell
• Analogy to electricity use

• Technologies such as cluster, grid, and now cloud computing, have all
aimed at allowing access to large amounts of computing power in a
fully virtualized manner, by aggregating resources and offering a single
system
view

• Utility computing describes a business model for on-demand delivery of


computing power; consumers pay providers based on usage.

• It denotes a model on which a computing infrastructure is viewed as a


“cloud,” from which businesses and individuals access applications
from anywhere in the world on demand
Cloud Computing in a
nutshell
• BUYYA
• “Cloud is a parallel and distributed computing system consisting of
a collection of inter-connected and virtualized computers that are
dynamically provisioned and presented as one or more unified
computing resources based on service-level agreements (SLA)
established through negotiation between the service provider and
consumers.”

• NIST
• a pay-per-use model for enabling available, convenient, on-demand
network access to a shared pool of configurable computing
resources (e.g. networks, servers, storage, applications, services)
that can be rapidly provisioned and released with minimal
management effort or service provider interaction.”
Cloud Computing in a
nutshell
• While there are countless other definitions, there seems to be
common characteristics between the most notable ones listed above,
which a cloud should have: (

(i) pay-per-use (no ongoing commitment, utility prices);


(ii) elastic capacity and the illusion of infinite resources;
(iii) self-service interface
(iv) resources that are abstracted or virtualised.
Roots of Cloud
Computing
Roots of Cloud
Computing

(i)Mainframe to cloud
(ii) SOA, Web Services, Web 2.0 and
Mashups
(iii) Grid Computing
(iv)Utility Computing
(v)Hardware Virtualization
(vi)Virtual Appliance and
OVF
(vii) Autonomic Computing
From Mainframe to
cloud
• Currently experiencing a switch in the IT world, from in-house
generated computing power into utility-supplied computing resources
delivered over the Internet as Web services

• Computing delivered as a utility can be defined as “on demand


delivery of infrastructure, applications, and business processes in a
security-rich, shared, scalability based computer environment over
the Internet for a fee”

• Advantage to both consumer and providers

• Earlier provided timeshared mainframes , declined due to advent of


fast
and inexpensive microprocessors
SOA, Web Services, Web 2.0 and
Mashups
• Web services can glue together applications running on different
messaging product platforms, enabling information from one
application to be made available to others, and enabling internal
applications to be made available over the Internet.

• The purpose of a SOA is to address requirements of loosely


coupled, standards-based, and protocol-independent distributed
computing

• Services such user authentication, e-mail, payroll management,


and calendars are examples of building blocks that can be reused
and combined in a business solution in case a single, ready-made
system does not provide all those features
Grid
Computing
• Grid computing is the collection of computer resources from
multiple locations to reach a common goal. The grid can be thought
of as a distributed system with non-interactive workloads that
involve a large number of files.

• A key aspect of the grid vision realization has been building standard
Web services-based protocols that allow distributed resources to be
“discovered, accessed, allocated, monitored, accounted for, and
billed for..

• Issues:
• QOS, Avaibility of resource with diverse software configuration
• Soln: virtualisation
Utility
Computing
• Utility computing is a service provisioning model in which a service
provider makes computing resources and infrastructure management
available to the customer as needed, and charges them for specific
usage rather than a flat rate.

• In utility computing environments, users assign a “utility” value to


their jobs, where utility is a fixed or time-varying valuation that
captures various QoS constraints (deadline, importance, satisfaction).

• The service providers then attempt to maximize their own utility,


where said utility may directly correlate with their profit.
Hardware
• Virtualisation
Hardware virtualization allows running multiple operating systems
and software stacks on a single physical platform

• 3 basic capabilities related to management of workload:


isolation, Consolidation and Migration
• A number of VMM platforms exist that are the basis of many utility
or cloud computing environments.

• VMWare ESXi :
• pioneer in virtualisation, bare metal hypervisor,
• provides advanced virtualization techniques of processor, memory,
and I/O. Especially, through memory ballooning and page sharing, it
can overcommit memory,

• Xen:
• open-source project
• It has pioneered the para-virtualization concept, on which the guest
operating system, by means of a specialized kernel, can interact with
the hypervisor, thus significantly improving performance
• KVM:

• kernel-based virtual machine (KVM) is a Linux virtualization subsystem

• Is has been part of the mainline Linux kernel since version 2.6.20,
thus being natively supported by several distributions.

• In addition, activities such as memory management and scheduling


are carried out by existing kernel

• KVM leverages hardware-assisted virtualization, which improves


performance and allows it to support unmodified guest
operating systems
Virtual Appliance and OVF(open virtual
format)
• An application combined with the environment needed to run it
(operating system, libraries, compilers, databases, application
containers,
and so forth) is referred to as a “virtual appliance.”
• A virtual appliance is a pre-integrated, self contained system that is
made by combining a software application (e.g., server software) with
just enough operating system for it to run optimally on industry
standard hardware or a virtual machine e.g., VMWare, VirtualBox

• In a multitude of hypervisors, where each one supports a different VM


image format and the formats are incompatible with one another, a
great deal of interoperability issues arises.

• For instance, Amazon has its Amazon machine image (AMI) format,
made popular on the Amazon EC2 public cloud. Other formats are used
by Citrix XenServer, several Linux distributions that ship with KVM,
Autonomic
Computing

• The increasing complexity of computing systems has motivated research


on autonomic computing, which seeks to improve systems by
decreasing human involvement in their operation

• Autonomic, or self-managing, systems rely on monitoring probes and


gauges (sensors), on an adaptation engine (autonomic manager) for
computing optimizations based on monitoring data, and on effectors to
carry out changes on the system.
Migration

• When and how to migrate one’s application into a cloud ?

• What part or component of the IT application to migrate into a cloud


and what not to migrate into a cloud ?

• What kind of customers really benefit from migrating their IT into


the cloud ?
The Seven-Step Model of Migration into a
Cloud
The Seven-Step Model of Migration into a
Cloud
The Seven-Step Model of Migration into a
Cloud
Step 1
• Cloud migration assessments comprise assessments to understand
the issues involved in the specific case of migration at the
application level or the code, the design, the architecture, or usage
levels.

• These assessments are about the cost of migration as well as about


the ROI that can be achieved in the case of production version.

Step 2
• isolating all systemic and environmental dependencies of the
enterprise application components within the captive data center

Step 3
• generating the mapping constructs between what shall possibly
remain in the local captive data center and what goes onto the
The Seven-Step Model of Migration into a
Cloud
Step 4
• substantial part of the enterprise application needs to be
rearchitected,
redesigned, and reimplemented on the cloud
Step 5
• We leverage the intrinsic features of the cloud computing service
to augment our enterprise application in its own small ways.
Step 6
• we validate and test the new form of the enterprise application with
an extensive test suite that comprises testing the components of the
enterprise application on the cloud as well
Step 7
• Test results could be positive or mixed.
• In the latter case, we iterate and optimize as appropriate. After
several such optimizing iterations, the migration is deemed
successful
The Seven-Step Model of Migration into a
Cloud
These are the unique characteristics of an ideal cloud computing model:

• Scalability: You have access to unlimited computer resources as needed.

• Elasticity: You have the ability to right-size resources as required.

• Low barrier to entry: You can gain access to systems for a small
investment.

• Utility: A pay-as-you-go model matches resources to need on an


ongoing basis. .
Companies become cloud computing providers for several reasons:

• Profit: The economies of scale can make this a profitable business.

• Optimization: The infrastructure already exists and isn't fully utilized.


- This is the case for Amazon Web Services.

• Strategic: A cloud computing platform extends the company's products


and
defends their franchise.
- This is the case for Microsoft's Windows Azure Platform.

• Extension: A branded cloud computing platform can extend


customer
relationships by offering additional service options.
This is the case with various IBM cloud services.
• Presence: Establish a presence in a market before a large competitor can
emerge.
- Google App Engine allows a developer to scale an application
immediately. For Google, its office applications can be rolled out quickly
and to large audiences.

• Platform: A cloud computing provider can become a hub master at the


center of many ISV's (Independent Software Vendor) offerings.

- The customer relationship management provider SalesForce.com has a


development platform called Force.com that is a PaaS offering.
The law of
cloudonomics
1. Utility services cost less even though they cost more.
Utilities charge a premium for their services, but customers save
money
by not paying for services that they aren't using.

2. On-demand trumps forecasting.


The ability to provision and tear down resources (de-provision)
captures revenue and lowers costs.

3. The peak of the sum is never greater than the sum of the peaks.
A cloud can deploy less capacity because the peaks of individual
tenants in a shared system are averaged over time by the group of
tenants.

.
The law of
cloudonomics
4. Aggregate demand is smoother than individual.
Multi-tenancy also tends to average the variability intrinsic in
individual demand. With a more predictable demand and less
variation, clouds can run at higher utilization rates than captive
systems. This allows cloud systems to operate at higher efficiencies
and lower costs.

5. Average unit costs are reduced by distributing fixed costs over more
units
of output.
Cloud vendors have a size that allows them to purchase resources
at significantly reduced prices.

6. Superiority in numbers is the most important factor in the result of


a combat (Clausewitz).
Weinman argues that a large cloud's size has the ability to repel
The law of
cloudonomics
7. Space-time is a continuum (Einstein/Minkowski).
The ability of a task to be accomplished in the cloud using parallel
processing allows real-time business to respond quicker to
business conditions and accelerates decision making providing a
measurable advantage.

8. Dispersion is the inverse square of latency.


Cutting latency in half requires four times the number of nodes
in a
system.

9. Don't put all your eggs in one basket.


Large cloud providers with geographically dispersed sites worldwide
therefore achieve reliability rates that are hard for private systems
to achieve.
The law of
cloudonomics
10. An object at rest tends to stay at rest (Newton).

Private datacenters tend to be located in places where the company or


unit was founded or acquired. Cloud providers can site their
datacenters in what are called “greenfield sites.”

A greenfield siteis one that is environmentally friendly: locations that


are on a network backbone, have cheap access to power and cooling,
where land is inexpensive, and the environmental impact is low.
Laws of Behavioral

Cloudonomics
1. People are risk averse and loss averse.
• 2. People have a flat-rate bias.
• 3. People have the need to control
their environment and remain
autonomous.
• 4. People fear change.
• 5. People value what they own more
than what they are given.
• 6. People favor the status quo and
• 7. People discount future risk and
favor instant gratification.
• 8. People favor things that are free.
• 9. People have the need for status.
• 10. People are incapacitated by
choice.
Measuring cloud computing

costs
The cost of a cloud computing deployment
is roughly estimated to be
CostCLOUD=Σ(UnitCostCLOUD X(Revenue–CostCLOUD))
• where the unit cost is usually defined as the
cost of a machine instance per hour.
• To compare your cost benefit with a private
cloud, you will have to compare the value
that you determined in the previous
equation with the same calculation:
• CostDATACENTER= Σ(Unit CostDATACENTERx (Revenue
–(CostDATACENTER /Utilization))
• The CostDATACENTER consists of the summation of
the cost of each of the individual systems with all
the associated resources, as follows:
• CostDATACENTER = nΣ(UnitCost x (Revenue –
1
DATACENTER
(CostDATACENTER/Utilization))SYSTEMn

where the sum includes terms for System 1,


System 2, System 3, and so on.
• The costs associated with the cloud model are calculated rather
differently. Each resource has its own specific cost and many
resources can be provisioned independently of one another. In
theory, therefore,
• the CostCLOUD is better represented by the equation:
CostCLOUD = nΣ(UnitCost x (Revenue – Cost ))
1 Σ(UnitCost
+ x (Revenue– CLOUD))
n

1 Σ(UnitCostCLOU x(Revenue –
Cost CLOUD)) + +
n
CLOUD STORAGE_UNITn

Cost D NETWORK_UNITn …
Defining Licensing
Models
When you purchase shrink-wrapped software, you are
using that software based on a licensing agreement
called a EULA or End User License Agreement. The
EULA may specify that the software meets the
following criteria:
• It is yours to own.
• It can be installed on a single or multiple machines.
• It allows for one or more connections.
• It has whatever limit the ISV(independent software vendor)
has placed on its software.
In most instances, the purchase price of the software is
directly tied to the EULA.
Chapter 3: Understanding
Cloud Architecture
• IN THIS CHAPTER
• Using the cloud computing stack to
describe different models
• Understanding how platforms and
virtual appliances are used
• Learning how cloud communications
work
• Discovering the new world of the cloud
client
• One property that differentiates cloud computing is
referred to as composability, which is the ability to
build applications from component parts.
A platform is a cloud computing service that is both
hardware and software. Platforms are used to create
more complex software. Virtual appliances are an
important example of a platform, and they are
becoming a very important standard cloud computing
deployment object.
Cloud computing requires some standard protocols with which different layers of
hardware, software,and clients can communicate with one another. Many of these
protocols are standard Internet protocols.

Cloud computing relies on a set of protocols needed to manage interprocess


communications that have been developed over the years. The most commonly used
set of protocols uses XML as the messaging format, the Simple Object Access
Protocol (SOAP) protocol as the object model, and a set of discovery and description
protocols based on the Web Services Description Language (WSDL) to manage
transactions.

Some completely new clients are under development that are specifically meant to
connect to the cloud. These clients have as their focus cloud applications and
services, and are often hardened and more securely connected. Two examples
presented are Jolicloud and Google Chrome OS. They represent a new client model
that is likely to have considerable impact.
Exploring the Cloud Computing
Stack
• Composability
• Infrastructure
• Platforms
• Virtual Appliances
• Communication
Protocols
• Applications
Composabilit
y
• A composable component must be:
• Modular: It is a self-contained and
independent unit that is cooperative,
reusable, and replaceable.
• Stateless: A transaction is executed without
regard to other transactions or requests.
• The essence of a service oriented design is that services are constructed
from a set of modules using standard communications and service
interfaces.

• An example of a set of widely used standards describes the services


themselves in terms of the Web Services Description Language (WSDL),
data exchange between services using some form of XML, and the
communications between the services using the SOAP protocol.
Infrastructure
Most large Infrastructure as a Service (IaaS) providers rely on virtual machine
technology to deliver servers that can run applications.

Virtual servers described in terms of a machine image or instance have


characteristics that often can be described in terms of real servers delivering a
certain number of microprocessor (CPU) cycles, memory access, and network
bandwidth to customers.

Virtual machines are containers that are assigned specific resources. The software
that runs in the virtual machines is what defines the utility of the cloud
computing system.
Arch dig illustrates the Portion
of cloud computing stack that
is designated as the server
Platform
s
• Platform in the cloud is a software layer that
is used to create higher levels of service.
• Salesforce.com's Force.com Platform
• Windows Azure Platform
• Google Apps and the Google AppEngine
A virtual appliance is software that installs as middleware onto a virtual
machine.
Virtual

Appliances
Virtual appliances are software installed on virtual servers—application
modules that are meant to run a particular machine instance or image
type.
• A virtual appliance is a platform instance. Therefore, virtual appliances
occupy the middle of the cloud computing stack
Understanding Services
and Applications by
Type
Type
s
• Infrastructure as a Service
(IaaS)
• Software as a Service (SaaS)
• Platform as a Service (PaaS)
• Infrastructur as a Service allows
e creation for the virtual
of networks. computingsystems
or represents a hosted
• Software as a Service
application that is universally available over
the Internet, usually through a browser.
• Software as a Service, the user interacts
directly with the hosted software.
• SaaS may be seen to be an alternative model
to that of shrink-wrapped software and may
replace much of the boxed software that we
buy today.
• Platform as a Service is a cloud computing
infrastructure that creates a development
environment upon which applications may be
build.

• PaaS provides a model that can be used to


or augment complex applications such
create
Customer Relation Management as
Enterprise
(CRM) Resource Planning (ERP) systems. or

• PaaS offers the benefits of cloud computing and


is often componentized and based on a service-
oriented architecture model.
• Identity as a Service (IDaaS)
• Identityas a Service provides
authentication and authorization services
networks.
on distributed
• Infrastructur and supporting protocols for
e IDaaS.
• Other service types such as Compliance as a
Service (CaaS), provisioning, monitoring,
communications.
Infrastructure as a Service
• (IaaS)
Infrastructure as a Service (IaaS) is a cloud
computing service model in which hardware is
virtualized in the cloud.
• In this particular model, the service vendor owns
the equipment: servers, storage, network
infrastructure.
• The developer creates virtual hardware on which
to develop applications and services.
• Essentially, an IaaS vendor has created a
hardware utility service where the user
provisions virtual resources as required.
• The fundamental unit of virtualized client in
an IaaS deployment is called a workload.
• A workload simulates the ability of a certain
type of real or physical server to do an
amount of work.
• The work done can be measured by the
number of Transactions Per Minute (TPM) or
a similar metric against a certain type of
system.
• Throughput
• attributes such as
• Disk I/Os measured in Input/Output
Per Second IOPS
• the amount of RAM consumed under load
in MB
• Network throughput and latency
• In a hosted application environment, a client's
application runs on a dedicated server inside a
server rack or perhaps as a standalone server in
a room full of servers.
• In cloud computing, a provisioned server called
an instance is reserved by a customer, and the
necessary amount of computing resources
needed to achieve that type of physical server is
allocated to the client's needs.
Pods, aggregation and
silos
Platform as a Service
Platform as a Service model describes a
(PaaS)
software environment in which a developer

can create customized solutions the


within
context of the development tools that the
platform provides.
• Platforms be based on specific types
can of
frameworks or other
development languages,
constructs. application
• Paa offering provide the tools and
S
environment s applications development
another
to application. deploy on vendor's
• Often PaaS tool is a fully integrated
environment
a i.e all the tools and services are part of the PaaS
development
service.
• In a PaaS model, customers may interact with the software to
enter and retrieve data, perform actions, get results, and to
the degree that the vendor allows it, customize the platform
involved.
• The customer takes no responsibility for maintaining the
hardware, the software or the development of the
applications and is responsible only for his interaction with the
platform.
• The one example that is most quoted as a PaaS offering is
Google's App Engine platform.
• Google Maps, Google Earth, Gmail, and the
myriad of other PaaS offerings as conforming
to the PaaS service model, although these
applications themselves are offered to
customers under what is more aptly
described as the Software as a Service (SaaS)
model.
Software as a Service
(SaaS)
• SaaS provides the complete infrastructure,
software, and solution stack as the service
offering.
• A good way to think about SaaS is that it is
the cloud-based equivalent of shrink-
wrapped software.
• Software as a Service (SaaS) may be
described as software that is deployed on a
hosted service and can be accessed globally
over the Internet, most often in a browser.
• With the exception of the user interaction
with the software, all other aspects of the
service are abstracted away.
• SaaS software for end-users are Google Gmail
and Calendar, QuickBooks online, Zoho Office
Suite, and others that are equally well known.
• SaaS applications come in all shapes and
sizes, and include custom software such as
• billing and invoicing systems
• Customer Relationship Management
(CRM) applications
• Help Desk applications
• Human Resource (HR) solutions
• Sabael aoverS
The software is avali

c hnI aetrrnaetcgltoebaryll itshtroiucghsa browser on demand.


t he
• The typical license is subscription-based or usage-based and is billed on a
recurring basis.
• The software and the service are monitored and maintained by the vendor,
regardless of where all the different software components are running.
• There may be executable client-side code, but the user isn't
responsible for
maintaining that code or its interaction with the service.
• Reduced distribution and maintenance costs and minimal end-user system costs
generally make SaaS applications cheaper to use than their shrink-wrapped
versions.
• Such applications feature automated upgrades, updates, and patch management
and much faster rollout of changes.
• SaaS applications often have a much lower barrier to entry than their locally
installed competitors, a known recurring cost, and they scale on demand (a
Identity as a Service
(IDaaS)
• An identity service is one that stores the
information associated with a digital entity in
a form that can be queried and managed for
use in electronic transactions.
• Identity services have as their core functions:
a data store, a query engine, and a policy
engine that maintains data integrity.
• The Name Service can run on a
network,
Domain but isprivate
at the heart of the Internet as a
service that provides identity authorization and
• lookup.
The servers that run the various
domains
name (.COM, .ORG, .EDU, .MIL, and so on) are
Internet
IDaaS servers.
• DNS establishes the identity of a domain as belonging
to a set of assigned addresses, associated with an
owner and that owner's information, and so forth. If
the identification is the assigned IP number, the other
properties are its metadata.
What is an
identity?
• An identity is a set of characteristics or traits
that make something recognizable or known.
• In computer network systems, it is one's
digital identity that most concerns us.
• A digital identity is those attributes and
metadata of an object along with a set of
relationships with other objects that makes
an object identifiable.
An identity can belong to a person
and may include the following:
• Things you are: Biological characteristics such as age, gender,
appearance, and so forth

• Things you know: Biography, personal data such as social security


numbers, PINs, where you went to school, and so on

• Things you have: A pattern of blood vessels in your eye, your


fingerprints, a bank account you can access, a security key you
were given, objects and possessions, and more

• Things you relate to: Your family and friends, a software license,
beliefs and values, activities and endeavors, personal selections
and choices, habits and practices, an iGoogle account, and more
Networked Identity Service
Classes
• To validate Web sites, transactions,
transaction participants, clients, and network
services—various forms of identity services—
have been deployed on networks.
• Ticket or token providing services, certificate
servers, and other trust mechanisms all
provide identity services that can be pushed
out of private networks and into the cloud.
Identity as a Service (IDaaS) may
include any of the following:
• Authentication services (identity verification)
• Directory services
• Federated identity
• Identity governance
• Identity and profile management
• Policies, roles, and enforcement
• Provisioning (external policy administration)
• Registration
• Risk and event monitoring, including audits
• Single sign-on services (pass-through
authentication)
Identity System Codes of
• Conduct
User control for consent: Users control their identity and must consent
to the use of their information.
• Minimal Disclosure: The minimal amount of information should be
disclosed for an intended use.
• Justifiable access: Only parties who have a justified use of the
information contained in a digital identity and have a trusted identity
relationship with the owner of the information may be given access to
that information.
• Directional Exposure: An ID system must support bidirectional
identification for a public entity so that it is discoverable and a
unidirectional identifier for private entities, thus protecting the private
ID.
• Interoperability: A cloud computing ID system must interoperate
with other identity services from other identity providers.
• Unambiguous human identification: An IDaaS application must provide
an unambiguous mechanism for allowing a human to interact with a
system while protecting that user against an identity attack.
• Consistency of Service: An IDaaS service must be simple to use,
consistent across all its uses, and able to operate in different contexts
using different technologies.
Compliance as a Service
(CaaS)
• The laws of the country of a request's origin
may not match the laws of the country where
the request is processed, and it's possible
that neither location's laws match the laws
of the country where the service is provided.
• A Compliance as a Service application would need to serve
as a trusted third party, because this is a man-in-the-
middle type of service.

• CaaS may need to be architected as its own layer of a SOA


architecture in order to be trusted.

• A would need to be able to manage


relationships,
CaaS understand security policies and procedures,
cloud
know how to handle information and administer privacy,
be aware of geography, provide an incidence response,
archive, and allow for the system to be queried, all to a
level that can be captured in a Service Level Agreement.

You might also like