0% found this document useful (0 votes)
10 views69 pages

01-Lecture (Cloud Intro)_Slides

The document discusses cloud computing, defining it as a model that combines grid and utility computing, enabling on-demand access to shared computing resources. It outlines essential characteristics of cloud computing according to NIST, including rapid elasticity, measured service, and on-demand self-service. The document also details different cloud service models (IaaS, PaaS, SaaS), their advantages, disadvantages, and security concerns associated with cloud services.

Uploaded by

『SEÑÅTØR』
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views69 pages

01-Lecture (Cloud Intro)_Slides

The document discusses cloud computing, defining it as a model that combines grid and utility computing, enabling on-demand access to shared computing resources. It outlines essential characteristics of cloud computing according to NIST, including rapid elasticity, measured service, and on-demand self-service. The document also details different cloud service models (IaaS, PaaS, SaaS), their advantages, disadvantages, and security concerns associated with cloud services.

Uploaded by

『SEÑÅTØR』
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 69

CLOUD COMPUTING

Grid Computing
Def

combination of computer resources from multiple
administrative domains applied to a common task*
Core idea

distributed parallel
computation
– super virtual computer

2
Utility Computing
Def

“The packaging of computing resources (computation,
storage etc.) as a metered service similar to a traditional
public utility”*
Observation
● not a new concept
– "If computers of the kind I have advocated become the
computers of the future, then computing may someday be
organized as a public utility just as the telephone system is a
public utility... The computer utility could become the basis of
a new and important industry." - John McCarthy, MIT Centennial in 1961

3
Cloud Computing
Is cloud computing?
● grid computing + utility computing ??
● difficult to define
– means different things to different parties
Various definitions
● NIST – National Institute of Standards and Technology
– “universally” accepted definition

4
Cloud Definition By NIST
The U.S. National Institute of Standards
and Technology (NIST) defines cloud
computing as:
• Cloud computing is a model for enabling
ubiquitous, convenient, on-demand network
access to a shared pool of configurable
computing resources (e.g., networks, servers,
storage, applications, and services) that can be
rapidly provisioned and released with minimal
management effort or service provider
interaction.
What is 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).
6
What is 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

7
Cloud characteristics
• Rapid elasticity
– You can go from 5 servers to 50 or from 50 servers to 5
• Measured service
– You pay for what you use
• On-demand self-service
– You get elasticity automatically
• Ubiquitous network access
– You can access the cloud from anywhere
• Location-independent resource pooling
– You work with virtual machines that could be hosted
anywhere

8
NIST Essential Characteristics
On-demand self-service

a consumer can unilaterally provision computing
capabilities without human interaction with the service
provider
● computing capabilities
– server time, network storage, number of servers etc.
NIST Essential Characteristics
Broad network access
● capabilities are
– available over the network
– accessed through standard mechanisms
● promote use by
– heterogeneous thin or thick client platforms
NIST Essential Characteristics
Multi-tenancy / Resource pooling

provider’s computing resources are pooled to serve
multiple consumers
● computing resources
– storage, processing, memory, network bandwidth and virtual
machines
● location independence
– no control over the exact location of the resources
● has major implications
– performance, scalability, security
NIST Essential Characteristics
Rapid elasticity
● capabilities can be rapidly and elastically provisioned
● unlimited virtual resources
● predicting a ceiling is difficult
NIST Essential Characteristics
Measured service
● metering capability of service/resource abstractions
– storage
– processing
– bandwidth
– active user accounts
● OK so what happened to utility computing – pay as
you go model??
– more on this later when we discuss deployment models
Cloud Architecture

14
CLOUD COMPONENTS
• 3 components
• Clients
• Datacenter
• Distributed servers
CLIENTS
• Mobile
• Smart Phones, Tablets, Service Hubs
• Thin
• no internal hard drives, lets servers do all work,
displays info
• Thick
• Laptops, desktop computers
• Which is the best?
• Thin - lower costs, security, power consumption,
easy to replace, less noise
DATA CENTER
• Data Center – facility used to house computer
systems and associated components
DISTRIBUTED SERVERS
• Servers host the resources needed by
cloud users
• Compute nodes
• Provides CPU, Memory, Scratch Storage, and
Networking resources through virtualized interfaces.
• Hosts guest operating systems (Virtual Machines) using
one or more VM hypervisors
• Resource interface depends on the type of cloud
(horizontal/vertical cloud)
• Storage nodes
• Compute nodes only provide temporary storage space
for users/applications
• Storage nodes provide long term data storage solutions
TYPES OF CLOUDS
• Public Cloud
– Marketed based on
• Resources offered, availability, security, price

