Professional Documents
Culture Documents
IntroductiontoCloudComputing
CloudComputingI(intro)
15319,spring2010
2nd Lecture,Jan14th
MajdF.Sakr
Spring 2010
Carnegie Mellon
LectureMotivation
Generaloverviewoncloudcomputing
Whatiscloudcomputing
Services
Types
Advantagesanddisadvantages
Enablingtechnologies
Anexampleinfrastructure
Spring 2010
Carnegie Mellon
LectureOutline
WhatisCloud?
WhatisCloudComputing?
CloudComputingServices
HistoryofCloudComputing
WhyCloudComputing
DrawbacksofCloudComputing
TypesofClouds
Spring 2010
Carnegie Mellon
ACloudis
Datacenterhardwareandsoftware
thatthevendorsusetoofferthe
computingresourcesandservices
Spring 2010
Carnegie Mellon
CloudComputing
Representsboththecloud&theprovidedservices
Whycallitcloudcomputing?
Somesaybecausethecomputinghappensoutthere"inthe
clouds"
Wikipedia:"thetermderivesfromthefactthatmost
technologydiagramsdepicttheInternetorIPavailabilityby
usingadrawingofacloud."
Spring 2010
Carnegie Mellon
CloudComputing
WhoisWho
Cloud providers
IBM
Amazon
AWS
Dell
Service Users
SmugMug
Sun Cloud
Microsoft
VMware
Sun Microsystems
Citrix Systems
Aptana
Hewlett-Packard
Cloud Testing
NaviSite
Outsourcery
Animoto
Sun Cloud
3tera
SynfiniWay
lland
Amazon S3
Qloud
IBM
Amazon AWS
Red Hat
Intelliquib
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
Spring 2010
Carnegie Mellon
CloudServices(XaaS )
Spring 2010
Carnegie Mellon
SaaS (1/3)
SaaS
Startedaround1999
Applicationislicensedtoacustomerasa
serviceondemand
SoftwareDeliveryModel:
Hostedonthevendorswebservers
Downloadedattheconsumersdeviceanddisabled
whenondemandcontractisover
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
instance 1
instance 2
instance
instance
instance
instance
Configurable
Each has its own
customized version of
the application and run
its own instance
+ Multi-tenant-efficient
instance
+ Scalable
Spring 2010
Carnegie Mellon
SaaS (3/3)
SaaS
Examples
Spring 2010
Carnegie Mellon
PaaS (1/2)
SaaS
PaaS
Deliveryofanintegratedcomputingplatform(to
build/test/deploycustomapps)&solutionstackasa
service.
Deployyourapplications&dontworryaboutbuying&
managingtheunderlyinghardwareandsoftwarelayers
Spring 2010
Carnegie Mellon
PaaS (2/2)
SaaS
PaaS
Examples
Spring 2010
Carnegie Mellon
SaaS
IaaS (1/5)
PaaS
Deliveryofcomputerinfrastructure(typically
platformvirtualizationenvironment)asaservice
Buyresources
IaaS
Servers
Software
Datacenterspace
Networkequipmentasfullyoutsourcedservices
Example:
Spring 2010
Carnegie Mellon
IaaS (2/5)
SaaS
VirtualizationTechnologyisamajorenablerofIaaS
ItsapathtoshareITresourcepools:Webservers,storage,
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
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
User 2:
Spring 2010
Carnegie Mellon
HeterogeneousPhysicalResources
Customizable Shared
Heterogeneous Resource:
User 1:
User 2:
User 3:
Spring 2010
Carnegie Mellon
More(XaaS):EverythingasaServiceEaaS
Desktop:DaaS
Useyourdesktopvirtuallyfromanywhere
Communication:CaaS
Virtualization:VaaS
Hardware:HaaS
etc
Spring 2010
Carnegie Mellon
Evolution
Discussedinlecture1
Spring 2010
Carnegie Mellon
EnablingTechnologies
Virtualization
Web2.0
DistributedStorage
DistributedComputing
UtilityComputing
NetworkBandwidth&Latency
FaultTolerantSystems
Spring 2010
Carnegie Mellon
WhyCloudComputing?
LargeScaleDataIntensiveApplications
Flexibility
Scalability
Customizedtoyourcurrentneeds:
Hardware
Software
Effect:
ReduceCost
ReduceMaintenance
HighUtilization
HighAvailability
ReducedCarbonFootprint
Spring 2010
Carnegie Mellon
WhyCloudComputing?
Flexibility
Software:Anysoftwareplatform
Access:accessresourcesfromanymachine
connectedtotheInternet
Deployinfrastructurefromanywhereatanytime
Softwarecontrolsinfrastructure
Spring 2010
Carnegie Mellon
WhyCloudComputing?
Scalability
Instant
Controlviasoftware
Add/cancel/rebuildresourcesinstantly
Startsmall,thenscaleyourresourcesup/down
asyouneed
illusionofinfiniteresourcesavailableon
demand
Spring 2010
Carnegie Mellon
WhyCloudComputing?
Customization
Everythinginyourwishlist
Softwareplatforms
Storage
Networkbandwidth
Speed
Spring 2010
Carnegie Mellon
WhyCloudComputing?
Cost
Payasyougomodel
Small/mediumsizecompaniescantapthe
infrastructureofcorporategiants.
Timetoservice/market
Noupfrontcost
Spring 2010
Carnegie Mellon
WhyCloudComputing?
Maintenance
ReducethesizeofaclientsITdepartment
Istheresponsibilityofthecloudvendor
ThisIncludes:
Softwareupdates
Securitypatches
Monitoringsystemshealth
Systembackup
etc
Spring 2010
Carnegie Mellon
WhyCloudComputing?
Utilization
Consolidationofalargenumberofresources
CPUcycles
Storage
NetworkBandwidth
Spring 2010
Carnegie Mellon
WhyCloudComputing?
Availability
Havingaccesstosoftware,platform,infrastructure
fromanywhereatanytime
Allyouneedisadeviceconnectedtotheinternet
Reliability
Thesystemsfaulttoleranceismanagedbythecloud
providersandusersnolongerneedtoworryaboutit.
Spring 2010
Carnegie Mellon
WhyCloudComputing?
CO2Footprint
Consolidationofservers
Higherutilization
Reducedpowerusage
Spring 2010
Carnegie Mellon
Drawbacks
Security
Privacy
Vendorlockin
Networkdependent
Migration
Spring 2010
Carnegie Mellon
TypesofClouds(1/4)
Public
Private
Hybrid
Spring 2010
Carnegie Mellon
TypesofClouds(2/4)
Public(external)cloud
OpenMarketforondemandcomputingandITresources
Concerns:LimitedSLA,Reliability,Availability,Security,Trustand
Confidence
Examples:IBM,Google,Amazon,
Spring 2010
Carnegie Mellon
TypesofClouds(3/4)
Private(Internal)cloud
ForEnterprises/CorporationswithlargescaleIT
Spring 2010
Carnegie Mellon
TypesofClouds(4/4)
Hybridcloud
ExtendthePrivateCloud(s)byconnectingittootherexternalcloud
vendorstomakeuseofavailablecloudservicesfromexternal
vendors
CloudBurst
Usethelocalcloud,whenyou
needmoreresources,burst
intothepubliccloud
Spring 2010
Carnegie Mellon
TypesofApplications
Opendiscussion
Spring 2010
Carnegie Mellon
SystemInfrastructure
LargescaleDatacentricapplications
Exploitparallelism
Easytomanage
Elastic(dynamic?)
Faulttolerant
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
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
Spring 2010
Carnegie Mellon
ApacheHadoop
OpensourceMapReducesoftwareplatform
Automaticallyprovidesframeworkfordeveloping
MapReduceapplications
Handlesmappingandreducinglogistics
Programmerjustprovidescustomfunctionality
CurrentlytakescustomfunctionalityinJavaandPython
UsesanopensourceEclipseplugintointerfacewithHadoop
Spring 2010
Carnegie Mellon
HDFS
VeryLargeDistributedFileSystem
10Knodes,100millionfiles,10PB
AssumesCommodityHardware
Filesarereplicationinordertohandlehardwarefailure
Systemdetectsfailuresandrecoversfromthem
OptimizedforBatchProcessing
Datalocationsexposedsothatcomputationscanmovetowhere
dataresides
Providesveryhighaggregatebandwidth
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
Spring 2010