0% found this document useful (0 votes)
2 views102 pages

Introduction to Cloud Computing - III

Infrastructure as a Service (IaaS) is a cloud service model that provides virtualized hardware resources owned by a vendor, allowing developers to create and manage applications. It addresses IT complexities by outsourcing infrastructure management, ensuring scalability, reliability, and manageability through virtualization techniques. Key components include workloads, instances, and the use of virtualization layers to optimize resource allocation and performance.

Uploaded by

saranshtrash
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)
2 views102 pages

Introduction to Cloud Computing - III

Infrastructure as a Service (IaaS) is a cloud service model that provides virtualized hardware resources owned by a vendor, allowing developers to create and manage applications. It addresses IT complexities by outsourcing infrastructure management, ensuring scalability, reliability, and manageability through virtualization techniques. Key components include workloads, instances, and the use of virtualization layers to optimize resource allocation and performance.

Uploaded by

saranshtrash
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/ 102

IaaS

Definition
• This is a service model in which hardware is
virtualized
• Vendor owns the equipment: servers, storage,
network infrastructure
• Developer creates virtual hardware on which
to develop applications and services.
• IaaS vendor created a hardware utility service
where the user provisions virtual resources as
required.
IaaS Workloads
• 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
• Measured by the number of Transactions Per
Minute (TPM) or a similar metric
• Workload has certain attributes such as
• Throughput, Disk I/Os measured in Input/Output
Per Second IOPS,RAM consumed under load in
MB, network throughput and latency
Instance
• A provisioned server called an instance is
reserved by a customer,
• Necessary amount of computing resources
needed to achieve that type of physical server
is allocated to the client’s needs
Virtual Partitioning in IaaS Cloud
IaaS Example
AWS
• classic Service Oriented Architecture (SOA)
• has several data centers in which servers run
on top of a virtualization platform (Xen)
• may be partitioned into logical compute units
of various sizes
• Developers can apply system images
containing different OS and applications or
create their own system images.
Pods and Aggregation
• Workloads support a certain number of users
• The limit of the largest virtual machine
instance possible, a copy or clone of the
instance saved to support additional users.
• A group of users within a particular instance is
called a pod. Pods are managed by a Cloud
Control System (CCS).
Failover
Agenda
• Overview
– Why do we need IaaS ?
– How IaaS meets cloud properties ?

• Enabling Techniques
– Virtualization Overview
– Terminology & Taxonomy
WHY DO WE NEED?
Overview
• What is the problems in conventional case ?
– Companies IT investment for peak capacity
– Lack of agility for IT infrastructure
– IT maintain cost for every company
– Usually suffered from hardware failure risk
– …etc

• These IT complexities force company back !!


Overview
• How to solve these problem ?
– Let’s consider some kind of out-sourcing solution
• Somebody will handle on demand capacity for me
• Somebody will handle high available resource for me
• Somebody will handle hardware management for me
• Somebody will handle system performance for me
• Somebody will …

– Frankly, that would be a great solution IF there were


“somebody”.
– But who can be this “somebody”, and provide all these
services ?
Overview
• Infrastructure as a Service will be the salvation.
– IaaS cloud provider takes care of all the IT infrastructure
complexities.
– IaaS cloud provider provides all the infrastructure
functionalities.
– IaaS cloud provider guarantees qualified infrastructure
services.
– IaaS cloud provider charges clients according to their
resource usage.

• But, what make all of these happen so magically ?


Virtualization
• Assume that you are going to be an IaaS cloud
provider.
– Then, what are the problems you are facing ?
• Clients will request different operating systems.
• Clients will request different storage sizes.
• Clients will request different network bandwidths.
• Clients will change their requests anytime.
• Clients will …

– Is there any good strategy ?


• Allocate a new physical machine for each incomer.
• Prepare a pool of pre-installed machines for different requests.
• or …
Virtualization
• What if we allocate a new physical machine
for each incomer ?
I want I want
Windows 7 Linux

Customer A Customer B

I want … I want …

I wantWindows
… I wantLinux

