0% found this document useful (0 votes)
12 views

module1st-cloudcomputing-

The document provides an overview of cloud computing, including its definition, architecture, and applications across various sectors. It discusses the evolution of cloud technologies, virtualization, and the benefits and challenges associated with cloud computing. Additionally, it outlines different service models such as SaaS, PaaS, and IaaS, as well as key platforms like AWS, Microsoft Azure, and Google App Engine.

Uploaded by

saishribl
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views

module1st-cloudcomputing-

The document provides an overview of cloud computing, including its definition, architecture, and applications across various sectors. It discusses the evolution of cloud technologies, virtualization, and the benefits and challenges associated with cloud computing. Additionally, it outlines different service models such as SaaS, PaaS, and IaaS, as well as key platforms like AWS, Microsoft Azure, and Google App Engine.

Uploaded by

saishribl
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 114

Cloud Computing and its Application

Chapters
Module I:
Chapter 1 — Introduction
Chapter 3 — Virtualization

Module II
Chapter 4 — Cloud Computing Architecture
Chapter 5 — Aneka: Cloud Application Platform

Module III
Chapter 6 — Concurrent Computing: Thread Programming
Chapter 7 — High-Throughput Computing: Task Programming

Module IV
Chapter 8 — Data Intensive Computing: Map-Reduce Programming

Module V
Chapter 9 — Cloud Platforms in Industry
Chapter 10 — Cloud Applications
Chapter 1 - Introduction
What is Cloud Computing
The Next Revolution in IT
The Big Switch in IT
• Classical Computing • Cloud Computing
– Buy & Own – Subscribe
• Hardware, System – Use
Software, Applications
Every 18 months?

often to meet peak


needs.
– Install, Configure, Test,
Verify
– Manage
– .. – $ - pay for what you use,
– Finally, use it – based on QoS
– $$$$....$(High CapEx)
I need to grow my I have a lot of
infrastructure, but infrastructure that I
I do not know for want to rent …
how long… I have a surplus of
infrastructure that I
want to make use of

I cannot invest in
infrastructure, I
just started my
business….
I have infrastructure
and middleware and I
can host applications

I want to focus on
application logic and
not maintenance and
scalability issues

I have infrastructure
and provide
application services

I want to access and


edit my documents
and photos from
everywhere..
Public Clouds

Applications

Development and
Runtime Platform
Compute

All users, on any device Storage

Cloud Manager

Private Resources

Private Cloud Private Cloud (Government)

Organization Personnel Government Agencies


Defining Cloud
No capital
investments

Quality of Service

Pay as you go

Billing

IT outsourcing

Security
Cloud
Computing?
Defining Cloud
A Closer look
• Cloud computing Helping
• Enterprises
• Governments
• Public Institutes
• Private Institutes
• Research Organization
Examples
• Large enterprise can offload some of their
activities to Cloud based system.
Example
• Small Enterprises and Start-ups can afford to
translate into business results their ideas
more quickly without excessive upfront cost
Example
• System Developers can concentrate on
business logic rather than dealing with the
complexity of infrastructure management and
scalability
Example
• End users can have their documents
accessible from everywhere and any device
Cloud Computing Reference Model
Web 2.0 Software as a Service
Interfaces End user applications
Scientific applications
Office automation, Photo editing,
CRM, and Social Networking
Examples: Google Documents, Facebook, Flickr, Salesforce

Platform as a Service
Runtime Environment for Applications
Development and Data Processing Platforms
Examples: Windows Azure, Hadoop, Google AppEngine, Aneka

Infrastructure as a Service
Virtualized Servers
Storage and Networking
Examples: Amazon EC2, S3, Rightscale, vCloud
Characteristics and Benefits
For CSCs and CSPs

