Sei sulla pagina 1di 45

Carnegie Mellon

IntroductiontoCloudComputing
CloudComputingI(intro)
15319,spring2010
2nd Lecture,Jan14th

MajdF.Sakr

15-319 Introduction to Cloud Computing

Spring 2010

Carnegie Mellon

LectureMotivation

Generaloverviewoncloudcomputing
Whatiscloudcomputing
Services
Types
Advantagesanddisadvantages
Enablingtechnologies
Anexampleinfrastructure

15-319 Introduction to Cloud Computing

Spring 2010

Carnegie Mellon

LectureOutline

WhatisCloud?
WhatisCloudComputing?
CloudComputingServices
HistoryofCloudComputing
WhyCloudComputing
DrawbacksofCloudComputing
TypesofClouds

15-319 Introduction to Cloud Computing

Spring 2010

Carnegie Mellon

ACloudis

Datacenterhardwareandsoftware
thatthevendorsusetoofferthe
computingresourcesandservices

15-319 Introduction to Cloud Computing

Spring 2010

Carnegie Mellon

CloudComputing

Representsboththecloud&theprovidedservices

Whycallitcloudcomputing?
Somesaybecausethecomputinghappensoutthere"inthe
clouds"
Wikipedia:"thetermderivesfromthefactthatmost
technologydiagramsdepicttheInternetorIPavailabilityby
usingadrawingofacloud."

15-319 Introduction to Cloud Computing

Spring 2010

Carnegie Mellon

CloudComputing

WhoisWho
Cloud providers
IBM
Amazon
AWS

Dell

Service Users

SmugMug

Sun Cloud
Microsoft

VMware

Sun Microsystems
Citrix Systems

Cloud Users & Service Providers

Aptana

Hewlett-Packard
Cloud Testing
NaviSite
Outsourcery

Animoto

Sun Cloud

3tera

SynfiniWay

lland

Amazon S3

Qloud
IBM

Amazon AWS

Red Hat
Intelliquib

With Amazon [AWS], on Day One of launch we


could scale to the world.
-Brad Jefferson, Co-Founder & CEO, Animoto

Animoto has partnered with Amazon to leverage multiple


offerings in their Web Services (AWS) platform which, in
conjunction with Animoto's own render farm, constitutes the
Animoto web infrastructure.
15-319 Introduction to Cloud Computing

Users use it to
produce video
pieces from their
photos, video clips
and music.

Spring 2010

Carnegie Mellon

CloudComputingServices
Threebasicservices:
SoftwareasaService(SAAS)model
Appsthroughbrowser

PlatformasaService(PAAS)model
Deliveryofacomputingplatformforcustomsoftware
developmentasaservice

InfrastructureasaService(IAAS)model
Deliverofcomputerinfrastructureasaservice

XAAS,thelistcontinuestogrow

15-319 Introduction to Cloud Computing

Spring 2010

Carnegie Mellon

CloudServices(XaaS )

15-319 Introduction to Cloud Computing

Spring 2010

Carnegie Mellon

SaaS (1/3)

SaaS

Startedaround1999
Applicationislicensedtoacustomerasa
serviceondemand
SoftwareDeliveryModel:
Hostedonthevendorswebservers
Downloadedattheconsumersdeviceanddisabled
whenondemandcontractisover

15-319 Introduction to Cloud Computing

Spring 2010

Carnegie Mellon

SaaS (2/3)

SaaS

SaaS architecture/Maturitylevels:
Distinguishingattributes: configurability,multitenantefficiency,scalability
1

Tenant 1 Tenant 2

Tenant 1 Tenant 2

Tenant 1 Tenant 2

Tenant 1 Tenant 2

Tenant Load Balancer

instance 1

instance 2

instance

instance

instance
instance

Configurable
Each has its own
customized version of
the application and run
its own instance

15-319 Introduction to Cloud Computing

+ Multi-tenant-efficient

instance

+ Scalable

(+):Efficient use of server


Same application but
distinct instance/customer resources without apparent
differences to end users
(-): scalability limits

Spring 2010

Carnegie Mellon

SaaS (3/3)

SaaS

Examples

15-319 Introduction to Cloud Computing

Spring 2010

Carnegie Mellon

PaaS (1/2)

SaaS
PaaS

Deliveryofanintegratedcomputingplatform(to
build/test/deploycustomapps)&solutionstackasa
service.

Deployyourapplications&dontworryaboutbuying&
managingtheunderlyinghardwareandsoftwarelayers

15-319 Introduction to Cloud Computing

Spring 2010

Carnegie Mellon

PaaS (2/2)

SaaS
PaaS

Examples

15-319 Introduction to Cloud Computing

Spring 2010

Carnegie Mellon

SaaS

IaaS (1/5)

PaaS

Deliveryofcomputerinfrastructure(typically
platformvirtualizationenvironment)asaservice
Buyresources

IaaS

Servers
Software
Datacenterspace
Networkequipmentasfullyoutsourcedservices

Example:

15-319 Introduction to Cloud Computing

Spring 2010