Virtualization
• How about preparing a pool of pre-installed
physical machines for all kinds of request ?
I want
Mac OS

Somebody
Somebody may want
Somebody
Somebody may want
might want… might want…

Windows + Office Windows Server Linux + OpenOffice Linux Server


Virtualization
• Obviously, neither of previous strategies will work.
• We need more powerful techniques to deal with that.

• Virtualization techniques will help.


– For computation resources
• Virtual Machine technique
– For storage resources
• Virtual Storage technique
– For communication resources
• Virtual Network technique
HOW IAAS MEETS CLOUD PROPERTIES ?
Properties and Characteristics
• As a cloud provider, all of the fundamental properties and
characteristics stated in previous lectures should be
concerned and implemented.
Scalability & Elasticity
• What do scalability and elasticity mean in
IaaS ?
– Clients should be able to dynamically increase or
decrease the amount of infrastructure resources
in need.
– Large amount of resources provisioning and
deployment should be done in a short period of
time, such as several hours or days.
– System behavior should remain identical in small
scale or large one.
Scalability & Elasticity
• How to approach scalability and elasticity in IaaS ?
– For computation resources :
• Dynamically create or terminate virtual machines for clients on
demand.
• Integrate hypervisors among all physical machines to
collaboratively control and manage all virtual machines.
– For storage resources :
• Dynamically allocate or de-allocate virtual storage space for
clients.
• Integrate all physical storage resources in the entire IaaS system
• Offer initial storage resources by thin provisioning technique.
– For communication resources :
• Dynamically connect or disconnect the linking state of virtual
networks for clients on demand.
• Dynamically divide the network request flow to different physical
routers to maintain access bandwidth.
Availability & Reliability
• What do availability and reliability mean in IaaS ?
– Clients should be able to access computation
resources without considering the possibility of
hardware failure.
– Data stored in IaaS cloud should be able to be
retrieved when needed without considering any
natural disaster damage.
– Communication capability and capacity should be
maintained without considering any physical
equipment shortage.
Availability & Reliability
• How to approach availability and reliability in IaaS ?
– For computation resources :
• Monitor each physical and virtual machine for any possible failure.
• Regularly backup virtual machine system state for disaster
recovery.
• Migrate virtual machine among physical machines for potential
failure prevention.
– For storage resources :
• Maintain data pieces replication among different physical storage
devices.
• Regularly backup virtual storage data to geographical remote
locations for disaster prevention.
– For communication resources :
• Built redundant connection system to improve robustness.
Manageability & Interoperability

• What do manageability and interoperability mean


in IaaS ?
– Clients should be able to fully control the virtualized
infrastructure resources which allocated to them.
– Virtualized resources can be allocated by means of
system control automation process with pre-
configured policy.
– States of all virtualized resource should be fully under
monitoring.
– Usage of infrastructure resources will be recorded and
then billing system will convert these information to
user payment.
Manageability & Interoperability
• How to approach manageability and interoperability in IaaS ?
– For computation resources :
• Provide basic virtual machine operations, such as creation, termination,
suspension, resumption and system snapshot.
• Monitor and record CPU and memory loading for each virtual machine.
– For storage resources :
• Monitor and record storage space usage and read/write data access from
user for each virtual storage resource.
• Automatic allocate/de-allocate physical storage according to space
utilization.
– For communication resources :
• Monitor and record the network bandwidth consumption for each virtual
link.
• Automatically reroute the data path when computation and storage are
duplicated.
Performance & Optimization
• What do performance and optimization mean
in IaaS ?
– Physical resources should be highly utilized among
different clients.
– Physical resources should form a large resource
pool which provide high computing power
through parallel processing.
– Virtual infrastructure resources will be
dynamically configured to an optimized
deployment among physical resources.
Performance & Optimization
• How to approach performance and optimization in IaaS ?
– For computation resources :
• Deploy virtual machine with load balancing consideration.
• Live migrate virtual machines among physical ones to balance the
system loading.
– For storage resources :
• Deploy virtual storage with hot spot access consideration.
• Live migrate virtual storage among physical ones with different
performance level.
– For communication resources :
• Consider network bandwidth loading when deploying virtual machines
and storage.
• Dynamically migrate virtual machines or storage to balance network
flow.
Accessibility & Portability
• What do accessibility and portability mean in
IaaS ?
– Clients should be able to control, manage and
access infrastructure resources in an easy way,
such as the web-browser, without additional local
software or hardware installation.
– Provided infrastructure resources should be able
to be reallocated or duplicated easily.
Accessibility & Portability
• How to approach accessibility and portability in
IaaS ?
– For computation resources :
• Cloud provider integrates virtual machine management and
access through web-based portal.
• Comply the virtual machine standard for portability.
– For storage resources :
• Cloud provider integrates virtual storage management and
access through web-based portal.
– For communication resources :
• Cloud provider integrates virtual network management and
access through web-based portal.
ENABLING TECHNIQUES
(VIRTUALIZATION)
IaaS Architecture
• Infrastructure as a Service (IaaS) delivers computer infrastructure
for cloud user, typically a platform virtualization environment as a
service.
• Virtualization is an enabling technique to provide an abstraction of
logical resources away from underlying physical resources.
Virtualization Overview
• What is virtualization ?
– Virtualization is the creation of a virtual (rather than
physical) version of something, such as an operating
system, a server, a storage device or network resources.
– It hides the physical characteristics of a resource from
users, instead showing another abstract resource.