• No Upfront Commitments
• On demand access
• Nice pricing
• Simplified application acceleration and
scalability
• Efficient resource allocation
• Energy efficiency and seamless creation and
use third-party services.
Challenges Ahead
• Dynamic Provisioning of Cloud Computing
Services
• Security and Privacy
• Legal issues
• Performance and Bandwidth Cost
• Reliability and Availability
Historical Development of Cloud
Computing
• The history of cloud computing starts from the 1950’s
and the work done by AT & T in the area of telephone
networking

• At that time AT & T had already Begin to develop an


architecture and system where data would be located
centrally and accessed by business through redesigned
telephones and updated telephone network.

• So here we can easily understand that at that time this


establishment has been done in the area of telephone
networking.
Historical Development of Cloud
Computing
• One of the main principles of cloud computing
from SAAS (Software as a service) to provide
storage on demand, is that the computing
capacity varies immediately and transparently
with the customer’s need.
2010: Microsoft
1970: DARPA’s TCP/IP 1999: Grid Computing Azure

1984: IEEE 802.3 1997: IEEE 2008: Google


Ethernet & LAN 802.11 (Wi-Fi) AppEngine
1966: Flynn’s Taxonomy
SISD, SIMD, MISD, MIMD 1989: TCP/IP
2007: Manjrasoft Aneka
IETF RFC 1122
1969: ARPANET
1984: DEC’s 2005: Amazon
1951: UNIVAC I, VMScluster AWS (EC2, S3)
First Mainframe
1975: Xerox PARC
Invented Ethernet 2004: Web 2.0
Clouds 1990: Lee-Calliau
1960: Cray’s First WWW, HTTP, HTML
Grids Supercomputer

Clusters

Mainframes

1950 1960 1970 1980 1990 2000 2010


Evolution of cloud technologies
• Distributed Systems
A distributed system is a collection of
independent computers that appears to its
users as a single system and also it acts as a
single computer.

The main and primary motive of distributed


systems is to share resources and to utilize
them better.
This is absolutely true in case of cloud computing
because in cloud computing we are sharing the
single resource by paying rent.

The resource is single because the definition of


cloud computing clearly states that in cloud
computing the single central copy of a particular
software is stored in a sever (which is located on
a anonymous location ) and users are accessing
that on PAY PER USE BASIS.
• Mainframes
• A large high-speed computer, especially one
supporting numerous workstations or
peripherals.
• the central processing unit and primary
memory of a computer.
• Clusters
• A computer cluster consists of a set of loosely
or tightly connected computers that work
together so that, in many respects, they can
be viewed as a single system.
• computer clusters have each node set to
perform the same task, controlled and
scheduled by software.
• Grids
• 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.

• The components of a cluster are usually


connected to each other through fast local
area networks, with each node (computer
used as a server) running its own instance of
an operating system. In most circumstances,
• Virtualization
• In computing, virtualization refers to the act
of creating a virtual (rather than actual)
version of something, including virtual
computer hardware platforms, storage
devices, and computer network resources.
• Another Cloud Technology of Cloud
Computing
• Hardware virtualization
• Storage or Network Virtualization
• Web 2.0
• the second stage of development of the
Internet, characterized especially by the
change from static web pages to dynamic or
user-generated content and the growth of
social media.
• Service-Oriented Computing (SOC)
• Core Reference model for Cloud Computing
System
• SOC Introduce Two main Concepts
• Quality of Service (QOS)
• Software as Service (SaaS)
• Utility Oriented Computing
• The Computer Utility, 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.
Building Cloud Computing Environment