• Local/Private Cloud
– Cloud architectures tailored to an organization’s needs.
• Hybrid Cloud
– Combination of public and local cloud resources.
Cloud Delivery Models
1. Software as a Service (SaaS) (high level)
2. Platform as a Service (PaaS)
3. Infrastructure as a Service (IaaS) (low level)
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 21
Grance
Different Cloud Computing Layers
MS Live/ExchangeLabs, IBM,
Application Service Google Apps; Salesforce.com
(SaaS) Quicken Online, Zoho, Cisco

Google App Engine,


Application Mosso,
Platform Force.com, Engine Yard,
Facebook, Heroku, AWS
Server Platform 3Tera, EC2, SliceHost,
GoGrid, RightScale,
Linode
Storage Amazon S3, Dell, Apple,
Platform ...

22
Infrastructure-as-a-Service
(IaaS)
 Infrastructure is compute resources, CPU, VMs, storage, etc

 The user is able to deploy and run arbitrary software, which


can include operating systems and applications.
 The user does not manage or control the underlying Cloud
infrastructure but has control over operating systems,
storage, deployed applications, and possibly limited control of
some networking components, e.g., host firewalls.

 Services offered by this delivery model include: server


hosting, storage, computing hardware, operating systems,
virtual instances, load balancing, Internet access, and
bandwidth provisioning.

 Example: Amazon EC2


IaaS (Infrastructure-as-a-Service)

vendor provided and consumer provisioned computing
resources
– processing, storage, network, etc.
– consumer is provided customized virtual machines
– consumer has control over

OS, memory
● storage

servers & deployment configurations

limited control over network resources
IaaS = utility computing??
● maybe – NIST does not talk about $$
Advantages
● infrastructure scalability
● native integrated management
– performance, resource consumption/utilization, load
● economical cost
– hardware, IT support
IaaS Examples
● Amazon Elastic Compute Cloud – EC2
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 customised to improve the
performance of the application.
 Examples: Google App Engine, Windows Azure
PaaS (Platform-as-a-Service)
● vendor provided development environment
– tools & technology selected by vendor
– control over data life-cycle
Advantages
● rapid development & deployment
● small startup cost
– required skills set
– money
PaaS – Architectural Characteristics
● multi-tenancy
– data
● native scalability
– load balancing & fail-over
● native integrated management
– performance
– resource consumption/utilization
– load
PaaS Disadvantages
● inherits all from SaaS

choice of development technology is limited to vendor
provided/supported tools and services
PaaS Examples
● Google app engine
– Google Site + Google Docs
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,
communications, digital signature, customer relationship
management (CRM), desktop software, financial management,
geo-spatial, and search.
 Not suitable for real-time applications or for those where data
is not allowed to be hosted externally.

 Examples: Gmail, Salesforce


SaaS (Software-as-a-Service)

vendor/provider controlled applications accessed over the
network
● characteristics
– network based access
– multi-tenancy
– single software release for all
SaaS Examples
– Salesforce.com, Google Docs
SaaS & Multi-tenancy
● SaaS applications are multi-tenant applications
● application data
– Google docs
SaaS Application Design
● SaaS applications are 'net native'
● configurability, efficiency, and scalability
● SOA & SaaS
SaaS Disadvantages
● dependency on
– network, cloud service provider
● performance
– limited client bandwidth
● security
– good: better security than personal computers
– bad: CSP is in charge of the data
– ugly: user privacy
Cloud Services
Cloud Services
• Machines in the cloud
– Can I move my VM elsewhere?
• Storage in the cloud
– Can I move my data elsewhere?
• Databases in the cloud
– Can I move my data elsewhere?
• Applications in the cloud
– Can I run my application elsewhere?
Cloud services

There are four basic things people are doing in the cloud:
• Machines in the cloud
• Storage in the cloud
• Databases in the cloud
• Applications in the cloud

In addition to these four basics, cloud providers offer other


services such as message queues and data mining All of these
things are lumped into the generic term “cloud computing”
Machines in the cloud
Many cloud providers allow you to create a Virtual
Machine (VM) and deploy it in the cloud:
• Your VM images are stored in cloud storage
• You can create as many images as you need
• You can automatically start and stop running
instances of those images as needed

This is the simplest way to get started in the cloud,


particularly if you’ve been using virtualization already
Storage in the cloud

Most cloud storage systems are designed as distributed,


