Compiled Note On Cloud Computing - 2
Compiled Note On Cloud Computing - 2
Compiled Note On Cloud Computing - 2
Cloud Computing
Credit: 4
Course Objectives:
The main objectives of this course is focus on the real world goals for services provided by cloud
computing, the constrains on cloud computing infrastructure, specification of cloud system
structure and implementation of specifications, theevolution of cloud computing over time and
across computing arena and also concerned with the processes, methods, and tools for
development of cloud infrastructure.
1. Introduction to cloud computing (8 Hrs)
History of Cloud Computing, features of cloud computing, cloud services requirements, cloud
and dynamic infrastructure, challenges of cloud computing
2. Cloud Computing Architecture (12 Hrs)
Cloud computing Characteristics, Cloud reference model -platform as service, software as a
service, infrastructure as service, Cloud deployment models -Public clouds, private clouds,
Community cloud, hybrid clouds, Cloud design and implementation using SOA, security, trust
and privacy
3. Cloud management (6 Hrs)
Resiliency, Provisioning, asset Management, cloud governance, disaster recovery
4. Cloud Virtualization technology (10 Hrs)
Virtualization defined, virtualization benefits, server virtualization, hypervisor management
software, virtual infrastructure requirements
5. Cloud Programming Models (12 Hrs)
Thread programming, Task programming, Map-reduce programming
6. Cloud platforms, applications and case studies ( 12Hrs)
Web services, appEngine, azure Platform, Aneka, open challenges, scientific applications,
business, consumer applications.
How it Works?
Utilizes the network as a means to connect user end point to resources that are
centralized in a data-center.
The data center may be accessed via the internet or a company network, or both.
Key Characteristics
Agility improves with users' ability to rapidly and inexpensively re-provision technological
infrastructure resources.
Application Programming Interface (API) accessibility to software that enables machines
to interact with cloud software in the same way the user interface facilitates interaction
between humans and computers.
Essential Characteristics
On Demand Self-Service
Layers:
Client
Application
Platform
Infrastructure
Figure:- Layers in Cloud Computing
Server
SalesForce CRM
LotusLive
Google Apps
Engine
Windows Azure
Services Description
Public Cloud
A public cloud (also called External Cloud) is one based on the standard cloud
computing model, in which a service provider makes resources, such as applications
and storage, available to the general public over the Internet. Public cloud services may
be free or offered on a pay-per-usage model.
Hybrid Cloud
Dispatcher
Entry point of instructions
Yogendra Tamang 070-MSCS-670
Interpreter Routines
Executed whenever a VM executes a privileged instruction
Figure:- Hypervisor Reference Architecture
Hardware Virtualization Techniques
1. Hardware-assisted Virtualization
2. Full Virtualization
3. Para-virtualization
4. Partial Virtualization
1. Hardware-assisted Virtualization
Hardware provides architectural support for building a virtual machine manager able to
run a guest operating system in complete isolation
Present examples are extensions to x86-64 bit architecture introduced with Intel VT
(Vanderpool) and AMD V (Pacifica)
Before hardware-assisted virtualization, emulation of x86 architecture was significantly
costly from performance point of view (Because x86 architecture did not meet the formal
requirements of Popek and Goldberg)
Early products use binary translation in order to trap some sensitive instruction and
provide an emulated version
Eg, VMware Virtual Platform (introduced by VMware in 1999)
After 2006, Intel and AMD introduced processor extensions
Yogendra Tamang 070-MSCS-670
o Eg, Kernel-based Virtual Machine (KVM), VirtualBox, Xen, VMware, Hyper-V,
Sun xVM, Parallels
2. Full Virtualization
Ability of running a program on top of a virtual machine directly and without any
modification, as if it were run on the raw hardware
Complete emulation of the underlying hardware
Advantages
Complete isolation, enhanced security, ease of emulation of different architectures,
coexistence of different systems on the same platform
Challenges
Interception of privileged instructions such as I/O instructions (have to be
contained within the VMM)
Virtual environment for all the instructions, poses some limits to the performance
Successful and efficient implementation obtained with a combination of both hardware
and software
accomplished through hardware-assisted virtualization
3. Paravirtualization
Not a transparent virtualization solution
Capability of execution of performance critical operations directly on the host
Exposes a software interface to the virtual machine that is slightly modified from the host
Allows implementation of thin virtual machine managers
However, guest operating systems need to be modified and explicitly ported by
remapping performance critical operations through the virtual machine software
interface
Possible when the source code of the operating system is available
Or ad-hoc drivers that remap critical instructions to paravirtualization APIs
Initially applied in the IBM VM OS families
Xen hypervisors for Linux-based operating systems
Yogendra Tamang 070-MSCS-670
Other solutions – VMware, Parallels, TRANGO, Wind River, and XtratuM
Partial emulation of the underlying hardware
Not allowing complete execution of the guest operating systems in complete isolation
Not all features of the operating system can be supported as with full virtualization
Eg – address space virtualization used in time-sharing systems
Historically, important milestone for achieving full virtualization
Implemented on the experimental IBM M44/44X
Operating System Level Virtualization
Virtualization is done within a single operating system
OS kernel allows for multiple isolated user space instances
OS Kernel is responsible for sharing the system resources among instances and for
limiting the impact of instances on each other
A user space instance contains
A view of the file system which is completely isolated
Separate IP addresses, software configurations, and access to devices
General purpose, time-shared operating systems with the capability to provide stronger
name space and resource isolation
Evolution of the chroot mechanism in Unix systems
Compared to hardware virtualization, imposes a little or no overhead because
applications directly use OS systems calls and there is no need for emulation
No need to modify applications, neither any specific hardware needed
However, OS level virtualization does not expose the same flexibility of hardware
virtualization – all users share same OS
Efficient solution for server consolidation
By aggregating different servers into one physical server, each server is run in a different
user space
Task Computing
Task is a distinct unit of code, or a program, that can be separated and executed in a remote
runtime environment. Multithreading is mainly concerned with providing a support for
parallelism within a single machine while task computing: provides distribution by
harnessing the computer power of several computing nodes
Yogendra Tamang 070-MSCS-670
Figure:- Task Computing Scenario
2. Protein Structure
Prediction
Productivity Applications
i. Online Storage:
Dropbox, iCloud etc.