• Application Development
• Enterprise Application
Infrastructure and System Development
Computing Platform and Technologies
• AWS – Amazon Web Service
• Google App Engine
• Paas
• For Developers
• Microsoft Azure
• Paas
• https://azure.microsoft.com
• Haddop
• Hadoop is an open source, Java-based
programming framework that supports the
processing and storage of extremely large
data
• https://cloud.google.com/hadoop
• http://hadoop.apache.org/
• Salesforce
• salesforce.com, inc. is an American cloud
computing company headquartered in San
Francisco, California.
• https://www.salesforce.com/in/
• Manjarasoft Aneka
• Aneka is a platform and a framework for
developing distributed applications on the
Cloud.
• One of the key features of Aneka is the ability
of providing different ways for expressing
distributed applications by offering different
programming models;
• http://www.manjrasoft.com/products.html
Chapter 3 - Virtualization
Virtualization
• Virtualization is the creation of a virtual rather
than actual version of something, such as an
operating system, a server, a storage device or
network resources
• One of the fundamental Concepts of Cloud
Computing
What is Virtualization?
Why are virtualized environments so
popular today?
– Increased performance and computing capacity
● PCs are having immense computing power.
– Underutilized hardware and software resources
● Limited use of increased performance & computing
capacity.
– Lack of space
● Continuous need for additional capacity.
– Greening initiatives
● Reduce carbon footprints
● Reducing the number of servers, reduce power
consumption.
– Rise of administrative costs
● Power and cooling costs are higher then IT equipments.
Virtualized Environments
• Virtualization is a method of logically dividing
the system resources between different
applications
• Application Virtualization
• Desktop Virtualization
• Server Virtualization
• Network Virtualization
• Storage Virtualization
Applications
Application - level
Virtualization

Programming Languages
Execution Stack

Programming
Language level
Virtualization

Operative Systems
OS- level Virtualization

Hardware
Hardware - level
Virtualization
● Three major components of Virtualized
Environments
– Guest – system component that interacts
with Virtualization Layer.
– Host – original environment where guest
runs.
– Virtualization Layer – recreate the same or
different environment where guest will run.
Virtual Image Applications Applications
Guest

Virtual Hardware Virtual Storage Virtual Networking


Virtualization Layer
Software Emulation

Host Physical Hardware Physical Storage Physical Networking

Virtualization Reference Model


Characteristics of VE
• Increased Security
• Managed Execution
 - Sharing
 - Aggregation
 - Emulation
 - Isolation
• Portability
Increased Security
– Ability to control the execution of a guest
– Guest is executed in emulated environment.
– Virtual Machine Manager control and filter the
activity of the guest.
– Hiding of resources.
– Having no effect on other users/guest
environment.
Managed Execution types
– Sharing
● 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
Portability

– safely moved and executed on top of different


virtual machine.
– Application Development Cycle more flexible and
application deployment very straight forward
– Availability of system is with you.
Taxonomy of Virtualization Techniques
• 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
Taxonomy of virtualization
Execution Virtualization
● 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 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 probabilities of applications and libraries across OS.
Machine Reference Model [Cont.]

● API – it interfaces applications to libraries


and/or the underlying OS.
● Layered approach simplifies the
development and implementation of
computing system.
● ISA has been divided into two security
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 technique that
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
Hypervisor
● Hypervisor runs above the supervisor 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 (VMM)
● Main Modules :-
– 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)
Criteria of VMM

● Equivalence – same behavior as when it


