Introduction
Introduction
1
2CEIT603:Cloud Computing Course Outline
Introduction
Software As a service(SaaS)
Infrastructure as Service(IaaS)
Platform As a Service(PaaS)
MapReduce Programming
Management and Monitoring
Security
Cloud Middleware
2
Text and Reference Books
Text Books:
Reference Books:
Cloud Application Architectures: Building Applications and Infrastructure in the
Cloud by George Reese, O'Reilly Publication.
Cloud Computing Explained: Implementation Handbook for Enterprises by
John Rhoton, Recursive Press
3
Chapter outline
4
What is Cloud Computing
5
Needs of Cloud Computing
For example in organization the basic components are required to have an E-Mail
Services for staff members.
All these components are bundled together.
E-Mail Application
Web(Email) Server
Server Operating System
Server Hardware
Web(Email)- Server is dependent on Server Hardware everything (every component)
below it.
If any of the component fails (or stop working, for example .Due to hard drive, cpu
failure or virus) then Webserver will stop working.
So if your hardware/OS fails your service will go down.
6
Needs of Cloud Computing
7
What is Virtual Computing
With virtualization, the migration of OS becomes easy and less time consuming.
8
What is Virtual Computing
9
What is Virtual Computing
10
Traditional Vs Virtual Architecture
11
What is virtual machine?
Virtual machine (VM): A software implementation of a machine (computer)
that executes programs like a physical machine.
12
What virtual machines provides?
Hardware independence: VM
sees the same hardware regardless
of the host hardware.
Encapsulation: Entire VM
encapsulated into a single file
13
How Virtual Computing is Useful?
Test before we go: You are able to test your application on different kind of
system in same machine. It's easy to destroy, rebuild or backup your whole testing
environments - Virtual Machine.
Server consolidation: Many small physical servers could be replaced by virtual
machine, runs on virtualization environment provided by one powerful physical
server. The large server can "host" many such "guest" virtual machines.
Increase hardware utilization: To increase the utilization of costly hardware
resources such as CPU, memory or even like storage space.
Rapid provisioning, dynamic fault tolerance
For example:
Computing task can now be utilized down to core of CPU level.
Big system memory can partition as smaller portions for legacy system runs
within a virtual machine.
14
Virtualization
15
Server Virtualization
16
Virtualization
◇ Hypervisor layer
◇ Hardware/physical layer
Hardware or physical layer: Physical hardware components including memory, CPU, network
cards, and disk drives.
Hypervisor layer: Thin layer of software that runs on top of the hardware. The Xen hypervisor
gives each virtual machine a dedicated view of the hardware.
Virtual machine layer: Operating system hosted on the hypervisor and appearing to the user as
a separate physical computer. However, the machine shares physical resources with other virtual
machines, and it is portable because the virtual machine is abstracted from the physical hardware.
17
Hypervisor
Examples of Hypervisors:
– VMWare ESX/ESXi (Elastic Sky X Intergrated)
– Hyper-V
– VMWare Workstation
– Virtual Server
– Xen Server
18
Classification of Server Virtualization Techniques
19
Type 1 Vs Type 2 Hypervisors
Depending on the location of the virtualization layer (hypervisor), there are two
main hardware virtualization architectures:
Type 1 Hypervisor (Full or Bare-Metal)
– Loaded directly on hardware
– Wind River VxWork, VMWare ESX / ESXi, Xen Server
Type 2 Hypervisor (Hosted – Architecture)
– Loaded in OS running on hardware
– Microsoft Hyper V , VMWare Fusion (Macintosh) , VMWare Workstation, KVM
Performance of Type 2 hypervisor is not good as compared to Type 1 hypervisor.
– Because OS layer is in-between virtualization layer and hardware. There is greater
overhead in using Type 2 hypervisor. You can not create same no. of VMs on same
hardware as compare to Type 1 hypervisor.
– Type 2 has more points of failure since anything that affect the stability of the base
operating system can also affect the guest OS and the virtual machine.
20
Type 1 Vs Type 2 Hypervisors
Guest operating systems: The operating system loaded into a virtual machine is referred
to as the guest operating system, and there is no constraint on running the same guest on
multiple VMs on a physical system. Guest operating systems are isolated from each other.
Guest OS kernels use the interfaces provided by the hypervisor to access their privileged
resources.
Host operating system: The host operating system is the base operating system,
under which the hypervisor is installed, in the hosted architecture case 21
Virtualization
Solutions
- Full Virtualization(Binary Translation & Direct Execution)
- Para Virtualization.
- Hardware Assisted.
22
Full Virtualization (Binary Translation & Direct Execution)
This technique uses a combination of binary translation for handling privileged and
sensitive instructions and direct execution techniques for user-level instructions.
Binary translation basically translates kernel code by replacing non-virtualizable
instructions with new sequences of instructions that have the intended effect on the
virtualized hardware. Results in significant virtualization overhead.
Full Virtualization means the virtualization is achieved with no assistance of
hardware or OS.
Full virtualization provides a complete simulation of the underlying hardware which
represents total abstraction of the underlying physical system, and create a
complete virtual system in which the guest operating system can execute.
No modification is required in the guest operating system or application; the guest
operating system or application is not even aware that it is running within a
virtualized environment.
Typical solution of Full-Virtualization:
-Commercial: VMWare ESX, Microsoft Virtual Server, Citrix XenServer.
-Opensource: Linux Xen hypervisor – Hardware Virtual Machine (HVM), KVM.
23
Full Virtualization (Binary Translation & Direct Execution)
OS running on top of Hypervisor as user level processes. They are not running with
the same level of privilege as they run on hardware. When OS runs privileged
instructions, they have to be in kernel (privileged) mode to execute the instructions
on Hardware.
These instructions will get trap in Hypervisor and Hypervisor emulate intended
functionality of OS (Trap & Emulate Strategy). In some architecture, some privileged
instructions may fail silently.
You may never know about failure of execution of instructions. To overcome this
problem, the Hypervisor will apply binary translation strategy: The hypervisor knows
what all instructions might fail silently in binary of each unmodified OS and through
binary editing strategy those instructions are deal with carefully (The hypervisor can
catch these instructions and take appropriate actions).
24
Full Virtualization (Binary Translation & Direct Execution)
Disadvantages:
Since the hypervisor is installed
directly on top of the hardware, it
should include all device (network
and storage) drivers.
The lack of a base operating
system makes the installation of
these hypervisors more difficult
and requires more customization
and configuration.
Some Virtual Machine require
CPUs with special virtualization
support built in (such as Intel-VT
and AMD-V)
25
Para Virtualization (OS Assisted Virtualization)
In this approach type of Server Virtualization is modify the source of Guest OS.
Not only avoid problematic instructions but also include optimization.
Example: Allowing OS to access/exploit characteristics of real H/W resources
(underlying Hypervisor)
From Applications point of view nothing has been changed: Same Interface.
1.4 % of Code Base for Linux, 0.04% of Code Base for WinXP.
27
Para Virtualization (OS Assisted Virtualization)
Benefit of having stub driver: The hypervisor does not have to have its own
device drivers. Therefore, the users of the virtual machine never have to depend on
the hypervisor software provider for driver software. Faster run time translation for
system calls is the second benefit of this approach of device driver.
Disadvantage
Requirement of modifying (kernel of) guest operating system to execute and
communicate with the hypervisor
28
Full Vs Para Virtualization
29
Full Vs Para Virtualization
30
Hardware-Assisted Virtualization
Hardware providers (e.g., Intel and AMD) started supporting virtualization at the
hardware level.
In hardware-assisted virtualization (e.g., Intel VT-x, AMD-V), privileged and
sensitive calls are set to automatically trap to the hypervisor. This eliminates the
need for binary translation or para virtualization.
Moreover, since the translation is done on the hardware level, it significantly
improves performance.
31
Selection of Hypervisor
32
Type -2 ( Hosted Architecture
Advantages:
Hypervisor is easy to install and configure on most
Computers without the need for customization
Drawbacks:
A hosted architecture may result in performance degradation, because the I/O requests of
the virtual machines need to be directed through the hosted OS.
Unable to run real-time operating systems directly inside the virtual machines.
33
Why Cloud service is popular?
34
Characteristics of Cloud Computing
Common Characteristics:
Massive Scale
Resilient Computing
Homogeneity
Geographical Distribution
Virtualization
Service Orientation
Low Cost software
Advanced Security
35
Characteristics of Cloud Computing
Essential Characteristics:
36
Characteristics of Cloud Computing
On-demand self-service: a consumer of cloud computing solution should be able to
automatically acquire and release the IT resources without requiring any action from the service
providers when ever the need for such resources increases or decreases.
Broad network access: The cloud computing based IT resources are available over the
network and accessed by thin or thick client platforms.
Resource pooling: the available computing resources, physical or virtual, are pooled together
and are dynamically assigned and reassigned based consumers demand multiple consumers are
served using a multi-tenant model.
Rapid elasticity: the provisioning and releasing of the resources, instantly and elastically, are
preferably done in an automatic way in order to enable a consumer to quick scale out and in;
compared to customer’s demand, the resources may appear to be unlimited, available in any
quantity at any time
Measured Service: a cloud computing solution also has the ability to measure the consumption
of resources, and to automatically control and optimize the resources; this happens on some
level of abstraction corresponding to the type of service the consumption can be monitored,
controlled and reported.
Flexible billing (Pay as you go): fees can be levied on a subscription basis or can be tied to
actual consumption of resources.
37
Cloud Architecture
38
Cloud Architecture
39
Cloud Computing Layers
40
Cloud Computing Layers
MS Live/ExchangeLabs, IBM,
Application Service
Google Apps; Salesforce.com
(SaaS)
Quicken Online, Zoho, Cisco
41
Cloud Types
Cloud Computing separated into two distinct sets of models: Service models
and Deployment models.
Service Models: Types of services that you can access on a cloud computing
platform.
SAAS (Software As A Service)
PAAS ( Platform As A Service)
IAAS (Infrastructure As A Service)
42
Service Model Architectures
SalesForce CRM
LotusLive
Google App
Engine
43
Service Model Architectures
44
IaaS, PaaS and SaaS
Features IaaS PaaS SaaS
What you get You get the infrastructure & Here you get what you Here you don’t have to worry
pay accordingly .Freedom to demand. Software, hardware, about anything. A pre-installed,
use or install any OS, OS, web environment. You pre-configured package as per
software or composition get the platform to use & pay your requirement is given and you
accordingly only need to pay accordingly.
Importance The basic layer of Top of IaaS It is like a Complete package of
Computing services
Technical Technical knowledge You get the Basic setup but No need to worry about
Difficulties required still the knowledge of subject technicalities. The SaaS provider
is required. company handles everything.
Deals with Virtual Machines, Storage Runtimes (like java Applications like email (Gmail,
(Hard Disks), Servers, runtimes), Databases (like Yahoo mail etc), Social
Network, Load Balancers mySql, Oracle), Web Servers Networking sites (Facebook etc)
etc (tomcat etc)
Popularity Popular among highly Most popular among Most popular among normal
Graph skilled developers, developers as they can focus consumers or companies which
researchers who require on the development of their reply on softwares such as email,
custom configuration as per apps or scripts. They don’t file sharing, social networking as
their requirement or field of have to worry about traffic they don’t have to worry about the
research. load or server management technicalities.
etc.
45
Cloud Taxonomy
46
Cloud Deployment Models
47
Cloud Deployment Models
48
Cloud Deployment Models
49
Cloud Deployment Models
50
Opportunities and Challenges
51
Opportunities and Challenges
52
Advantages of Cloud Computing
Improved performance:
– With few large programs hogging your computer's memory, you will see better
performance from your PC.
– Computers in a cloud computing system boot and run faster because they have fewer
programs and processes loaded into memory…
53
Advantages of Cloud Computing
54
Advantages of Cloud Computing
Improved document format compatibility.
– You do not have to worry about the documents you create on your machine being
compatible with other users' applications or OSes
– There are potentially no format incompatibilities when everyone is sharing documents and
applications in the cloud.
55
Advantages of Cloud Computing
56
Advantages of Cloud Computing
Device independence.
– You are no longer tethered to a single computer or network.
– Changes to computers, applications and documents follow you through the cloud.
– Move to a portable device, and your applications and documents are still available.
57
Disadvantages of Cloud Computing
58
Disadvantages of Cloud Computing
Can be slow:
– Even with a fast connection, web-based applications can sometimes be slower than
accessing a similar software program on your desktop PC.
– Everything about the program, from the interface to the current document, has to be sent
back and forth from your computer to the computers in the cloud.
– If the cloud servers happen to be backed up at that moment, or if the Internet is having a
slow day, you would not get the instantaneous access you might expect from desktop
applications.
HPC Systems:
– Not clear that you can run compute-intensive HPC applications that use MPI/OpenMP!
– Scheduling is important with this type of application
as you want all the VM to be co-located to minimize communication latency!
General Concerns:
– Each cloud systems uses different protocols and different APIs
may not be possible to run applications between cloud based systems
– Amazon has created its own DB system (not SQL 92), and workflow system (many popular
workflow systems out there)
so your normal applications will have to be adapted to execute on these platforms.
60
The Future
Many of the activities loosely grouped together under cloud computing have
already been happening and centralised computing activity is not a new
phenomena
Grid Computing was the last research-led centralised approach
However there are concerns that the mainstream adoption of cloud
computing could cause many problems for users
Many new open source systems appearing that you can install and run on
your local cluster
- should be able to run a variety of applications on these systems
61