redundant systems
• Your data are stored on more than one disk in more than one
place
• If one part of the system goes down, the rest of the system
keeps going
• “There should never be a single point of failure” is a stated
design goal
But you can’t think of cloud storage as just another hard drive
Databases in the cloud

Cloud databases have similar design points Datasets are


distributed for reliability
• Some cloud databases support schemas, some don’t
• Some cloud databases support joins, most don’t Some
cloud databases are relational, almost all aren’t
• Some cloud databases are transactional, some aren’t
Cloud activities
 Service management and provisioning including:
 Virtualization.
 Service provisioning.
 Call center.
 Operations management.
 Systems management.
 QoS management.
 Billing and accounting, asset management.
 SLA management.
 Technical support and backups.
Cloud activities (cont’d)
 Security management including:
 ID and authentication.
 Certification and accreditation.
 Intrusion prevention.
 Intrusion detection.
 Virus protection.
 Cryptography.
 Physical security, incident response.
 Access control, audit and trails, and firewalls.
Cloud activities (cont’d)
 Customer services such as:
 Customer assistance and on-line help.
 Subscriptions.
 Business intelligence.
 Reporting.
 Customer preferences.
 Personalization.
 Integration services including:
 Data management.
 Development.
Cloud Storage
• Several large Web companies are now exploiting the
fact that they have data storage capacity that can be
hired out to others.
– allows data stored remotely to be temporarily cached on
desktop computers, mobile phones or other Internet-
linked devices.

• Amazon’s Elastic Compute Cloud (EC2) and Simple


Storage Solution (S3) are well known examples
– Mechanical Turk

44
Security in Cloud
Security
● Technology, provides assurance
– confidentiality
– integrity, authenticity
Privacy
● Right, provides control
– anonymity
– primary & secondary use
Information Security Concerns
Confidentiality
● safe from prying eyes
– communication, persistence
Authenticity
● data is from a known source
Integrity
● data has not been tampered with
– provenance (computation)
– persistence
Information Security Concerns
Non-repudiation
● assurance against deniability
Access control
● access & modification by privileged users
– individual vs. group access
– multi-tenancy (PaaS, SaaS)
Information Security Concerns
Long term security
● change in authentication/authorization
● proof of possession
● confidentiality
– crypto systems do not provide long term guarantees

intersection attacks
Security Enhancing Techniques
Encryption
● symmetric encryption (data)
● public key cryptography (identity, authentication)
– secret private key, published public key

hash / Message Authentication Code (integrity)

digital signatures (authentication, non-repudiation)

TLS/SSL (communication)
Security Enhancing Techniques
Encryption
● homomorphic encryption*
– allow for arbitrary computing over encrypted data

if E(p) = c then D(2c) = 2p (multiplication operation)
● allows for data processing without decryption
– promising but not practical so far**
● key management challenges
– increase as the access control granularity increases

* Gentry, C. 2009. Fully homomorphic encryption using ideal lattices. In Proceedings of the 41st Annual ACM
Symposium on theory of Computing (Bethesda, MD, USA, May 31 - June 02, 2009). STOC '09. ACM, New York,
NY, 169-178.

** Bruce Schneier. Schneier on Security. http://www.schneier.com/blog/archives/2009/07/homomorphic_enc.html


Security Enhancing Techniques
Secure query & search
● PIR/SPIR (Private Information Retrieval)
– “allows a user to retrieve an item from the server without
revealing the item to the database”*
– under research

more effort required to be adopted by mainstream

59
Security Enhancing Techniques
Secure query & search
● encrypted data search
– matching with encrypted keywords

meta-data driven

single party query
– secure anonymous database search (SADS)*

multi party queries
– not easy, may require trusted third parties
Security Enhancing Techniques
Remote data checking
● client side preprocessing
– data in chunks along with MAC for each chunk
– server stores data chunk + MAC combinations
– forward error correction

long term recoverability
Security Enhancing Techniques

Data Remanence
● “Residual representation of data after purge”
● How to purge data in cloud?
– risk at all levels (SaaS, PaaS, and IaaS)
● Secure deletion
– encrypt the data in the cloud
– data deletion = key destruction
Security in Cloud
CSA (Cloud Service
Alliance)
● http://www.cloudsecurityalliance.org/

various introductory publications


