01-Lecture (Cloud Intro)_Slides
01-Lecture (Cloud Intro)_Slides
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
22
Infrastructure-as-a-Service
(IaaS)
Infrastructure is compute resources, CPU, VMs, storage, etc
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
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.
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/
●
• 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