© Joe Mertz - M2C 1
©JoeMertz- M2C 1
• TohaveageneralunderstandingofwhatfallsunderthenebulousdefinitionofCloudComputing– Nottobeconfusedwithnebulouscloudsnorthecloudnebula.
• TobefamiliarwiththeconceptsofSaaS,IasS,PaaS,(andHuaaS).
• Tounderstandthebenefitsandrisksofusingcloudcomputing
• TobeawareofthebreadthofservicesthatareavailableasXaaS– Includingbusinessmodelsandsoftwaredevelopmentsupport
©JoeMertz- M2C 2
• Cloudcomputingisamodelforenabling– convenient,on-demandnetworkaccess– toasharedpoolofconfigurablecomputingresources• (e.g.,networks,servers,storage,applications,andservices)
– thatcanberapidlyprovisionedandreleased• withminimalmanagementeffort• orserviceproviderinteraction
Source:USNationalInstituteofStandardsandTechnology,2009
©JoeMertz- M2C 3
• Payrollcompany– monthlyvariation– Haspeakloadsonitswebapplicationsonthelastworkingdayofthemonth
– Traffictailsofftherestofthemonth• Weathercompany– specialevents– Fairlysteadystateloadmostofthetime– Extremepeakloadswhenthereisaweatherevent(hurricane,icestorm,etc.)
©JoeMertz- M2C 4
• Short-TermCampaign– Youhaveacampaign(e.g.Superbowlcommercial)thatneedsashort-termincreasedcapacitytomanage.
©JoeMertz- M2C 5
• Problem:– Simulatetheinteractionofeachofmillionsofcompoundswithacancer-related
protein.– Estimated341,700hoursofcomputing
• I.e.39years!
• Solution:– Used10,600cloud-basedcomputeinstances
• Physicalequivalent:– 12,000sqfeetdatacenter– Wouldcost$44million
• Result– 2hoursetup– 9hoursuse– Peakcost$549.72/hour– Totalcost$4,362!
Source:http://blog.cyclecomputing.com/2013/02/built-to-scale-10600-instance-cyclecloud-cluster-39-core-years-of-science-4362.htmlMISM- 95-702- DistributedSystems 6
• Startupcompany- scalability–Minimalcapitalavailableforequipment–Minimalcapitalavailabletohiretechsupportstaff– Nowaytopredictwhentheirnewservicewillgoviral.
©JoeMertz- M2C 7
• Animoto madeitsserviceavailableviaFacebook• Resourceneedsdoubledevery12hoursforthreedays.
• Demandsurgedfrom50serversto3,500servers• Afterthepeaksubsided,trafficfelltoalowerlevel.
Source:MichaelArmbrust etal.» http://doi.acm.org/10.1145/1721654.1721672
©JoeMertz- M2C 8
– Source:MichaelArmbrust etal.» http://doi.acm.org/10.1145/1721654.1721672
©JoeMertz- M2C 9
• Youhaveaneedforanextensiblesoftwareapplicationthatscalesindefinitely(fromyourperspective)andisavailable24/7worldwide.
• Andyourcorebusinessisnotdistributedsoftwaredevelopment.
©JoeMertz- M2C 10
• On-demandself-service• Broadnetworkaccess• Resourcepooling• Rapidelasticity• Measuredservice
– USNationalInstituteofStandardsandTechnology,2009
©JoeMertz- M2C 11
• Consumercanunilaterally:– Provisioncomputingcapabilities,• E.g.servertimeandnetworkstorage,
– Asneeded– Automatically–Withoutrequiringhumaninteraction
©JoeMertz- M2C 12
• Capabilitiesareavailable– Overthenetwork– Accessedthroughstandard,publishedAPIs
©JoeMertz- M2C 13
• Provider’scomputingresourcesarepooled– Servingmultipleconsumersusingamulti-tenantmodel– Withdifferentphysicalandvirtualresourcesdynamicallyassignedandreassignedaccordingtoconsumerdemand.
• Customergenerallyhasnocontrolorknowledgeovertheexactlocationoftheprovidedresources– Butmaybeabletospecifylocationatahigherlevelofabstraction(e.g.,country,state,ordatacenter).
• Examplesofresourcesinclude– storage– processing– memory– networkbandwidth– virtualmachines.
©JoeMertz- M2C 14
• Resourcepoolingiskeytothebusinessmodel– Largescaledatacenters– Inlow-costgeographiclocations
• Realestate• Power• Labor
– Statisticalmultiplexingtoincreaseutilization– Resultedinsignificantdecreaseincosts
• Decreasefactorof5to7- Armbrust etal
• Therefore,cloudcomputingcouldwasableprovidebettersoftwareandcomputingservicescheaperthanmediumandsmallsizeddatacenters.
©JoeMertz- M2C 15
• Capabilitiescanberapidlyandelasticallyprovisioned– Insomecasesautomatically– Toquicklyscaleoutandrapidlyreleasedtoquicklyscalein.
• Totheconsumer,thecapabilitiesavailableforprovisioningoftenappeartobeunlimitedandcanbepurchasedinanyquantityatanytime.
©JoeMertz- M2C 16
• Providersuseameteringcapabilityatsomelevelofabstractionappropriatetothetypeofservice– (e.g.,storage,processing,bandwidth,andactiveuseraccounts).
• Resourceusagecanbemonitored,controlled,andreportedprovidingtransparencyforboththeproviderandconsumeroftheutilizedservice.
• 1000processorsfor1hourisnomoreexpensivethan1processorfor1000hours
©JoeMertz- M2C 17
• Essentialcharacteristicsofcloudcomputing– On-demandself-service– Broadnetworkaccess– Resourcepooling– Rapidelasticity–Measuredservice
– USNationalInstituteofStandardsandTechnology,2009
©JoeMertz- M2C 18
• IaaS - InfrastructureasaService• PaaS - PlatformasaService• SaaS - SoftwareasaService• HuaaS - HumansasaService
©JoeMertz- M2C 19
• Processing,storage,networks,andotherfundamentalcomputingresources
• Theconsumercanrunarbitrarysoftware– Includingoperatingsystemsandapplications
©JoeMertz- M2C 20
• IaaS example• Multipleinstancetypes,rangingfrom• MicroInstance– 613MBmemory– upto2ECUs– Networkstorage
• ExtraLargeInstance– 15GBmemory– 8ECUs– 1690GBlocalstorage– Highernetworkperformance
©JoeMertz- M2C 21
• Web-basedstorage• WebServicesinterface– SOAPandREST
(Twovarietiesofmachine-to-machinecommunication)
©JoeMertz- M2C 22
• Programminglanguages,tools,and/orsoftwaresystemsprovideaplatformuponwhichacustomercanbuildanapplications.
• Theconsumerdoesnotmanageorcontroltheunderlyingcomputinginfrastructure,buthascontroloverthedeployedapplications.
©JoeMertz- M2C 23
• Force.comdevelopmentplatform• Apexprogramminglanguage• API• EclipseIDEintegration• Database,security,workflow,anduserinterfacetools
• Freefordevelopers
©JoeMertz- M2C 24
• RunwebappsonGoogleinfrastructure– Automaticscalingandloadbalancing
• SecurityandAuthentication• Workqueuesforscheduledtasks• Messaging
©JoeMertz- M2C 25
• ProvidesJava,Python,Go,andPHPplatforms• EclipseIDEintegration• Persistentstoragevia:– CloudDatastore – NOSQL– CloudSQL– basedonMySQL– CloudStorage– objects&filesupto1TB
©JoeMertz- M2C 26
• Providesthecapabilitytousesoftwareapplicationsrunningoncloudinfrastructure.
• Applicationsareaccessiblefromvariousclientdevicesthroughathinclientinterfacesuchasawebbrowser(e.g.,web-basedemail).
©JoeMertz- M2C 27
• WhilewithIaaS andPaaS,theconsumerisanapplicationdeveloper,withSaaS,theconsumercanbeanenduser(orapplicationdeveloper).
• E.g.– CompaniescanusetheSaaS namedCakeHR• Humanresourcessoftware
– CakeHR usesthePaaS fromCenturyLink/AppFog• PHPplatformasaservice
– AppFog usestheIaaS fromAmazonWebServices• EC2,S3
©JoeMertz- M2C 28
• SalesForce.com – CRM• Flickr– PhotoManagement• YouTube,Vimeo – VideoStreaming• Piazza– Courseforums• Othersyouuse?
©JoeMertz- M2C 29
• Lesscommonassociationwithcloudcomputing• E.g.– YouTubecrowdsourcingof“newsworthy”videos– Amazonproductreviews– AmazonMechanicalTurk– ReCAPTCHA– duoLingo– Uber– Burpy– Thumbtack– FavorDelivery– HomeAdvisor
©JoeMertz- M2C 30
• Publiccloud:– Cloudcomputingprovidedtopubliccustomers– Serviceakautilitycomputing
• Privatecloud:– Cloudcomputingonlywithinafirm– Onlysensiblewheneconomiesofscalearebigenoughtojustify• Elseyoujusthavea"datacenter".
©JoeMertz- M2C 31
• Laptop– NostaticIPaddress– LaptopnotawakewhenTAwantstotest
• Andrew.cmu.edu– Onlystaticwebpages
• Traditionalwebhosting(e.g.DreamHost,BlueHost)– Donotallowcontinuousprocesses– Node.js isarunningprocess,notsomethingawebserverinvokes
• IaaS – E.g.AWS– Possible,butneedtocreateOSstacktorunNodeon.– Moreworkthanisneeded
• PaaS– Bestalternativeforwhatweneed.
©JoeMertz- M2C 32
• Zeit Now– Free– AmazinglyeasyCLItodeploy
• Heroku• Redhat OpenShift• MicrosoftAzure• IBMBluemix• Modulus• Nodejitsu• AppFog• EngineYard
©JoeMertz- M2C 33Andothers…