– CSA Guide ver 2.0
– inline with NIST
Opportunities and Challenges
• The use of the cloud provides a number of
opportunities:
– It enables services to be used without any understanding
of their infrastructure.
– Cloud computing works using economies of scale:
• It potentially lowers the outlay expense for start up companies, as
they would no longer need to buy their own software or servers.
• Cost would be by on-demand pricing.
• Vendors and Service providers claim costs by establishing an
ongoing revenue stream.
– Data and services are stored remotely but accessible from
“anywhere”.
Opportunities and Challenges
• In parallel there has been backlash against cloud computing:
– Use of cloud computing means dependence on others and that could
possibly limit flexibility and innovation:
• The others are likely become the bigger Internet companies like Google
and IBM, who may monopolise the market.
– Security could prove to be a big issue:
• It is still unclear how safe out-sourced data is and when using these
services ownership of data is not always clear.
– There are also issues relating to policy and access:
• If your data is stored abroad whose policy do you adhere to?
• What happens if the remote server goes down?
• How will you then access files?
• There have been cases of users being locked out of accounts and losing
access to data.
Advantages of Cloud Computing
• Lower computer costs:
– You do not need a high-powered and high-priced computer
to run cloud computing's web-based applications.
– Since applications run in the cloud, not on the desktop PC,
your desktop PC does not need the processing power or hard
disk space demanded by traditional desktop software.
– When you are using web-based applications, your PC can be
less expensive, with a smaller hard disk, less memory, more
efficient processor...
– In fact, your PC in this scenario does not even need a CD or
DVD drive, as no software programs have to be loaded and
no document files need to be saved.
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…
• Reduced software costs:
– Instead of purchasing expensive software applications, you can get
most of what you need for free-ish!
• most cloud computing applications today, such as the Google Docs suite.
– better than paying for similar commercial software
• which alone may be justification for switching to cloud applications.
Advantages of Cloud Computing
• Instant software updates:
– Another advantage to cloud computing is that you are no longer faced
with choosing between obsolete software and high upgrade costs.
– When the application is web-based, updates happen automatically
• available the next time you log into the cloud.
– When you access a web-based application, you get the latest version
• without needing to pay for or download an upgrade.

• 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.
Advantages of Cloud Computing
• Unlimited storage capacity:
– Cloud computing offers virtually limitless storage.
– Your computer's current 1 Tbyte hard drive is small compared to the
hundreds of Pbytes available in the cloud.
• Increased data reliability:
– Unlike desktop computing, in which if a hard disk crashes and destroy
all your valuable data, a computer crashing in the cloud should not
affect the storage of your data.
• if your personal computer crashes, all your data is still out there in the
cloud, still accessible
– In a world where few individual desktop PC users back up their data on
a regular basis, cloud computing is a data-safe computing platform!
Advantages of Cloud Computing
• Universal document access:
– That is not a problem with cloud computing, because you do not take
your documents with you.
– Instead, they stay in the cloud, and you can access them whenever you
have a computer and an Internet connection
– Documents are instantly available from wherever you are
• Latest version availability:
– When you edit a document at home, that edited version is what you
see when you access the document at work.
– The cloud always hosts the latest version of your documents
• as long as you are connected, you are not in danger of having an outdated version
Advantages of Cloud Computing
• Easier group collaboration:
– Sharing documents leads directly to better collaboration.
– Many users do this as it is an important advantages of cloud
computing
• multiple users can collaborate easily on documents and projects
• 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.
Disadvantages of Cloud Computing
• Requires a constant Internet connection:
– Cloud computing is impossible if you cannot connect to the
Internet.
– Since you use the Internet to connect to both your
applications and documents, if you do not have an Internet
connection you cannot access anything, even your own
documents.
– A dead Internet connection means no work and in areas
where Internet connections are few or inherently
unreliable, this could be a deal-breaker.
Disadvantages of Cloud Computing
• Does not work well with low-speed connections:
– Similarly, a low-speed Internet connection, such as that
found with dial-up services, makes cloud computing
painful at best and often impossible.
– Web-based applications require a lot of bandwidth to
download, as do large documents.
• Features might be limited:
– This situation is bound to change, but today many web-
based applications simply are not as full-featured as their
desktop-based applications.
• For example, you can do a lot more with Microsoft PowerPoint
than with Google Presentation's web-based offering
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.
Disadvantages of Cloud Computing
• Stored data might not be secure:
– With cloud computing, all your data is stored on the cloud.
• The questions is How secure is the cloud?
– Can unauthorised users gain access to your confidential data?
• Stored data can be lost:
– Theoretically, data stored in the cloud is safe, replicated
across multiple machines.
– But on the off chance that your data goes missing, you have
no physical or local backup.
• Put simply, relying on the cloud puts you at risk if the cloud lets you
down.
Disadvantages of Cloud Computing

• 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.
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

You might also like