is executed directly on the physical host.
● Resource control – it should be in
complete control of virtualized
resources.
● Efficiency – a statistically dominant
fraction of the machine instructions should
be executed without intervention from
the VMM
Theorems
● Popek and Goldberg provided a
classification of the instruction set and
proposed three theorems that define the
properties that hardware instructions need
to satisfy in order to efficiently support
virtualization.
● Classification of IS-
– Privileged Instructions
● Trap if the processor is in user mode
– Control sensitive Instructions
Theorems-1
● Theorems 1
– For any conventional third-generation
computer, a VMM may be constructed if the
set of sensitive instructions for that computer
is a subset of the set of privileged
instructions.
Theorems
● Theorems 2
– A conventional third-generation computers is
recursively virtualizable if:
● It is virtualizable and
● A VMM without any timing dependencies can be
constructed for it.
Theorems
● Theorems 3
– A hybrid VMM may be constructed third-
generation machine in which the set of user-
sensitive instructions is a subset of the set of
privileged instructions.
– In HVM, more instructions are interpreted
rather than being executed directly.
Hardware virtualization Techniques
● CPU installed on the host is only one set,
but each VM that runs on the host
requires their own CPU.
● It means CPU needs to virtualized, done
by hypervisor.
● Hardware-assisted virtualization
– In this hardware provides architectural
support for building a VMM able to run a
guest OS in complete isolation.
– Intel VT and AMD V extensions.
– Early products were using binary translation
to trap some sensitive instructions and
provide an emulated version
● Full virtualization
– Ability to run program (OS) directly on top of a
virtual machine and without any modification.
– VMM require complete emulation of the entire
underneath h/w
– Advantages
● Complete isolation
● Enhanced security
● Ease of emulation of different architectures and
coexistence
– Key challenge is interception of privileged
instructions
● Paravirtualization
– Not-transparent virtualization
– Thin VMM
– Expose software interface to the virtual machine
that is slightly modified from the host.
– Guest OS need to be modified.
– Simply transfer the execution of instructions
which were hard to virtualized, directly to the
host.
● Partial virtualization
– Partial emulation of the underlying hardware
– Not allow complete isolation to guest OS.
– Address space virtualization is a common
feature of comtemporary 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. chroot , 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
● Easy support for sandboxing
Application-level virtualization
● It 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
– Operating System component emulation
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.
Types: Storage Virtualization
● It allows decoupling the physical
organization of the h/w from its logical
representation.
● Using Network based virtualization known
as storage area network (SAN).
Network Virtualization
● It combines h/w appliances and specific
software for the creation and management
of a virtual n/w.
● It can aggregate different physical
networks into a single logical network.
Application Server Virtualization
• Application server virtualization abstracts a
collection of application servers that provide
the same service as a single virtual application
server
• Providing better quality of service rather than
emulating a different environment
Virtualization and cloud computing
• Virtualization plays an important role in cloud
computing
• Virtualization technologies are primarily used
to offer configurable computing environments
and storage.
• Hardware virtualization is an enabling factor
for solutions in the (IaaS) market segment
• programming language virtualization is a
technology leveraged in (PaaS) offerings.
Server consolidation and virtual machine migration
Pros and cons of virtualization
• Advantages of Virtualization
Reduced spending
Sandbox
Portability
Efficient use of resources.
Easier backup and disaster recovery
Better business continuity
More efficient IT operations
Pros and cons of virtualization
• Disadvantages of Virtualization
Upfront costs.
Software licensing considerations
Possible learning curve
Performance degradation
Inefficiency and degraded user experience
Security holes and new threats
Technology examples
• Xen: paravirtualization
• VMware: full virtualization
• Microsoft Hyper-V
Xen: paravirtualization
• Xen is an open-source initiative
• Developed by a group of researchers at the
University of Cambridge
• XenSource.
• Desktop virtualization or server virtualization
• Xen Cloud Platform (XCP)
• https://www.xenproject.org/
Xen architecture and guest OS management.
VMWare: Full Virtualization
• Underlying hardware is replicated and made
available to the guest operating system
• VMware implements full virtualization in the
Desktop environments
• Type II hypervisor in Server Environment
• Type I hypervisor in Desktop and Server
Environments
• Direct Execution
• Binary Translation
A full virtualization reference model.
Virtualization solutions by VMware
• End-user (desktop) virtualization
VMware workstation architecture.
Virtualization solutions by VMware
• Server virtualization
• VMWare GSX
• VMWare ESXi
VMware GSX server architecture.
VMware ESXi server architecture.
Virtualization solutions by VMware
• Infrastructure virtualization and cloud
computing solutions
• VMware provides a set of products covering
the entire stack of cloud computing,
VMware Cloud Solution stack.
Microsoft Hyper-V: Server
Virtualization
• formerly known as Windows Server
Virtualization
• support a variety of guest operating systems.
Microsoft Hyper-V architecture.

You might also like