• But, where does virtualization come from ?


– Virtualization is NOT a new idea of computer science.
– Virtualization concept comes from the component
abstraction of system design, and it has been adapted in
many system level.
– Now, let’s take a look of our original system architecture !!
Virtualization Overview
• System abstraction :
– Computer systems are built
on levels of abstraction.
– Higher level of abstraction
hide details at lower levels.
– Designer of each abstraction
level make use of the
functions supported from its
lower level, and provide
another abstraction to its
higher one.

– Example
• files are an abstraction of a
disk
Virtualization Overview
• Machine level abstraction :
– For OS developers, a
machine is defined by ISA
(Instruction Set
Architecture).
– This is the major division
between hardware and
software.

– Examples :
• X86
• ARM
• MIPS
Virtualization Overview
• OS level abstraction :
– For compiler or library
developers, a machine is
defined by ABI
(Application Binary
Interface).
– This define the basic OS
interface which may be
used by libraries or user.

– Examples :
• User ISA
• OS system call
Virtualization Overview
• Library level abstraction :
– For application developers,
a machine is defined by
API (Application
Programming Interface).
– This abstraction provides
the well-rounded
functionalities.

– Examples :
• User ISA
• Standard C library
• Graphical library
Virtualization Overview
• The concept of virtualization is everywhere !!
– In IaaS, we focus the virtualization granularity at each physical hardware
device.
• General virtualization implementation level :
– Virtualized instance
• Software virtualized hardware instance
– Virtualization layer
• Software virtualization implementation
– Abstraction layer
• Various types of hardware access interface
– Physical hardware
• Various types of infrastructure resources
• Different physical resources :
– Server, Storage and Network
VIRTUALIZATION (TERMINOLOGY &
TAXONOMY)
Virtual Machine
• What is Virtual Machine (VM)?
– VM is a software implementation of a machine (i.e. a
computer) that executes programs like a real machine.

• Terminology :
– Host (Target)
• The primary environment where
will be the target of virtualization.
– Guest (Source)
• The virtualized environment where
will be the source of virtualization.
Emulation vs. Virtualization
• Emulation technique
– Simulate an independent environment where guest ISA
and
host ISA are different.
– Example
• Emulate x86 architecture on ARM platform.

• Virtualization technique
– Simulate an independent environment where guest ISA
and
host ISA are the same.
– Example
• Virtualize x86 architecture to multiple instances.
Process Virtual Machine
• Process virtual machine
– Usually execute guest applications with an ISA different from
host
– Couple at ABI(Application Binary Interface) level via runtime system
– Not persistent
System Virtual Machine
• System virtual machine
– Provide the entire operating system on same or different host ISA
– Constructed at ISA level
– Persistent
Taxonomy

