Introduction To Cloud Computing: Prepared By: Sushil Sah
Introduction To Cloud Computing: Prepared By: Sushil Sah
Introduction To Cloud Computing: Prepared By: Sushil Sah
Cloud Computing
Prepared by: Sushil Sah
By-Sushil Sah 1
History???
Water
(1) Water Distribution
Network
(2) Electricity
Power Grid
(3) Gas
Telecom
(4) Telephone Networks
Computing Paradigms and Attributes:
Realizing the ‘Computer Utilities’ Vision
Web
Data Centres
Utility Computing
Service Computing
Grid Computing +
P2P Computing
Market-Oriented
Computing
-Ubiquitous
Cloud Computing -Reliable -Trillion $ business
… -Scalable
-Autonomic
Paradigms -Dynamic
discovery
-Composable
-QoS
-SLA
-…
Attributes/Capabilities
Distributed Computing Systems
Observation
Many distributed systems are configured for High-Performance
Computing
Cluster Computing
Essentially a group of high-end systems connected through a
LAN:
Homogeneous: same OS, near-identical hardware
Single managing node
Distributed Computing Systems :
Cluster Computing
Figure - An example of a cluster computing system.
Distributed Computing Systems
Grid Computing
The next step: lots of nodes from everywhere:
Heterogeneous
Dispersed across several organizations
Can easily span a wide-area network
Note
To allow for collaborations, grids generally use virtual
organizations. In essence, this is a grouping of users
(or better: their IDs) that will allow for authorization on
resource allocation.
Distributed Computing Systems:
Cloud Computing
Cloud Computing is a general term used to describe a new class of
network based computing that takes place over the Internet,
basically a step on from Utility Computing
a collection/group of integrated and networked hardware, software and
Internet infrastructure (called a platform).
Using the Internet for communication and transport provides
hardware, software and networking services to clients
These platforms hide the complexity and details of the underlying
infrastructure from users and applications by providing very simple graphical
interface or API (Applications Programming Interface).
10
Cloud Computing
In addition, the platform provides on demand services,
that are always on, anywhere, anytime and any place.
Pay for use and as needed, elastic
scale up and down in capacity and functionalities
The hardware and software services are available to
general public, enterprises, corporations and businesses
markets
11
Cloud in Summary
Cloud computing is an umbrella term used to refer to Internet based
development and services
12
Cloud Architecture
13
What is Cloud Computing
Adopted from: Effectively and Securely Using the Cloud Computing Paradigm by peter Mell, Tim 14
Grance
Cloud Computing Characteristics
Common Characteristics:
Massive Scale Resilient Computing
Homogeneity Geographic Distribution
Essential Characteristics:
On Demand Self-Service
Broad Network Access Rapid Elasticity
Resource Pooling Measured Service
Adopted from: Effectively and Securely Using the Cloud Computing Paradigm by peter Mell, Tim 15
Grance
cloud computing characteristics(cont’d)
Scalability—: Infrastructure capacity allows for traffic
spikes and minimizes delays.
Resiliency: — Cloud providers have mirrored solutions to
minimize downtime in the event of a disaster. This type
of resiliency can give businesses the sustainability they
need during unanticipated events.
Homogeneity: No matter which cloud provider and
architecture an organization uses, an open cloud will
make it easy for them to work with other groups, even if
those other groups choose different providers and
architectures.
By-Sushil Sah 16
cloud computing characteristics(cont’d)
On-demand self-service: A consumer can unilaterally
provision computing capabilities, such as server time
and network storage, as needed automatically without
requiring human interaction with each service’s provider.
By-Sushil Sah 17
cloud computing characteristics(cont’d)
By-Sushil Sah 18
cloud computing characteristics(cont’d)
By-Sushil Sah 19
Cloud Service Models
Software as a Platform as a Infrastructure as a
Service (SaaS) Service (PaaS) Service (IaaS)
SalesForce CRM
LotusLive
Google
App
Engine
Adopted from: Effectively and Securely Using the Cloud Computing Paradigm by peter Mell, Tim 20
Grance
Cloud Computing reference model
By-Sushil Sah 21
cloud computing environment
cloud computing environments includes both the
development of applications and systems that
power the cloud computing solutions and the
creation of frameworks, platforms, and
infrastructures delivering cloud computing
services.
cloud computing environments includes the
following:
Application development
Infrastructure and system development
Computing platforms and technologies
22
Application development
Applications that leverage cloud computing
benefit from its capability to dynamically scale on
demand.
Such applications that takes the biggest
advantage of this feature is Web applications.
Web applications has become a platform for
developing rich and complex applications,
including enterprise applications that now
leverage the Internet as the preferred channel
for service delivery and user interaction.
23
Application development
Another class of applications that can potentially gain
considerable advantage by leveraging cloud computing
is represented by resource-intensive applications. Eg.
scientific applications.
Cloud computing provides a solution for on-demand and
dynamic scaling across the entire stack of computing.
This is achieved by
providing methods for renting compute power, storage, and
networking;
offering runtime environments designed for scalability and
dynamic sizing; and
providing application services that mimic the behavior of desktop
applications but that are completely hosted and managed on the
provider side.
24
Infrastructure and system development
Distributed computing, virtualization, service
orientation, and Web 2.0 form the core
technologies enabling the provisioning of cloud
services from anywhere.
Extreme dynamism of cloud systems where new
nodes and services are provisioned on demand,
constitutes the major challenge for engineers
and developers.
IaaS solutions provide the capabilities to add
and remove resources and PaaS Service
solutions control the provisioning process and
the lease of resources. 25
Infrastructure and system development
Cloud computing is often summarized with the
acronym XaaS—Everything-as-a-Service—that
clearly underlines the central role of service
orientation.
Virtualization is another element that plays a
fundamental role in cloud computing.
Distributed computing, virtualization, service
orientation, and Web are all the considerations
that influence the way we program applications
and systems based on cloud computing.
26
Computing platforms and technologies
Development of a cloud computing application
happens by leveraging platforms and
frameworks that provide different types of
services, from the bare-metal infrastructure to
customizable applications serving specific
purposes.
Amazon web services (AWS)
Google AppEngine
Microsoft Azure
Hadoop
Manjrasoft Aneka
27
Amazon Web Services (AWS)
28
Google App Engine
29
Winder Azure
30
A Comparative
31
Cloud -Adoption
Suitable Low priority or
for short term
projects.
Cloud
deployme
nt
High priority or
Not Long term
projects.
suitable
Cloud - Adoption
Not suitable
Cloud-
Adoption Goal-
Critical
Not suitable
Not suitable Core
Business
Data Application
Sensitive s
Application
s
Cloud-Rudiments
In this Topic we will discuss the Essentials
or rudiments of cloud-computing.
Cloud-Market
Saas,paas,ia
as
Delivering
application
infrastructure
Cloud-Rudiments
Here the higher level capabilities of the cloud is as
follows:-
Resource Aggregation and integration
Physical System
Virtualization management
management Server
Provisioning Environment
Applicatio
n
Cloud-Rudiments
Self-Service portal
But I need An ex of self-service
there is one
nobody glass of
to serve water
Customer will go
itself and take a
glass of water Restaurants
Over 20 definitions:
– http://cloudcomputing.sys-con.com/read/612375_p.htm
– Renting “remote storage” backup
– Renting “remote server” hosting Web server
– Renting “remote more servers” to manage large workload
Buyya’s Scientific definition of Cloud Computing
– “Cloud is a market-oriented distributed computing system
consisting of a collection of inter-connected and virtualised
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.”
– SLA = {negotiated and agreed QoS parameters + rewards +
penalties for violation of agreement....}
Types of clouds
Public Cloud - the infrastructure is made available to the general
public or a large industry group and is owned by the organization
selling cloud services.
By-Sushil Sah 50
The “good” about cloud computing
Resources, such as CPU cycles, storage, network bandwidth, are
shared.
By-Sushil Sah 51
More “good” about cloud computing
By-Sushil Sah 52
Why cloud computing could be successful
when other paradigms have failed?
It is in a better position to exploit recent advances in software, networking,
storage, and processor technologies promoted by the same companies
who provide cloud services.
It is focused on enterprise computing; its adoption by industrial
organizations, financial institutions, government, and so on could have a
huge impact on the economy.
A cloud consists of a homogeneous set of hardware and software
resources.
The resources are in a single administrative domain (AD). Security,
resource management, fault-tolerance, and quality of service are less
challenging than in a heterogeneous environment with resources in
multiple ADs.
By-Sushil Sah 53
Delivery models
Software as a Service (SaaS) Deployment models
Platform as a Service (PaaS) Public cloud
Cloud computing
Infrastructure
Distributed infrastructure
Defining attributes
Resource virtualization
Massive infrastructure
Autonomous systems
Utility computing. Pay-per-usage
Resources
Accessible via the Internet
Compute & storage servers
Networks Services Elasticity
Applications
By-Sushil Sah 54
Cloud delivery models
By-Sushil Sah 55
Software-as-a-Service (SaaS)
Applications are supplied by the service provider.
The user does not manage or control the underlying cloud
infrastructure or individual application capabilities.
Services offered include:
Enterprise services such as: workflow management, group-ware and
collaborative, supply chain, communications, digital signature, customer
relationship management (CRM), desktop software, financial
management, geo-spatial, and search.
Web 2.0 applications such as: metadata management, social
networking, blogs, wiki services, and portal services.
Not suitable for real-time applications or for those where data is not
allowed to be hosted externally.
Examples: Gmail, Google search engine.
By-Sushil Sah 56
Platform-as-a-Service (PaaS)
Allows a cloud user to deploy consumer-created or acquired
applications using programming languages and tools supported by
the service provider.
The user:
Has control over the deployed applications and, possibly, application
hosting environment configurations.
Does not manage or control the underlying cloud infrastructure including
network, servers, operating systems, or storage.
Not particularly useful when:
The application must be portable.
Proprietary programming languages are used.
The hardware and software must be customized to improve the
performance of the application.
By-Sushil Sah 57
Infrastructure-as-a-Service (IaaS)
The user is able to deploy and run arbitrary software, which can
include operating systems and applications.
By-Sushil Sah 58
NIST cloud reference model
Carrier
Service
Consumer Service Provider Broker
audit Resource r a
abstraction and Provisioning i
control layer c
Privacy t y
impact audit Physical resource
y
layer Arbitrage
Portability/
Hardware Interoperability
Performance
audit
Facility
Carrier
By-Sushil Sah 59
Cloud Applications
•Scientific/Tech Applications
•Business Applications
•Consumer/Social Applications
Business Applications
Consumer/Social Applications
ECG Analysis in the cloud
By-Sushil Sah 61
ECG Analysis in the cloud
1. A patient is equipped with a wireless ECG sensor attached to their body and a
mobile device that is capable of communicating to the Internet;
2. The wireless ECG sensor module collects patient’s data and forwards it the
mobile device via Bluetooth without user intervention;
3. A client software in the mobile device transmits the data to the ECG analysis Web
Service, which is hosted by a Cloud computing-based software stack. This
communication can happen with a home wireless gateway or directly via the
mobile’s data connectivity (e.g. mobile 3G network);
4. The analysis software carries out numerous computations over the received data
taking the reference from the existing demographic data, and the patient’s historic
data. Computations concern comparison, classification, and systematic diagnosis of
heartbeats, which can be time-consuming when done for long time periods for large
number of users;
5. The software then appends the latest results to the patient’s historic record
maintained in private and secure Cloud-based storage, so that authenticated users
can access it anytime from anywhere. Physicians will later interpret the features
extracted from the ECG waveform and decide whether the heartbeat belongs to the
normal (healthy) sinus rhythm or to an appropriate class of arrhythmia;
6. The diagnosis results are disseminated to the patient’s mobile device and/or
monitor, their doctor and/or emergency services at predefined intervals;
7. The monitoring and computing processes are repeated according to user’s
preference,
By-Sushil Sah which may be hourly or daily over a long period of time. 62
protein structure prediction
• Protein Structure Prediction Applications in biology often
require high computing capabilities and often operate on
large datasets that cause extensive I/O operations. Because
of these requirements, biology applications have often made
extensive use of supercomputing and cluster computing
infrastructures.
• Similar capabilities can be leveraged on demand using cloud
computing technologies in a more dynamic fashion, thus
opening new opportunities for bioinformatics applications.
• Protein structure prediction is a computationally intensive
task that is fundamental to different types of research in the
life sciences.
• Among these is the design of new drugs for the treatment of
diseases.
By-Sushil Sah 63
protein structure prediction
• Cloud computing grants access to such capacity on a pay-
per-use basis.
• One project that investigates the use of cloud technologies
for protein structure prediction is Jeeva -an integrated Web
portal that enables scientists to offload the prediction task to
a computing cloud based on Aneka.
• The prediction task uses machine learning techniques
(support vector machines) for determining the secondary
structure of proteins.
• These techniques translate the problem into one of pattern
recognition, where a sequence has to be classified into one
of three possible classes (E, H, and C).
By-Sushil Sah 64
protein structure prediction
By-Sushil Sah 65
Gene expression data analysis
• Gene Expression Data Analysis For Cancer is the measurement of
the expression levels of thousands of genes at once.
• It is used to understand the biological processes that are triggered
by medical treatment at a cellular level.
• Together with protein structure prediction, this activity is a
fundamental component of drug design, since it allows scientists
to identify the effects of a specific treatment.
• Another important application of gene expression profiling is
cancer diagnosis and treatment.
• Cancer is a disease characterized by uncontrolled cell growth and
proliferation.
• The classification of gene expression data samples into distinct
classes is a challenging task.
• Cloud computing provides the appropriate infrastructure to support
such application scenarios.
By-Sushil Sah 66
Gene expression data analysis
By-Sushil Sah 67
satellite image processing
• GIS applications capture, store, manipulate, analyze,
manage, and present all types of geographically referenced
data.
• This type of information is now becoming increasingly
relevant to a wide variety of application domains: from
advanced farming to civil security and natural resources
management.
• As a result, a considerable amount of geo-referenced data is
ingested into computer systems for further processing and
analysis.
• Cloud computing is an attrac-tive option for executing these
demanding tasks and extracting meaningful information to
support decision makers.
By-Sushil Sah 68
satellite image processing
By-Sushil Sah 69
CRM and ERP
• CRM and ERP applications are market segments that are
flourishing in the cloud, with CRM applications the more
mature of the two.
• Cloud CRM applications constitute a great opportunity for
small enterprises and start-ups to have fully functional CRM
software without large up-front cost sand by paying
subscriptions.
• ERP solutions on the cloud are less mature and have to
compete with well-established in-house solutions.
• ERP systems integrate several aspects of an enterprise:
finance and accounting, human resources, manufacturing,
supply chain management, project management, and CRM.
• Because of the organizations requirement not be clear, and
the switch to cloud, ERP solutions are less popular .
By-Sushil Sah 70
social networking
• Social networking applications have grown considerably in
the last few years to become the most active sites on the
Web.
• To sustain their traffic and serve millions of users seamlessly,
services such as Twitter and Facebook have leveraged
cloud computing technologies.
• The possibility of continuously adding capacity while systems
are running is the most attractive feature for social networks,
which constantly increase their user base.
• The possibility of continuously adding capacity while systems
are running is the most attractive feature for social networks,
which constantly increase their user base.
By-Sushil Sah 71