Carnegie Mellon

IaaS (2/5)

SaaS

VirtualizationTechnologyisamajorenablerofIaaS
ItsapathtoshareITresourcepools:Webservers,storage,

App1 App2 App3

15-319 Introduction to Cloud Computing

OS
Hardware

Virtualized Stack

Traditional
Stack

data,network,softwareanddatabases.
Higherutilizationrates
App1 App2 App3
OS1

OS2

OS3

Middleware
Hypervisor
Hardware

Spring 2010

PaaS
IaaS

Carnegie Mellon

IaaS (3/5)

SaaS

VirtualizationTechnologyisamajorenablerofIaaS

HARDWARE
15-319 Introduction to Cloud Computing

Spring 2010

PaaS
IaaS

Carnegie Mellon

IaaS (4/5)

SaaS
PaaS

GranularityofVMs

IaaS

Multicoreprocessors

Quad Core:

VM

VM

VM

VM

VM

15-319 Introduction to Cloud Computing

Spring 2010

Carnegie Mellon

IaaS (5/5)
Service
Catalog

Request
UI

Dynamic
Scheduling

Operations
UI

Capacity
Planning
SLA

Monitoring

RequestDrivenProvisioning&ServiceManagement
Web2.0
Collaborative
Innovation

Software
Development

Data
Intensive
Processing

Virtual
Classroom

HighVolume
Transactions

Workloads

Virtualization

Virtual
Servers

Servers

PhysicalLayer
15-319 Introduction to Cloud Computing

Virtual
Storage

PowerSystems

Virtual
Networks

Virtual
Applications&
Middleware

Racks,
BladeCenter

Storage

Virtual
Clients

Networking

Spring 2010

Carnegie Mellon

Resourcesharingandconsolidation

Offeringcomputingresourcesasaserviceor
utilitythrough:
Virtualization
Dynamicprovisioning

Customizable Shared Resource:


User 1:

15-319 Introduction to Cloud Computing

User 2:

Spring 2010

Carnegie Mellon

HeterogeneousPhysicalResources
Customizable Shared
Heterogeneous Resource:
User 1:

User 2:

15-319 Introduction to Cloud Computing

User 3:

Spring 2010

Carnegie Mellon

More(XaaS):EverythingasaServiceEaaS

Desktop:DaaS
Useyourdesktopvirtuallyfromanywhere

Communication:CaaS
Virtualization:VaaS
Hardware:HaaS
etc

15-319 Introduction to Cloud Computing

Spring 2010

Carnegie Mellon

Evolution

Discussedinlecture1

15-319 Introduction to Cloud Computing

Spring 2010

Carnegie Mellon

EnablingTechnologies

Virtualization
Web2.0
DistributedStorage
DistributedComputing
UtilityComputing
NetworkBandwidth&Latency
FaultTolerantSystems

15-319 Introduction to Cloud Computing

Spring 2010

Carnegie Mellon

WhyCloudComputing?

LargeScaleDataIntensiveApplications
Flexibility
Scalability
Customizedtoyourcurrentneeds:
Hardware
Software

Effect:

ReduceCost
ReduceMaintenance
HighUtilization
HighAvailability
ReducedCarbonFootprint

15-319 Introduction to Cloud Computing

Spring 2010

Carnegie Mellon

WhyCloudComputing?

Flexibility
Software:Anysoftwareplatform
Access:accessresourcesfromanymachine
connectedtotheInternet
Deployinfrastructurefromanywhereatanytime
Softwarecontrolsinfrastructure

15-319 Introduction to Cloud Computing

Spring 2010

Carnegie Mellon

WhyCloudComputing?

Scalability
Instant
Controlviasoftware
Add/cancel/rebuildresourcesinstantly
Startsmall,thenscaleyourresourcesup/down
asyouneed
illusionofinfiniteresourcesavailableon
demand

15-319 Introduction to Cloud Computing

Spring 2010

Carnegie Mellon

WhyCloudComputing?

Customization
Everythinginyourwishlist
Softwareplatforms
Storage
Networkbandwidth
Speed

15-319 Introduction to Cloud Computing

Spring 2010

Carnegie Mellon

WhyCloudComputing?

Cost
Payasyougomodel
Small/mediumsizecompaniescantapthe
infrastructureofcorporategiants.
Timetoservice/market
Noupfrontcost

15-319 Introduction to Cloud Computing

Spring 2010

Carnegie Mellon

WhyCloudComputing?

Maintenance
ReducethesizeofaclientsITdepartment
Istheresponsibilityofthecloudvendor
ThisIncludes:
Softwareupdates
Securitypatches
Monitoringsystemshealth
Systembackup
etc

15-319 Introduction to Cloud Computing

Spring 2010

Carnegie Mellon

WhyCloudComputing?

Utilization
Consolidationofalargenumberofresources
CPUcycles
Storage
NetworkBandwidth

15-319 Introduction to Cloud Computing

Spring 2010

Carnegie Mellon

WhyCloudComputing?