System Virtual Machine Process Virtual Machine

Emulation Transmeta Crusoe Multi-processing system


( Emulate x86 on VLIW cpu )

Virtualization XEN, KVM, VMWare JVM, Microsoft CLI


( x86 virtualization software ) ( High level language virtualization )

Techniques utilized in IaaS


Virtualization Reference Model
Taxonomy for Virtualization
Execution environment virtualization
Security classes for Instructions
Hardware-level virtualization
Virtualization Approaches
• Virtualization Approaches :
– Full-Virtualization
• VMM simulates enough hardware to allow an
unmodified guest OS.
– Para-Virtualization
• VMM does not necessarily simulate hardware, but
instead offers a special API that can only be used by the
modified guest OS.

49
Virtualization Approaches
• Full-Virtualization

Pros Need not to modify guest OS


Cons Significant performance hit
50
Virtualization Approaches
• Para-Virtualization

Pros Light weight and high performance


Cons Require modification of guest OS
51
Emulation, Full virtualization and
Para- Virtualization
Hypervisor (VMM)
• Hypervisor runs above the supervisor mode,
• In reality, hypervisors are run in supervisor
mode ( privileged and non-privileged
instructions 0posed challenges in designing
virtual machine managers)
Virtual Machine Monitor
• What’s Virtual Machine Monitor (VMM) ?
– VMM or Hypervisor is the software layer providing
the virtualization.

VM1 VM2 VM3


• System architecture :
VMM Reference Model
Understanding Hypervisor working
• From the standpoint of applications or users, a
virtual machine has all the attributes and
characteristics of a physical system but is strictly
software that emulates a physical machine.
• A system virtual machine (or a hardware virtual
machine) has its own address space in memory,
processor resource allocation, device I/O using its
own virtual device drivers
• Some virtual machines are designed to run only a
single application or process, referred to as
process virtual machines.
Virtualization Types
• Virtualization Types :
– Type 1 – Bare metal
• VMMs run directly on the host's hardware as a
hardware control and guest operating system monitor.
– Type 2 – Hosted
• VMMs are software applications running within a
conventional operating system.

57
Type 1
• Type 1 VMs have no host operating system
• The operating system loaded into a virtual
machine guest operating system
• No constraint on running the same guest on
multiple VMs on a physical system
• An operating system running on a Type 1 VM is a
full virtualization because it is a complete
simulation of the hardware that it is running on
• Example: LynxSecure, RTS Hypervisor, Oracle VM,
Sun xVM Server, VMware ESX and
• ESXi, and Wind River VxWorks
Type 2
• Software interface is created that emulates the devices with
which a system would normally interact.
• Abstraction is meant to place many I/O operations outside
the virtual environment, which makes it both
programmatically easier
• Sometimes referred to as paravirtualization
• It is the host operating system that is performing the I/O
through a para-API.
• Installed over a host operating system; for Microsoft Hyper-
V, Os-Windows Server
• Example: KVM, Microsoft Hyper V, Parallels Desktop for
Mac, Wind River Simics, VMWare Fusion, Virtual Server
2005 R2, Xen, Windows Virtual PC, and VMware
Workstation 6.0
Type 1 and 2
Criteria for VMM
• VMM can efficiently support virtualization ( by
Goldberg and Popek in 1974) having properties
as:
– Equivalence: A guest running under the control of a
VMM should exhibit same behavior when executed
directly on physical host
– Resource control : The VMM should be in complete
control of virtualized resources
– Efficiency: statistically dominant fraction of the
machine instructions should be executed without
intervention from VMM
Examples

Xen KVM
• Type 2 Virtualization • Type 1 Virtualization
• Para-Virtualization • Full-Virtualization

62
Cloud Migration
Operating system-level virtualization
Operating system-level virtualization
• Offers the opportunity to create different and separated
execution environments for applications that are managed
concurrently
• Different from hardware virtualization
• No hypervisor
• Done within a single operating system, where the OS kernel
allows for multiple isolated user space instances
• Kernel is responsible for sharing the system resources among
instances
• User space instance contains a proper view of the file system
(isolated, and separate IP addresses, software
configurations, and access to devices)
• Operating systems are general-purpose, time- shared with
the capability to provide resource isolation.
OS Virtualization
Adv:
• Little or no overhead because applications
directly use OS system calls (no emulation)
• No need to modify applications to run
• Nor to modify any specific hardware
• Disadv:
• Does not expose the same flexibility of
hardware virtualization, since all the user
space instances must share the same OS
Examples
• Mostly Unix-based systems
• Some (Solaris and OpenVZ) allow for different
versions of the same operating system to
operate concurrently
Examples: FreeBSD Jails, IBM Logical Partition
(LPAR), SolarisZones and Containers, Parallels
Virtuozzo Containers, OpenVZ, iCore Virtual
Accounts, Free Virtual Private Server
(FreeVPS)
Programming language-level
virtualization
Programming language-level
virtualization
• Is mostly used to achieve ease of deployment of
applications, managed execution, and portability across
different platforms and OS
• Consists of a virtual machine executing the byte code of a
program,
• Compilers implemented and used this to produce a binary
format representing the machine code for an abstract
architecture
• Architecture vary from implementation to implementation
• Generally these virtual machines constitute a simplification
of the underlying hardware instructions and provide some
high-level instructions that map some of the features of the
languages compiled for them
• At run time, the byte code can be either interpreted or
compiled on the fly
Programming language-level
virtualization
Adv:
• Process virtual machines has ability to provide a uniform
execution environment across different platforms.
• Allows more control over the execution of programs since
they do not provide direct access to the memory
• Security- by filtering the I/O operations, the process virtual
machine can easily support sandboxing of applications
• Both Java and .NET provide an infrastructure for pluggable
security policies and code access security frameworks
Disadv:
• Virtual machine programming languages generally expose
an inferior performance compared to languages compiled
against the real architecture
Application-level virtualization
Application-level virtualization
• Technique allowing applications to be run in
runtime environments that do not natively
support all the features required by such
applications
• Applications are not installed in the expected
runtime environment but are run as though they
were.
• Techniques are mostly concerned with partial file
systems, libraries, and operating system
component emulation.
Techniques
Interpretation:
• Every source instruction is interpreted by an emulator for
executing native ISA instructions, leading to poor
performance
• Has a minimal startup cost but a huge overhead, since each
instruction is emulated.
Binary Translation:
• Every source instruction is converted to native instructions
with equivalent functions
• After a block of instructions is translated, it is cached and
reused
• Binary translation has a large initial overhead cost, but over
time it is subject to better performance, since previously
translated instruction blocks are directly executed
Advantages
• Good solution in the case of missing libraries in
the host operating system
• Replacement library can be linked with the
application, or library calls can be remapped to
existing functions available in the host system
• VMM is much lighter since it provides a partial
emulation of the runtime environment compared
to hardware virtualization.
• Allows incompatible applications to run together.
Example
• Wine, which is a software application allowing
Unix-like os to execute programs written for
the Microsoft Windows platform
• Features a software application acting as a
container for the guest application and a set
of libraries, called Winelib
• Developers can use to compile applications to
be ported onUnixsystems.
Other types of virtualization
Storage virtualization
• Allows decoupling the physical organization of
the hardware from its logical representation.
• Users do not have to be worried about the
specific location of their data, which can be
identified using a logical path.
Network virtualization
• Combines hardware appliances and specific software
for the creation and management of a virtual network.
• Can aggregate different physical networks into a single
logical network(external network virtualization)or
provide network-like functionality to an operating
system partition(internal network virtualization).
• A VLAN is an aggregation of hosts that communicate
with each other as though they were located under the
same broadcasting domain.
How it works?
• Internal network virtualization is generally applied
together with hardware and operating system-level
virtualization
• Guests obtain a virtual network interface to
communicate with
• Several options for implementing internal network
virtualization:
– The guest can share the same network interface of the host
and use Network Address Translation (NAT) to access the
network;
– the VMM can emulate, and install on the host, an
additional network device, together with the driver
– the guest can have a private network only with the guest.
Desktop virtualization
• Abstracts the desktop environment available
on a personal computer in order to provide
access to it using a client/server approach
• Provides the same outcome of hardware
virtualization but serves a different purpose
Application server virtualization
• Abstracts a collection of application servers
that provide the same services as a single
virtual application server by using load
balancing strategies and
• Providing a high availability infrastructure for
the services hosted in the application server
Advantages of virtualization
• Managed execution and isolation
– These two allow building secure and controllable
computing environments
– Allocation and fine tuning of resources and their
partitioning among different guests is simplified
• Portability
– VMM is one or more files that can be easily
transported with respect to physical systems
– Java programs compilation only require JVM
– hardware-level virtualization to build own operating
environment within a virtual machine instance and
bring it with us wherever we go
Advantages of virtualization
• Self Containment
– reducing the costs of maintenance
– very limited opportunity for the guest program to damage
the underlying hardware
– fewer VMM with respect to the number of virtual machine
instances
• Ease in Server Consolidation
– to achieve a more efficient use of resources
– Multiple systems coexist and share the resources of the
underlying host
– Consolidation allows adjusting the number of active
physical resources dynamically according to load & creating
the opportunity to save in terms of energy consumption
Disadvantages
• Performance degradation
– increased latencies
– Maintaining the status of virtual processors
– Support of privileged instructions
– Support of paging within VM
• Inefficiency and degraded user experience
• Security holes and new threats
Example 1: Xen-paravirtualization
Xen
• Xen is an open-source initiative
• Virtualization platform based on
paravirtualization
• Developed by a group of researchers at the
University of Cambridge
• Has a large open-source community backing it
• Used for either desktop virtualization or server
virtualization
• Recently used to provide cloud computing
solutions by means of Xen Cloud Platform
• Xen Hypervisor is the core technology of Xen
Features
• Allows high-performance execution of guest
operating systems
• Modifying portions of the guest operating
systems run by Xen
• Not a transparent solution for implementing
virtualization
Xen architecture and guest OS
management
Example 2: Vmware-full
virtualization
VMware
• Well known for the capability to virtualize x86
architectures
• Runs unmodified on top of their hypervisors
A full virtualization reference model
VMware vSphere
• VMware
– Management infrastructure framework
– Virtualizes system, storage, and networking
hardware to create cloud computing
infrastructures
• vSphere- a set of management tools
– Provides a set of services that applications can use
to access cloud resources
VMware workstation architecture
VMware GSX server architecture
VMware Cloud Solution stack
Services
• VMware vCompute: A service that aggregates
servers into an assignable pool
• VMware vStorage: A service that aggregates
storage resources into an assignable pool
• VMware vNetwork: A service that creates and
manages virtual network interfaces
• Application services: Such as HA (High
Availability) and Fault Tolerance
• vCenter Server: A provisioning, management, and
monitoring console for VMware cloud
infrastructures
VMware’s vSphere Cloud
Infrastructure Model
Features
• virtualization layer abstracting memory, and
storage uses the VMware ESX or ESXi
virtualization server
• ESX is a Type 1 hypervisor
• Uses a Linux kernel to boot and installs the
vmkernel hypervisor
• If rebooted, the vmkernel loads first, and then
the Linux kernel becomes the first guest
operating system to run as a virtual machine on
the system and contains the service console
• VMware is a very highly developed infrastructure
VMware ESXi server architecture
Virtual infrastructure elements
SDDC
• The software-defined data center(SDDC)
extends virtualization
from compute to storage and networking resou
rces
• providing a single software toolset to manage
those virtualized resources. It results from years
of evolution in server virtualization.
Components
• Compute virtualization or server virtualization is
well known to many organizations. Using
a hypervisor
• compute virtualization abstracts operating
systems
• applications from physical servers.
• As a result, administrators can use virtual
machines (VMs) to run multiple distinct
applications and operating systems on a single
server.

You might also like