Availability
Havingaccesstosoftware,platform,infrastructure
fromanywhereatanytime
Allyouneedisadeviceconnectedtotheinternet

Reliability
Thesystemsfaulttoleranceismanagedbythecloud
providersandusersnolongerneedtoworryaboutit.

15-319 Introduction to Cloud Computing

Spring 2010

Carnegie Mellon

WhyCloudComputing?

CO2Footprint
Consolidationofservers
Higherutilization
Reducedpowerusage

15-319 Introduction to Cloud Computing

Spring 2010

Carnegie Mellon

Drawbacks

Security
Privacy
Vendorlockin
Networkdependent
Migration

15-319 Introduction to Cloud Computing

Spring 2010

Carnegie Mellon

TypesofClouds(1/4)

Public
Private
Hybrid

15-319 Introduction to Cloud Computing

Spring 2010

Carnegie Mellon

TypesofClouds(2/4)

Public(external)cloud
OpenMarketforondemandcomputingandITresources
Concerns:LimitedSLA,Reliability,Availability,Security,Trustand
Confidence
Examples:IBM,Google,Amazon,

15-319 Introduction to Cloud Computing

Spring 2010

Carnegie Mellon

TypesofClouds(3/4)

Private(Internal)cloud
ForEnterprises/CorporationswithlargescaleIT

15-319 Introduction to Cloud Computing

Spring 2010

Carnegie Mellon

TypesofClouds(4/4)

Hybridcloud
ExtendthePrivateCloud(s)byconnectingittootherexternalcloud
vendorstomakeuseofavailablecloudservicesfromexternal
vendors

CloudBurst
Usethelocalcloud,whenyou
needmoreresources,burst
intothepubliccloud

15-319 Introduction to Cloud Computing

Spring 2010

Carnegie Mellon

TypesofApplications

Opendiscussion

15-319 Introduction to Cloud Computing

Spring 2010

Carnegie Mellon

SystemInfrastructure

LargescaleDatacentricapplications
Exploitparallelism
Easytomanage
Elastic(dynamic?)
Faulttolerant

15-319 Introduction to Cloud Computing

Spring 2010

Carnegie Mellon

MapReduceandApacheHadoop

MapReduce:Abstractionthatsimplifieswriting
applicationsthataccessmassivelydistributeddata

Hadoop:OpensourceMapReducesoftwareplatform

Distributesdataandprocessingacrossmanynodes
Processesthedatalocallyateachnode
Transparentfaulttolerancethrough

Automaticdataduplication
Automaticdetectionandrestartingoffailingnodes
15-319 Introduction to Cloud Computing

Spring 2010

Carnegie Mellon

MapReduceProgrammingModel

Functionalprogrammingthatiseasily
parallelizable
Splitintotwophases:
Map Performcustomfunctiononall
itemsinanarray
Reduce Collatemapresultsusingcustom
function

Scaleswell computationseparated
fromprocessingdataflow
Illustrativeexample:
Mapthatsquaresthevalueofnumbersin
anarray
{1,2,3,4}>{1,4,9,16}
Reducethatsumsthesquares:30

15-319 Introduction to Cloud Computing

Spring 2010

Carnegie Mellon

HadoopMap/Reduce

TheMapReduceprogrammingmodel
Frameworkfordistributedprocessingoflargedatasets
Pluggableusercoderunsingenericframework

Example:
cat*|grep|sort|uniquec|cat>file
input|map|shuffle|reduce|output

Naturalforunstructureddata:
Logprocessing
Websearchindexing
Adhocqueries

15-319 Introduction to Cloud Computing

Spring 2010

Carnegie Mellon

ApacheHadoop

OpensourceMapReducesoftwareplatform
Automaticallyprovidesframeworkfordeveloping
MapReduceapplications
Handlesmappingandreducinglogistics
Programmerjustprovidescustomfunctionality

CurrentlytakescustomfunctionalityinJavaandPython
UsesanopensourceEclipseplugintointerfacewithHadoop

15-319 Introduction to Cloud Computing

Spring 2010

Carnegie Mellon

HDFS

VeryLargeDistributedFileSystem
10Knodes,100millionfiles,10PB

AssumesCommodityHardware
Filesarereplicationinordertohandlehardwarefailure
Systemdetectsfailuresandrecoversfromthem

OptimizedforBatchProcessing
Datalocationsexposedsothatcomputationscanmovetowhere
dataresides
Providesveryhighaggregatebandwidth

15-319 Introduction to Cloud Computing

Spring 2010

Carnegie Mellon

DistributedFileSystem

filen

SingleNamespaceforentirecluster
DataCoherency
Writeoncereadmanyaccessmodel
Clientcanonlyappendtoexistingfiles

NameNode
ame

k ID
Bloc odes
N
Data

Client

Re
ad

Filesarebrokenupintoblocks
Typically128MBblocksize
EachblockreplicatedonmultipleDataNodes

IntelligentClient

DataNodes

Clientcanfindlocationofblocks
ClientaccessesdatadirectlyfromDataNode

15-319 Introduction to Cloud Computing

Spring 2010