Above the Clouds: a Berkeley View of Cloud ComputingPresented by:	Pat Helland	Partner Architect (SQL SIA)Kinda’ Like a Book Report!Clarification: I did NOT write this paper – I am reporting on some excellent work.
 Much of this paper’s content is well known to the folks working   in the cloud computing space.
 Hats off to the folks from Berkeley for such a crisp and thoughtful paper!OutlineIntroductionUC Berkeley: Above the CloudsPat’s Additional ThoughtsConclusion
Cool Paper Published on February 10, 2009The UC Berkeley RAD LabBerkeley RAD Lab(Reliable Adaptive Distributed Systems)These People Wrote the PaperRAD Lab Professors include:Armando Fox, Michael Jordan, Anthony Joseph, Ion Stoica, Randy Katz, and Dave PattersonI Simply Summarized It in This Presentation!
My Experiences with “Cloud Computing”Over 25 Years Working in Distributed ComputingTandem Computers(1982-1990)HaL Computers(1991-1994)Microsoft(1994-2005 and 2007-Present)Message Based MultiprocessorMicrosoft Transaction Server (MTS):Transactional RPC and N-Tier AppsChief Architect:Cache-CoherentNon-Uniform Memory Arch Multi-ProcessorWAN Distributed DBDistributed Transaction CoordinatorChief Architect:  Fault-Tolerant TX PlatformSQL Service BrokerService Oriented Architectures (SOA)2 Years at Amazon (2005-2007)Worked to Make Software Accept Low Availability DatacentersSaw “Cloud Computing” FirsthandExtensive MonitoringMultiple DatacentersDrive to CommonalityPressure on AvailabilityWorked On Product Catalog: 10s of Millions of Product DescriptionsDrive to CommodityCreation of DynamoInternals of AWSCost Pressure on Services…
IntroductionUC Berkeley: Above the Clouds1) Executive Summary2) Cloud Computing: an Old Idea Whose Time Has (Finally) Come3) What Is Cloud Computing?4) Clouds in a Perfect Storm: Why Now, Not Then?5) Classes of Utility Computing6) Cloud Computing Economics7) Top 10 Obstacles and Opportunities for Could Computing8) Conclusions and Questions about the Cloud of TomorrowPat’s Additional ThoughtsConclusionOutline
What Is Cloud Computing?Cloud Computing: App and Infrastructure over InternetSoftware as a Service:             Applications over the InternetUtility Computing:“Pay-as-You-Go” Datacenter Hardware and SoftwareThree New Aspects to Cloud ComputingThe Illusion of Infinite Computing Resources Available on DemandThe Elimination of an Upfront Commitment by Cloud UsersThe Ability to Pay for Use of Computing Resources on a Short-Term Basis as Needed
Economies of Scale and App ModelEconomies of Scale for Humongous DatacentersElectricityNetworkOperationsHardwarePut Datacenters at Cheap PowerPut Datacenters on Main TrunksStandardize and Automate OpsContainerized Low-Cost Servers5 to 7 Times Reduction in the Cost of Computing…App Model for Utility ComputingSomethingNewAmazon EC2Windows AzureGoogle AppEngineClose to Physical Hardware.NET and CLR… ASP.NET SupportApp Specific Traditional Web App Model??????User Controls Most of StackMore Constraints on User StackConstrained Stateless/Stateful Tiers???Hard to Auto Scale and FailoverAuto Provisioning of Stateless AppAuto Scaling and Auto High-AvailabilityConstraints on App Model Offer Tradeoffs… Lots of Ongoing Innovation…
Obstacles and Opportunities
Elasticity, Risk, and User IncentivesServices Will Prefer Utility Computing to a Private Cloud When:Demand Varies over TimeDemand Unknown in AdvanceProvisioning for Peak Leads to Underutilization at Other TimesWeb Startup May Experience a Huge Spike If It Becomes PopularPay by the Hour(Even if the Hourly Rate is Higher)Pay as You Go Does Not Require Commitment in AdvanceThe Value of Cost AssociativityUserHourscloud×  (revenue – Costcloud)  ≥UserHoursdatacenter×  (revenue –                             )CostdatacenterUtilization
IntroductionUC Berkeley: Above the Clouds1) Executive Summary2) Cloud Computing: an Old Idea Whose Time Has (Finally) Come3) What Is Cloud Computing?4) Clouds in a Perfect Storm: Why Now, Not Then?5) Classes of Utility Computing6) Cloud Computing Economics7) Top 10 Obstacles and Opportunities for Could Computing8) Conclusions and Questions about the Cloud of TomorrowPat’s Additional ThoughtsConclusionOutline
The Dream of Cloud ComputingIntegrated CircuitFoundriesUtility ComputingSemiconductor Fabs ExpensiveTypically > $1 BillionToo Much for Most DesignersFabs Take Outside WorkFabs Amortize Cost Other Designers Make ChipsAllowed Explosion of DesignsMore Players Afford Rented FabNew Datacenters Very ExpensiveOnly a Few Companies Can Afford Huge DatacentersUtility Computing  Datacenter Owners Amortize CostsUtility Computing Users Get Advantages of ElasticityDatacenter Resources Shared Across Many Users
Cloud Computing: ConfusionThe interesting thing about cloud computing is that we’ve redefined Cloud Computing to include everything that we already do… I don’t understand what we would do differently in the light of Cloud Computing than change some of the words in our ads.Larry Ellison (Oracle CEO) , quoted in the Wall Street Journal, Sept 26, 2008A lot of people are jumping on the [cloud] bandwagon, but I have not heard two people say the same thing about it.  There are multiple definitions out there of “the cloud”Andy Isherwood (HP VP of European Software Sales), in ZDNews, Dec 11, 2008It’s stupidity.  It’s worse than stupidity: it’s a marketing hype campaign.  Somebody is saying this is inevitable – and whenever you hear somebody saying that, it’s very likely to be a set of businesses campaigning to make it true.Richard Stallman (“free software” advocate), in The Guardian, Sept 29, 2008
Cloud Computing: Clarifications“Above the Clouds” Paper from UC Berkeley RAD LabGoals for the Paper: Clarify Terminology
 Compare Cloud and Conventional  Computing
 Identify Top Obstacles & OpportunitiesPaper Shaped by: Working Since 2005 in RAD Lab
 Users of Amazon AWS for 1 Year
 6 Months Brainstorming about CloudQuestions to Answer:What New Economic Models Are Enabled by Cloud?  How Can a Service Operator Decide for/against Cloud?What Is Cloud Computing?  How Is It Different from Software as a Service?Why Is Cloud Computing Poised to Take Off Now When It Failed Before?How Can We Classify Cloud Computing Offerings?  What Challenges Differ?What Does It Take to Be a Cloud Provider?  Why Would You Do It?What Are Top 10 Obstacles to Cloud?What Opportunities Overcome Them?What New Opportunities Are Enabled by or Potential Drivers of Cloud?What Changes Are Needed for Future Apps, Infrastructure, and Hardware?
IntroductionUC Berkeley: Above the Clouds1) Executive Summary2) Cloud Computing: an Old Idea Whose Time Has (Finally) Come3) What Is Cloud Computing?4) Clouds in a Perfect Storm: Why Now, Not Then?5) Classes of Utility Computing6) Cloud Computing Economics7) Top 10 Obstacles and Opportunities for Could Computing8) Conclusions and Questions about the Cloud of TomorrowPat’s Additional ThoughtsConclusionOutline
Utilities, Services, & Clouds: Oh, My!!Cloud Computing: Apps Delivered as Services over the Internet and the Datacenter Hardware and Software Providing ThemSoftware as a Service: Application Services Delivered over the InternetUtility Computing:  Virtualized Hardware and Compute Resources Delivered over the InternetCurrent Examples of Utility ComputingAmazon Web ServicesMicrosoft AzureGoogle’s AppEngineAdvantages of SaaS:Service Providers Have SimplifiedSoftware Installation, Maintenance,and Centralized VersioningEnd Users  Access “Anywhere, Anytime”, Share Data, Store Data SafelyCloud Computing  Allows Deploying   Software as a Service– and Scaling on Demand – without Building or Provisioning a Datacenter
The New Perspective of Hardware Resources3 New Aspects to Cloud ComputingAll 3 Aspect Are Required to SucceedThe Illusion of Infinite Computing Resources Available on DemandFailed Example: Intel Computing ServicesRequired Negotiating a Contract and Longer Term Use than Per-HourThe Elimination of an Upfront Commitment by Cloud UsersSuccessful Example: Amazon Web Services1.0-GHz X86 “Slices” for 10 Cents/HourPay for Use of Computing Resources on a Short-Term Basis as NeededCan Add New “Slice” in 2 to 5 MinutesThe Cloud Providers Big Bet:Multiple Instances (“Slices”) Can Be Statistically Multiplexed onto a Single BoxEach Rented Instance Will Not Interfere with Other User’s Usage
Power and Cooling Is Expensive!The Infrastructure for Power and Cooling Costs a LOTInfrastructure PLUS Energy >  Server Cost Since 2001Infrastructure Alone> Server Cost Since 2004Energy Alone> Server Cost Since 2008Cost Effective to Discard Inefficient ServersBelady, C., “In the Data Center, Power and Cooling Costs More than IT Equipment it Supports”, Electronics Cooling Magazine (Feb 2007)Power Savings  Infrastructure Savings!Like Airlines Retiring Fuel-Guzzling Airplanes
Location and Scale: It’s Easier to Ship Data than Power!Datacenters Are Popping Up in Surprising PlacesQuincy, WAGoogle, Microsoft, Yahoo!, and Others…San Antonio, TXMicrosoft, US NSA, and Others…
We Already Needed a Huge Datacenter…Building a Very Large-Scale Datacenter Very Is Expensive$100+ Million (Minimum)Large Internet Companies Already Building Huge DCsGoogle, Amazon, Microsoft…Large Internet Companies Already Building SoftwareMapReduce, GoogleFS, BigTable, DynamoJames Hamilton,  Internet Scale Service Efficiency, Large-Scale Distributed Systems and Middleware (LADIS) Workshop Sept‘08Huge DCs 5-7X as Cost Effective as Medium-Scale DCs
Why Be a Cloud Provider?Make a Lot of MoneyHuge datacenters cost 5-7X less for computation, storage, and networking. Fixed software & deployment amortized over many users.  Large company can leverage economies of scale and make money.Leverage Existing InvestmentsWeb companies had to build software and datacenters anyway.  Adding a new revenue stream at (hopefully) incremental cost.Defend a FranchiseWhat happens as conventional server and enterprise apps embrace cloud computing?  Application vendors will want a cloud offering.  For example, MSFT Azure should make cloud migration easy.Attack an IncumbentA large company (with software & datacenter) will want a beachhead before someone else dominates in the cloud provider space.Leverage Customer RelationshipsFor example, IBM Global Services may offer a branded Cloud Computing offering.  IBM and their Global Services customers would preserve their existing relationship and trust.Become a PlatformFacebook offers plug-in apps.  Google App-Engine…
IntroductionUC Berkeley: Above the Clouds1) Executive Summary2) Cloud Computing: an Old Idea Whose Time Has (Finally) Come3) What Is Cloud Computing?4) Clouds in a Perfect Storm: Why Now, Not Then?5) Classes of Utility Computing6) Cloud Computing Economics7) Top 10 Obstacles and Opportunities for Could Computing8) Conclusions and Questions about the Cloud of TomorrowPat’s Additional ThoughtsConclusionOutline
New Technology Trends & Business ModelWeb 2.0Low-Touch, Low-Margin, Low-CommitmentWeb 1.0High-Touch, High-Margin, High-CommitmentCredit Cards: Use PayPal or Similar Provider.  Customer Simply Needs a Credit CardCredit Cards: Contractual Relationship with Payment Processing ServiceAd Revenue: Easily Configured Ads for Web Pages (e.g. Google AdSense)Ad Revenue: Create Biz Relationship with Ad Placement Company like DoubleClickContent Distribution: Easily Configured Content Distribution  Using Amazon’s CloudFrontContent Distribution: Establish Relationship with Content Distribution Network like AkamaiAmazon Web Services (Starting 2006)Pay-as-You-Go-ComputingStart w/Credit CardBring Your Own SoftwareNo ContractHardware-Level VMsShare Hardware/Low Cost
New Application OpportunitiesGray’s Observation: Jim Gray Looked at Trends in 2003Wide-Area Networking Falling Slower than Other IT CostsCosts Require Putting the Data Near the Application!Some Interesting New Types of Applications Enable By the Cloud:Mobile Interactive Apps: Applications that respond in real time but work with lots of data.  Cloud computing offers highly-available large datasets.Parallel Batch Processing: “Cost Associativity” – Many systems for a short time.  Washington Post used 200EC2 instances to process 17,481 pages of Hillary Clinton’s travel documents within 9 hours of their release.Rise of Analytics: Again, “Cost Associativity” – Many systems for a short time.  Compute intensive data analysis which may be parallelized.Compute Intensive Desktop Apps: For example, symbolic mathematics requires lots of computing per unit of data.  Cost efficient to push the data to the cloud for computation
IntroductionUC Berkeley: Above the Clouds1) Executive Summary2) Cloud Computing: an Old Idea Whose Time Has (Finally) Come3) What Is Cloud Computing?4) Clouds in a Perfect Storm: Why Now, Not Then?5) Classes of Utility Computing6) Cloud Computing Economics7) Top 10 Obstacles and Opportunities for Could Computing8) Conclusions and Questions about the Cloud of TomorrowPat’s Additional ThoughtsConclusionOutline
A Spectrum of Application ModelsConstraints in the App Model  Automated Management ServicesMore ConstrainedLess ConstrainedMore AutomationLess AutomationMicrosoft Azure.NET CLR/Windows OnlyChoice of LanguageSome Auto Failover/ Scale (but needs declarative application properties)Google App EngineTraditional Web AppsAuto Scaling/ProvisioningAmazon AWSVMs Look Like HardwareNo Limit on App ModelUser Must Implement Scalability and FailoverForce.ComSalesForce Biz AppsAuto Scaling/ProvisioningWhich Model Will Dominate??High-Level Languages and Frameworks Can Be Built on Lower-LevelAnalogy: Programming Languages and Frameworks  Low-Level Languages (C/C++) Allow Fine-Grained Control
  Building a Web App in C++ Is a Lot of Cumbersome Work
  Ruby-on-Rails Hides the Mechanics but Only If You Follow    Request/Response and Ruby’s AbstractionsMore-Constrained Clouds May Be Built on Less-Constrained Ones
Vendors and Virtualized Resources
IntroductionUC Berkeley: Above the Clouds1) Executive Summary2) Cloud Computing: an Old Idea Whose Time Has (Finally) Come3) What Is Cloud Computing?4) Clouds in a Perfect Storm: Why Now, Not Then?5) Classes of Utility Computing6) Cloud Computing Economics7) Top 10 Obstacles and Opportunities for Could Computing8) Conclusions and Questions about the Cloud of TomorrowPat’s Additional ThoughtsConclusionOutline
An Overview of the Economic ShiftObservations about Cloud Computing Economic ModelsFine-Grain and Elastic Economic ModelsHardware Declines at Variable RatesConsider Average Utilization and PeaksCosts Continue to DropPredicting Application Growth HardTradeoff Decisions Are More FluidRate of Decline Varies (e.g. Net vs. Store)In-House, You Must Provision for PeakInvestment Risks May Be ReducedCloud Computing Will Track Changes Better than In-HouseSpikes Are Very ExpensiveThis Section Will Examine These Economic Issues in More Depth
Elasticity of Resources in Cloud ComputingCloud Computing: Add or Remove Resources as NeededIn Amazon’s EC2, One Server at a Time  Lead Time a Few Mins.Real World Server Utilization Is 5% to 20%Many Services Peak Exceeds Average by a Factor of 2 to 10Most Provision for PeakPainful to Under-Provision (Lost Customers)Provisioning for PeakWithout Elasticity, We Waste Resources(Shaded Areas)During Non-Peak Times
Elasticity: Do the Math!!Example: ElasticityAssume Our Service:Peaks at 500 Servers at NoonTrough Requires 100 Servers at MidnightAverage Utilization Is 300 ServersActual Utilization:Pay as You Go Break-Even Point300 × 24 = 7200Server Hours / Day12000  = 7200 × 1.667  ProvisionedResources:Cheaper When Pay as You Go Servers Are Less than 1.667 Times Purchased Servers500 × 24 = 12000Servers Hours / DayElasticity May Be More Cost-Effective Even with a Higher Per-Hour Charge!This Example Underestimates the Benefits of ElasticitySeasonal Demands Require Significant Provisioning Takes Weeks to Acquire and Install EquipmentE-Commerce Peaks DecemberPhoto-Sharing Peaks January
Elasticity: Risks of Under-ProvisioningUnder-Provisioning #1Potential Revenue (Shaded Area) Is SacrificedUnder-Provisioning #2Some Users Respond to Under-Provisioning by Permanently Deserting the Site...  Bad for Revenue!
Shifting Risk to the Cloud ProviderExample #1: AnimotoWhen Launched Surged from 50 Servers to 3500 in 3 DaysTraffic Doubled Every Twelve Hours for Three DaysAfter Peak, Traffic Fell to Well Below the PeakExample #2: Target.ComLarge Retailer – ECommerce Site Run by AmazonBlack Friday (Nov 28th, 2008) – Many ECommerce Sites FailedTarget and Amazon Slower by Only About 50%Cloud Computing Transfers Many Risks to the Cloud ProviderAssuming These Risks Allows the Cloud Provider to Change More – This Is OK!UserHourscloud×  (revenue – Costcloud)  ≥UserHoursdatacenter×  (revenue –                             )CostdatacenterUtilizationOver/Under Provisioning Affects the Datacenter Utilization Which Affects Cost Tradeoffs
My Favorite Queuing Theory EquationExpectedResponseTimeMinimum Response Time1 - Utilization=How Long Does the Work Take on an Empty System?Consider a 90% Busy ServerWhen the Server Is Busy, Expect It  to Take LongerAnswer Taking Too Long??Expect 10 Times the MinimumLighten the Load!Some Other ExamplesThat’s the Minimum Response TimeThe Work Needs to Fit in the Slack99% Utilization:  100 Times Min50% Utilization: Twice Min20% Util: (1/.8) =  1.25 Times Min It Is Unrealistic to Run a System or Datacenter Above 60% - 80% Utilized !
One More Look at the Cost ModelHow Much You Make Total in a “Pay as You Go” CloudHow Much You Make Per User Hour in a “Pay as You Go” CloudThe Compute Cost of the Work in a DatacenterBut You Pay for the Whole Datacenter Even When It Is Underutilized!UserHourscloud×  (revenue – Costcloud)      ≥UserHoursdatacenter×  (revenue –                                  )Utilization Assumptions Make a Big Difference in the Costs of Cloud versus Datacenter!How Much You Make Total in a Datacenter Implementation of Your AppCostdatacenterUtilizationHave to Increase the Charge for the Work You Do to Make Up for Underutilization
Comparing Costs: Should I Move to the Cloud?In 2003, Jim Gray Calculated What $1 PurchasedHow Much Disk for $1?How Much CPU for $1?How Much Network for $1?
Costs of Computing: On-Premise versus the CloudPower, Cooling, & Physical Plant CostOperations CostIt Appears AWS Is a Bad Deal Compared to Buying Your Computing the “Old Fashioned” WayPay Separatelyper ResourceHardware Ops Cheap Today: Simple TasksPower, Cooling, etc Cost as Much as the Computers!!Most Apps Are Not Balanced in Resource UseSoftware Ops: Patching, Upgrades May Remain…May Use More or Less CPU, Disk, or NetworkBundled in the Cloud Costs, Not in Classic DatacenterSide Note: AWS Bandwidth Cheaper than Most Can Buy!Ops Burden Depends on Level of Virtualization!Figures Above Not Fair to the Cloud!Separate Charges May Be Better
Cloud Is Mostly Driven by MoneyEconomics of Cloud Computing Are Very Attractive to Some UsersCloud Computing Will Track Cost Changes Better than In-HousePredicting Application Growth HardInvestment Risks May Be ReducedIn-House, You Must Provision for Peak
IntroductionUC Berkeley: Above the Clouds1) Executive Summary2) Cloud Computing: an Old Idea Whose Time Has (Finally) Come3) What Is Cloud Computing?4) Clouds in a Perfect Storm: Why Now, Not Then?5) Classes of Utility Computing6) Cloud Computing Economics7) Top 10 Obstacles and Opportunities for Could Computing8) Conclusions and Questions about the Cloud of TomorrowPat’s Additional ThoughtsConclusionOutline
Top 10 Obstacles and Opportunities
Organizations Worry: Will Cloud Computing Be Highly Available?Existing Web & SaaS Offerings (e.g. MSN, Google, Amazon) Set a High BarExpectations Often Exceed what Enterprise-IT Can OfferOutages in Cloud Infrastructure Get Lots of PressEnterprises Are Reluctant to Put Applications in the Cloud without Business Continuity PlansAnother Obstacle Is DDOS (Distributed Denial of Service) Attack:Criminals Threaten to Cut Off SaaS Providers by Swamping ThemAttacks Typically Use “BotNets” – Rent Simulated Users for 3 cents/weekCloud Computing Allows a Defense through Quick Scale-Up#1 Obstacle: Availability of a Service
#2 Obstacle: Data Lock-InCloud Storage Providers (So Far) Have Distinct APIsDifficult (Impractical) to Store Data in Multiple Cloud ProvidersUsers Must Trust Their Cloud Providers Not to Lose DataCloud Users Vulnerable to Price IncreasesRichard Stallman Warned of ThisStandardizing APIs Gives SaaS Programmer PortabilitySome Argue May Lead to Commoditization of Cloud ProvidersUC Berkeley Thinks This Is UnlikelyQuality of Cloud Providers Can Be a DifferentiatorStandard APIs Allow “Surge Computing”: On-Premise plus CloudSqueeze Their Profits!
#3 Obstacle: Data Confidentiality and Auditability“My sensitive corporate data will never be in the cloud!”Current Clouds Are Essentially Public Networks Auditability Is RequiredSarbanes-OxleyThey Are Exposed to More AttacksHIPAABerkeley Believes There Are No Fundamental Obstacles to Making Cloud Computing as Secure as Most In-House ITEncrypted StorageNetwork Middleboxes (Firewalls, Packet Filters)Virtual LANsEncrypted Data in the Cloud Is Likely More Secure than Unencrypted Data on PremisesMaybe: Cloud Provided AuditabilityConcerns over National BoundariesMore Focus on Virtual Capabilities…USA PATRIOT Act Gives Some  Europeans Worries over SaaS in the USAAuditing Below VMsForeign SubpoenasMaybe More Tamper ResistantBlind Subpoenas
#4 Obstacle: Data Transfer BottlenecksProblem: At $100 to $150 per Terabyte Transferred, Data Placement and Movement Is an IssueOpportunity-1: Sneaker-NetJim Gray Found Cheapest Transfer Was FedEx-ing Disks1 Data Failure in 400 AttemptsOpportunity-2: Keep Data in CloudIf the Data Is in the Cloud, Transfer Doesn’t CostAmazon Hosting Large DataE.g. US CensusFree on S3; Free on EC2Entice EC2 BusinessOpportunity-3: Cheaper WANHigh-End Routers Are a Big Part of the Cost of Data TransferResearch into Routing using Cheap Commodity ComputersExample: Ship 10TB from UC Berkeley to Amazon-- WAN:   S3 < 20Mbits/sec:                 10TB  4Mil Seconds  > 45 Days                 $1000 in AMZN Net Fees-- FedEx:  Ten 1TB Disks via Overnight Shipping                 < 1 Day to Write 10TB to Disks Locally                 Cost ≈ $400                  Effective BW of 1500Mbits/Sec       “NetFlix for Cloud Computing”
#5 Obstacle: Performance UnpredictabilityWhen Does Sharing Cause Problems with Performance?Sharing CPU and Main Memory Seems to Work WellSharing I/O Seems to Cause Problems SometimesOpportunities:Improve Architectures and OSes to Efficiently Virtualize Interrupts and I/O-ChannelsHope  IBM Mainframes in the 1980s Did ThisFlash Memory May Decrease I/O InterferenceScheduling Parallel Batch OperationsVirtualizing High Performance Computing Is a Problem:Parallel Execution Is Slow when the Communicating Processes Are Virtual (and Not Always Running)Opportunity:Something Like “Gang Scheduling” for Cloud Computing
Obstacles #6, #7, #8, & #9Obstacle # 6: Scalable StorageNeed Storage that Can Scale-Up and Scale-DownIt Is Not Completely Obvious the Storage Semantics RequiredLots of Active Research and Development HereObstacle #7: Bugs in Large-Scale Distributed SystemsTough to Debug Very Large Distributed SystemsCommon to Have Bugs Only Appear in Bug DeploymentsCan Tracing/Debugging Information Be Captured by VM Environment?Obstacle #8: Scaling QuicklyNeed to Scale-Up and Scale-Down ComputationObstacle #9: Reputation Fate SharingCreate Reputation-Guarding Services (like “Trusted Email”)What about Transfer of Legal Liability?Is Amazon Liable If an EC2 App Sends Spam?
#10 Obstacle: Software LicensingSoftware Licenses Typically Restrict which Computers May Use the SoftwareUsers Pay for Software and then Annual Maintenance FeesSAP & Oracle Charge 22% of Purchase per AnnumMany Cloud Providers Used Only Open Source Software because the Licensing Model Is a Poor Fit for Cloud ComputingOpportunity: Open Source vs. Changes to LicensesMSFT and AMZN Now Offer Pay-As-You-Go Licenses for Windows and SQL Server on EC2EC2 on Windows  15 cents/hourEC2 on Linux  10 cents/hourObstacle: Encourage Software Sales for the CloudAwkward with Quarterly Sales TrackingOpportunity: Cloud Providers Offer Bulk Prepaid PlansE.g. Oracle Sells 100,000 Instance Hours for the Cloud

Above The Clouds

  • 1.
    Above the Clouds:a Berkeley View of Cloud ComputingPresented by: Pat Helland Partner Architect (SQL SIA)Kinda’ Like a Book Report!Clarification: I did NOT write this paper – I am reporting on some excellent work.
  • 2.
    Much ofthis paper’s content is well known to the folks working in the cloud computing space.
  • 3.
    Hats offto the folks from Berkeley for such a crisp and thoughtful paper!OutlineIntroductionUC Berkeley: Above the CloudsPat’s Additional ThoughtsConclusion
  • 4.
    Cool Paper Publishedon February 10, 2009The UC Berkeley RAD LabBerkeley RAD Lab(Reliable Adaptive Distributed Systems)These People Wrote the PaperRAD Lab Professors include:Armando Fox, Michael Jordan, Anthony Joseph, Ion Stoica, Randy Katz, and Dave PattersonI Simply Summarized It in This Presentation!
  • 5.
    My Experiences with“Cloud Computing”Over 25 Years Working in Distributed ComputingTandem Computers(1982-1990)HaL Computers(1991-1994)Microsoft(1994-2005 and 2007-Present)Message Based MultiprocessorMicrosoft Transaction Server (MTS):Transactional RPC and N-Tier AppsChief Architect:Cache-CoherentNon-Uniform Memory Arch Multi-ProcessorWAN Distributed DBDistributed Transaction CoordinatorChief Architect: Fault-Tolerant TX PlatformSQL Service BrokerService Oriented Architectures (SOA)2 Years at Amazon (2005-2007)Worked to Make Software Accept Low Availability DatacentersSaw “Cloud Computing” FirsthandExtensive MonitoringMultiple DatacentersDrive to CommonalityPressure on AvailabilityWorked On Product Catalog: 10s of Millions of Product DescriptionsDrive to CommodityCreation of DynamoInternals of AWSCost Pressure on Services…
  • 6.
    IntroductionUC Berkeley: Abovethe Clouds1) Executive Summary2) Cloud Computing: an Old Idea Whose Time Has (Finally) Come3) What Is Cloud Computing?4) Clouds in a Perfect Storm: Why Now, Not Then?5) Classes of Utility Computing6) Cloud Computing Economics7) Top 10 Obstacles and Opportunities for Could Computing8) Conclusions and Questions about the Cloud of TomorrowPat’s Additional ThoughtsConclusionOutline
  • 7.
    What Is CloudComputing?Cloud Computing: App and Infrastructure over InternetSoftware as a Service: Applications over the InternetUtility Computing:“Pay-as-You-Go” Datacenter Hardware and SoftwareThree New Aspects to Cloud ComputingThe Illusion of Infinite Computing Resources Available on DemandThe Elimination of an Upfront Commitment by Cloud UsersThe Ability to Pay for Use of Computing Resources on a Short-Term Basis as Needed
  • 8.
    Economies of Scaleand App ModelEconomies of Scale for Humongous DatacentersElectricityNetworkOperationsHardwarePut Datacenters at Cheap PowerPut Datacenters on Main TrunksStandardize and Automate OpsContainerized Low-Cost Servers5 to 7 Times Reduction in the Cost of Computing…App Model for Utility ComputingSomethingNewAmazon EC2Windows AzureGoogle AppEngineClose to Physical Hardware.NET and CLR… ASP.NET SupportApp Specific Traditional Web App Model??????User Controls Most of StackMore Constraints on User StackConstrained Stateless/Stateful Tiers???Hard to Auto Scale and FailoverAuto Provisioning of Stateless AppAuto Scaling and Auto High-AvailabilityConstraints on App Model Offer Tradeoffs… Lots of Ongoing Innovation…
  • 9.
  • 10.
    Elasticity, Risk, andUser IncentivesServices Will Prefer Utility Computing to a Private Cloud When:Demand Varies over TimeDemand Unknown in AdvanceProvisioning for Peak Leads to Underutilization at Other TimesWeb Startup May Experience a Huge Spike If It Becomes PopularPay by the Hour(Even if the Hourly Rate is Higher)Pay as You Go Does Not Require Commitment in AdvanceThe Value of Cost AssociativityUserHourscloud× (revenue – Costcloud) ≥UserHoursdatacenter× (revenue – )CostdatacenterUtilization
  • 11.
    IntroductionUC Berkeley: Abovethe Clouds1) Executive Summary2) Cloud Computing: an Old Idea Whose Time Has (Finally) Come3) What Is Cloud Computing?4) Clouds in a Perfect Storm: Why Now, Not Then?5) Classes of Utility Computing6) Cloud Computing Economics7) Top 10 Obstacles and Opportunities for Could Computing8) Conclusions and Questions about the Cloud of TomorrowPat’s Additional ThoughtsConclusionOutline
  • 12.
    The Dream ofCloud ComputingIntegrated CircuitFoundriesUtility ComputingSemiconductor Fabs ExpensiveTypically > $1 BillionToo Much for Most DesignersFabs Take Outside WorkFabs Amortize Cost Other Designers Make ChipsAllowed Explosion of DesignsMore Players Afford Rented FabNew Datacenters Very ExpensiveOnly a Few Companies Can Afford Huge DatacentersUtility Computing  Datacenter Owners Amortize CostsUtility Computing Users Get Advantages of ElasticityDatacenter Resources Shared Across Many Users
  • 13.
    Cloud Computing: ConfusionTheinteresting thing about cloud computing is that we’ve redefined Cloud Computing to include everything that we already do… I don’t understand what we would do differently in the light of Cloud Computing than change some of the words in our ads.Larry Ellison (Oracle CEO) , quoted in the Wall Street Journal, Sept 26, 2008A lot of people are jumping on the [cloud] bandwagon, but I have not heard two people say the same thing about it. There are multiple definitions out there of “the cloud”Andy Isherwood (HP VP of European Software Sales), in ZDNews, Dec 11, 2008It’s stupidity. It’s worse than stupidity: it’s a marketing hype campaign. Somebody is saying this is inevitable – and whenever you hear somebody saying that, it’s very likely to be a set of businesses campaigning to make it true.Richard Stallman (“free software” advocate), in The Guardian, Sept 29, 2008
  • 14.
    Cloud Computing: Clarifications“Abovethe Clouds” Paper from UC Berkeley RAD LabGoals for the Paper: Clarify Terminology
  • 15.
    Compare Cloudand Conventional Computing
  • 16.
    Identify TopObstacles & OpportunitiesPaper Shaped by: Working Since 2005 in RAD Lab
  • 17.
    Users ofAmazon AWS for 1 Year
  • 18.
    6 MonthsBrainstorming about CloudQuestions to Answer:What New Economic Models Are Enabled by Cloud? How Can a Service Operator Decide for/against Cloud?What Is Cloud Computing? How Is It Different from Software as a Service?Why Is Cloud Computing Poised to Take Off Now When It Failed Before?How Can We Classify Cloud Computing Offerings? What Challenges Differ?What Does It Take to Be a Cloud Provider? Why Would You Do It?What Are Top 10 Obstacles to Cloud?What Opportunities Overcome Them?What New Opportunities Are Enabled by or Potential Drivers of Cloud?What Changes Are Needed for Future Apps, Infrastructure, and Hardware?
  • 19.
    IntroductionUC Berkeley: Abovethe Clouds1) Executive Summary2) Cloud Computing: an Old Idea Whose Time Has (Finally) Come3) What Is Cloud Computing?4) Clouds in a Perfect Storm: Why Now, Not Then?5) Classes of Utility Computing6) Cloud Computing Economics7) Top 10 Obstacles and Opportunities for Could Computing8) Conclusions and Questions about the Cloud of TomorrowPat’s Additional ThoughtsConclusionOutline
  • 20.
    Utilities, Services, &Clouds: Oh, My!!Cloud Computing: Apps Delivered as Services over the Internet and the Datacenter Hardware and Software Providing ThemSoftware as a Service: Application Services Delivered over the InternetUtility Computing: Virtualized Hardware and Compute Resources Delivered over the InternetCurrent Examples of Utility ComputingAmazon Web ServicesMicrosoft AzureGoogle’s AppEngineAdvantages of SaaS:Service Providers Have SimplifiedSoftware Installation, Maintenance,and Centralized VersioningEnd Users Access “Anywhere, Anytime”, Share Data, Store Data SafelyCloud Computing Allows Deploying Software as a Service– and Scaling on Demand – without Building or Provisioning a Datacenter
  • 21.
    The New Perspectiveof Hardware Resources3 New Aspects to Cloud ComputingAll 3 Aspect Are Required to SucceedThe Illusion of Infinite Computing Resources Available on DemandFailed Example: Intel Computing ServicesRequired Negotiating a Contract and Longer Term Use than Per-HourThe Elimination of an Upfront Commitment by Cloud UsersSuccessful Example: Amazon Web Services1.0-GHz X86 “Slices” for 10 Cents/HourPay for Use of Computing Resources on a Short-Term Basis as NeededCan Add New “Slice” in 2 to 5 MinutesThe Cloud Providers Big Bet:Multiple Instances (“Slices”) Can Be Statistically Multiplexed onto a Single BoxEach Rented Instance Will Not Interfere with Other User’s Usage
  • 22.
    Power and CoolingIs Expensive!The Infrastructure for Power and Cooling Costs a LOTInfrastructure PLUS Energy > Server Cost Since 2001Infrastructure Alone> Server Cost Since 2004Energy Alone> Server Cost Since 2008Cost Effective to Discard Inefficient ServersBelady, C., “In the Data Center, Power and Cooling Costs More than IT Equipment it Supports”, Electronics Cooling Magazine (Feb 2007)Power Savings  Infrastructure Savings!Like Airlines Retiring Fuel-Guzzling Airplanes
  • 23.
    Location and Scale:It’s Easier to Ship Data than Power!Datacenters Are Popping Up in Surprising PlacesQuincy, WAGoogle, Microsoft, Yahoo!, and Others…San Antonio, TXMicrosoft, US NSA, and Others…
  • 24.
    We Already Neededa Huge Datacenter…Building a Very Large-Scale Datacenter Very Is Expensive$100+ Million (Minimum)Large Internet Companies Already Building Huge DCsGoogle, Amazon, Microsoft…Large Internet Companies Already Building SoftwareMapReduce, GoogleFS, BigTable, DynamoJames Hamilton, Internet Scale Service Efficiency, Large-Scale Distributed Systems and Middleware (LADIS) Workshop Sept‘08Huge DCs 5-7X as Cost Effective as Medium-Scale DCs
  • 25.
    Why Be aCloud Provider?Make a Lot of MoneyHuge datacenters cost 5-7X less for computation, storage, and networking. Fixed software & deployment amortized over many users. Large company can leverage economies of scale and make money.Leverage Existing InvestmentsWeb companies had to build software and datacenters anyway. Adding a new revenue stream at (hopefully) incremental cost.Defend a FranchiseWhat happens as conventional server and enterprise apps embrace cloud computing? Application vendors will want a cloud offering. For example, MSFT Azure should make cloud migration easy.Attack an IncumbentA large company (with software & datacenter) will want a beachhead before someone else dominates in the cloud provider space.Leverage Customer RelationshipsFor example, IBM Global Services may offer a branded Cloud Computing offering. IBM and their Global Services customers would preserve their existing relationship and trust.Become a PlatformFacebook offers plug-in apps. Google App-Engine…
  • 26.
    IntroductionUC Berkeley: Abovethe Clouds1) Executive Summary2) Cloud Computing: an Old Idea Whose Time Has (Finally) Come3) What Is Cloud Computing?4) Clouds in a Perfect Storm: Why Now, Not Then?5) Classes of Utility Computing6) Cloud Computing Economics7) Top 10 Obstacles and Opportunities for Could Computing8) Conclusions and Questions about the Cloud of TomorrowPat’s Additional ThoughtsConclusionOutline
  • 27.
    New Technology Trends& Business ModelWeb 2.0Low-Touch, Low-Margin, Low-CommitmentWeb 1.0High-Touch, High-Margin, High-CommitmentCredit Cards: Use PayPal or Similar Provider. Customer Simply Needs a Credit CardCredit Cards: Contractual Relationship with Payment Processing ServiceAd Revenue: Easily Configured Ads for Web Pages (e.g. Google AdSense)Ad Revenue: Create Biz Relationship with Ad Placement Company like DoubleClickContent Distribution: Easily Configured Content Distribution Using Amazon’s CloudFrontContent Distribution: Establish Relationship with Content Distribution Network like AkamaiAmazon Web Services (Starting 2006)Pay-as-You-Go-ComputingStart w/Credit CardBring Your Own SoftwareNo ContractHardware-Level VMsShare Hardware/Low Cost
  • 28.
    New Application OpportunitiesGray’sObservation: Jim Gray Looked at Trends in 2003Wide-Area Networking Falling Slower than Other IT CostsCosts Require Putting the Data Near the Application!Some Interesting New Types of Applications Enable By the Cloud:Mobile Interactive Apps: Applications that respond in real time but work with lots of data. Cloud computing offers highly-available large datasets.Parallel Batch Processing: “Cost Associativity” – Many systems for a short time. Washington Post used 200EC2 instances to process 17,481 pages of Hillary Clinton’s travel documents within 9 hours of their release.Rise of Analytics: Again, “Cost Associativity” – Many systems for a short time. Compute intensive data analysis which may be parallelized.Compute Intensive Desktop Apps: For example, symbolic mathematics requires lots of computing per unit of data. Cost efficient to push the data to the cloud for computation
  • 29.
    IntroductionUC Berkeley: Abovethe Clouds1) Executive Summary2) Cloud Computing: an Old Idea Whose Time Has (Finally) Come3) What Is Cloud Computing?4) Clouds in a Perfect Storm: Why Now, Not Then?5) Classes of Utility Computing6) Cloud Computing Economics7) Top 10 Obstacles and Opportunities for Could Computing8) Conclusions and Questions about the Cloud of TomorrowPat’s Additional ThoughtsConclusionOutline
  • 30.
    A Spectrum ofApplication ModelsConstraints in the App Model Automated Management ServicesMore ConstrainedLess ConstrainedMore AutomationLess AutomationMicrosoft Azure.NET CLR/Windows OnlyChoice of LanguageSome Auto Failover/ Scale (but needs declarative application properties)Google App EngineTraditional Web AppsAuto Scaling/ProvisioningAmazon AWSVMs Look Like HardwareNo Limit on App ModelUser Must Implement Scalability and FailoverForce.ComSalesForce Biz AppsAuto Scaling/ProvisioningWhich Model Will Dominate??High-Level Languages and Frameworks Can Be Built on Lower-LevelAnalogy: Programming Languages and Frameworks Low-Level Languages (C/C++) Allow Fine-Grained Control
  • 31.
    Buildinga Web App in C++ Is a Lot of Cumbersome Work
  • 32.
    Ruby-on-RailsHides the Mechanics but Only If You Follow Request/Response and Ruby’s AbstractionsMore-Constrained Clouds May Be Built on Less-Constrained Ones
  • 33.
  • 34.
    IntroductionUC Berkeley: Abovethe Clouds1) Executive Summary2) Cloud Computing: an Old Idea Whose Time Has (Finally) Come3) What Is Cloud Computing?4) Clouds in a Perfect Storm: Why Now, Not Then?5) Classes of Utility Computing6) Cloud Computing Economics7) Top 10 Obstacles and Opportunities for Could Computing8) Conclusions and Questions about the Cloud of TomorrowPat’s Additional ThoughtsConclusionOutline
  • 35.
    An Overview ofthe Economic ShiftObservations about Cloud Computing Economic ModelsFine-Grain and Elastic Economic ModelsHardware Declines at Variable RatesConsider Average Utilization and PeaksCosts Continue to DropPredicting Application Growth HardTradeoff Decisions Are More FluidRate of Decline Varies (e.g. Net vs. Store)In-House, You Must Provision for PeakInvestment Risks May Be ReducedCloud Computing Will Track Changes Better than In-HouseSpikes Are Very ExpensiveThis Section Will Examine These Economic Issues in More Depth
  • 36.
    Elasticity of Resourcesin Cloud ComputingCloud Computing: Add or Remove Resources as NeededIn Amazon’s EC2, One Server at a Time  Lead Time a Few Mins.Real World Server Utilization Is 5% to 20%Many Services Peak Exceeds Average by a Factor of 2 to 10Most Provision for PeakPainful to Under-Provision (Lost Customers)Provisioning for PeakWithout Elasticity, We Waste Resources(Shaded Areas)During Non-Peak Times
  • 37.
    Elasticity: Do theMath!!Example: ElasticityAssume Our Service:Peaks at 500 Servers at NoonTrough Requires 100 Servers at MidnightAverage Utilization Is 300 ServersActual Utilization:Pay as You Go Break-Even Point300 × 24 = 7200Server Hours / Day12000 = 7200 × 1.667 ProvisionedResources:Cheaper When Pay as You Go Servers Are Less than 1.667 Times Purchased Servers500 × 24 = 12000Servers Hours / DayElasticity May Be More Cost-Effective Even with a Higher Per-Hour Charge!This Example Underestimates the Benefits of ElasticitySeasonal Demands Require Significant Provisioning Takes Weeks to Acquire and Install EquipmentE-Commerce Peaks DecemberPhoto-Sharing Peaks January
  • 38.
    Elasticity: Risks ofUnder-ProvisioningUnder-Provisioning #1Potential Revenue (Shaded Area) Is SacrificedUnder-Provisioning #2Some Users Respond to Under-Provisioning by Permanently Deserting the Site... Bad for Revenue!
  • 39.
    Shifting Risk tothe Cloud ProviderExample #1: AnimotoWhen Launched Surged from 50 Servers to 3500 in 3 DaysTraffic Doubled Every Twelve Hours for Three DaysAfter Peak, Traffic Fell to Well Below the PeakExample #2: Target.ComLarge Retailer – ECommerce Site Run by AmazonBlack Friday (Nov 28th, 2008) – Many ECommerce Sites FailedTarget and Amazon Slower by Only About 50%Cloud Computing Transfers Many Risks to the Cloud ProviderAssuming These Risks Allows the Cloud Provider to Change More – This Is OK!UserHourscloud× (revenue – Costcloud) ≥UserHoursdatacenter× (revenue – )CostdatacenterUtilizationOver/Under Provisioning Affects the Datacenter Utilization Which Affects Cost Tradeoffs
  • 40.
    My Favorite QueuingTheory EquationExpectedResponseTimeMinimum Response Time1 - Utilization=How Long Does the Work Take on an Empty System?Consider a 90% Busy ServerWhen the Server Is Busy, Expect It to Take LongerAnswer Taking Too Long??Expect 10 Times the MinimumLighten the Load!Some Other ExamplesThat’s the Minimum Response TimeThe Work Needs to Fit in the Slack99% Utilization: 100 Times Min50% Utilization: Twice Min20% Util: (1/.8) = 1.25 Times Min It Is Unrealistic to Run a System or Datacenter Above 60% - 80% Utilized !
  • 41.
    One More Lookat the Cost ModelHow Much You Make Total in a “Pay as You Go” CloudHow Much You Make Per User Hour in a “Pay as You Go” CloudThe Compute Cost of the Work in a DatacenterBut You Pay for the Whole Datacenter Even When It Is Underutilized!UserHourscloud× (revenue – Costcloud) ≥UserHoursdatacenter× (revenue – )Utilization Assumptions Make a Big Difference in the Costs of Cloud versus Datacenter!How Much You Make Total in a Datacenter Implementation of Your AppCostdatacenterUtilizationHave to Increase the Charge for the Work You Do to Make Up for Underutilization
  • 42.
    Comparing Costs: ShouldI Move to the Cloud?In 2003, Jim Gray Calculated What $1 PurchasedHow Much Disk for $1?How Much CPU for $1?How Much Network for $1?
  • 43.
    Costs of Computing:On-Premise versus the CloudPower, Cooling, & Physical Plant CostOperations CostIt Appears AWS Is a Bad Deal Compared to Buying Your Computing the “Old Fashioned” WayPay Separatelyper ResourceHardware Ops Cheap Today: Simple TasksPower, Cooling, etc Cost as Much as the Computers!!Most Apps Are Not Balanced in Resource UseSoftware Ops: Patching, Upgrades May Remain…May Use More or Less CPU, Disk, or NetworkBundled in the Cloud Costs, Not in Classic DatacenterSide Note: AWS Bandwidth Cheaper than Most Can Buy!Ops Burden Depends on Level of Virtualization!Figures Above Not Fair to the Cloud!Separate Charges May Be Better
  • 44.
    Cloud Is MostlyDriven by MoneyEconomics of Cloud Computing Are Very Attractive to Some UsersCloud Computing Will Track Cost Changes Better than In-HousePredicting Application Growth HardInvestment Risks May Be ReducedIn-House, You Must Provision for Peak
  • 45.
    IntroductionUC Berkeley: Abovethe Clouds1) Executive Summary2) Cloud Computing: an Old Idea Whose Time Has (Finally) Come3) What Is Cloud Computing?4) Clouds in a Perfect Storm: Why Now, Not Then?5) Classes of Utility Computing6) Cloud Computing Economics7) Top 10 Obstacles and Opportunities for Could Computing8) Conclusions and Questions about the Cloud of TomorrowPat’s Additional ThoughtsConclusionOutline
  • 46.
    Top 10 Obstaclesand Opportunities
  • 47.
    Organizations Worry: WillCloud Computing Be Highly Available?Existing Web & SaaS Offerings (e.g. MSN, Google, Amazon) Set a High BarExpectations Often Exceed what Enterprise-IT Can OfferOutages in Cloud Infrastructure Get Lots of PressEnterprises Are Reluctant to Put Applications in the Cloud without Business Continuity PlansAnother Obstacle Is DDOS (Distributed Denial of Service) Attack:Criminals Threaten to Cut Off SaaS Providers by Swamping ThemAttacks Typically Use “BotNets” – Rent Simulated Users for 3 cents/weekCloud Computing Allows a Defense through Quick Scale-Up#1 Obstacle: Availability of a Service
  • 48.
    #2 Obstacle: DataLock-InCloud Storage Providers (So Far) Have Distinct APIsDifficult (Impractical) to Store Data in Multiple Cloud ProvidersUsers Must Trust Their Cloud Providers Not to Lose DataCloud Users Vulnerable to Price IncreasesRichard Stallman Warned of ThisStandardizing APIs Gives SaaS Programmer PortabilitySome Argue May Lead to Commoditization of Cloud ProvidersUC Berkeley Thinks This Is UnlikelyQuality of Cloud Providers Can Be a DifferentiatorStandard APIs Allow “Surge Computing”: On-Premise plus CloudSqueeze Their Profits!
  • 49.
    #3 Obstacle: DataConfidentiality and Auditability“My sensitive corporate data will never be in the cloud!”Current Clouds Are Essentially Public Networks Auditability Is RequiredSarbanes-OxleyThey Are Exposed to More AttacksHIPAABerkeley Believes There Are No Fundamental Obstacles to Making Cloud Computing as Secure as Most In-House ITEncrypted StorageNetwork Middleboxes (Firewalls, Packet Filters)Virtual LANsEncrypted Data in the Cloud Is Likely More Secure than Unencrypted Data on PremisesMaybe: Cloud Provided AuditabilityConcerns over National BoundariesMore Focus on Virtual Capabilities…USA PATRIOT Act Gives Some Europeans Worries over SaaS in the USAAuditing Below VMsForeign SubpoenasMaybe More Tamper ResistantBlind Subpoenas
  • 50.
    #4 Obstacle: DataTransfer BottlenecksProblem: At $100 to $150 per Terabyte Transferred, Data Placement and Movement Is an IssueOpportunity-1: Sneaker-NetJim Gray Found Cheapest Transfer Was FedEx-ing Disks1 Data Failure in 400 AttemptsOpportunity-2: Keep Data in CloudIf the Data Is in the Cloud, Transfer Doesn’t CostAmazon Hosting Large DataE.g. US CensusFree on S3; Free on EC2Entice EC2 BusinessOpportunity-3: Cheaper WANHigh-End Routers Are a Big Part of the Cost of Data TransferResearch into Routing using Cheap Commodity ComputersExample: Ship 10TB from UC Berkeley to Amazon-- WAN: S3 < 20Mbits/sec: 10TB  4Mil Seconds  > 45 Days $1000 in AMZN Net Fees-- FedEx: Ten 1TB Disks via Overnight Shipping < 1 Day to Write 10TB to Disks Locally Cost ≈ $400 Effective BW of 1500Mbits/Sec “NetFlix for Cloud Computing”
  • 51.
    #5 Obstacle: PerformanceUnpredictabilityWhen Does Sharing Cause Problems with Performance?Sharing CPU and Main Memory Seems to Work WellSharing I/O Seems to Cause Problems SometimesOpportunities:Improve Architectures and OSes to Efficiently Virtualize Interrupts and I/O-ChannelsHope  IBM Mainframes in the 1980s Did ThisFlash Memory May Decrease I/O InterferenceScheduling Parallel Batch OperationsVirtualizing High Performance Computing Is a Problem:Parallel Execution Is Slow when the Communicating Processes Are Virtual (and Not Always Running)Opportunity:Something Like “Gang Scheduling” for Cloud Computing
  • 52.
    Obstacles #6, #7,#8, & #9Obstacle # 6: Scalable StorageNeed Storage that Can Scale-Up and Scale-DownIt Is Not Completely Obvious the Storage Semantics RequiredLots of Active Research and Development HereObstacle #7: Bugs in Large-Scale Distributed SystemsTough to Debug Very Large Distributed SystemsCommon to Have Bugs Only Appear in Bug DeploymentsCan Tracing/Debugging Information Be Captured by VM Environment?Obstacle #8: Scaling QuicklyNeed to Scale-Up and Scale-Down ComputationObstacle #9: Reputation Fate SharingCreate Reputation-Guarding Services (like “Trusted Email”)What about Transfer of Legal Liability?Is Amazon Liable If an EC2 App Sends Spam?
  • 53.
    #10 Obstacle: SoftwareLicensingSoftware Licenses Typically Restrict which Computers May Use the SoftwareUsers Pay for Software and then Annual Maintenance FeesSAP & Oracle Charge 22% of Purchase per AnnumMany Cloud Providers Used Only Open Source Software because the Licensing Model Is a Poor Fit for Cloud ComputingOpportunity: Open Source vs. Changes to LicensesMSFT and AMZN Now Offer Pay-As-You-Go Licenses for Windows and SQL Server on EC2EC2 on Windows  15 cents/hourEC2 on Linux  10 cents/hourObstacle: Encourage Software Sales for the CloudAwkward with Quarterly Sales TrackingOpportunity: Cloud Providers Offer Bulk Prepaid PlansE.g. Oracle Sells 100,000 Instance Hours for the Cloud
  • 54.
    IntroductionUC Berkeley: Abovethe Clouds1) Executive Summary2) Cloud Computing: an Old Idea Whose Time Has (Finally) Come3) What Is Cloud Computing?4) Clouds in a Perfect Storm: Why Now, Not Then?5) Classes of Utility Computing6) Cloud Computing Economics7) Top 10 Obstacles and Opportunities for Could Computing8) Conclusions and Questions about the Cloud of TomorrowPat’s Additional ThoughtsConclusionOutline
  • 55.
    Conclusions and Questionsabout the Cloud of TomorrowUtility Computing: It’s Happening!Grow and Shrink on DemandPay-As-You-GoCloud Provider’s ViewHuge Datacenters Opened Economies and PossibilitiesCloud User’s ViewStartups Don’t Need DatacentersEstablished Organizations Leverage ElasticityUC Berkeley Has Extensively Leveraged Elasticity to Meet DeadlinesCloud Computing: High-Margin or Low-Margin Business?Potential Cost Factor of 5-7XToday’s Cloud Providers Had Big Datacenter Infrastructure AnywayImplications of Cloud:Application Software: Scale-Up and Down Rapidly; Client and CloudInfrastructure Software: Runs on VMs; Has Built-in BillingHardware Systems: Huge Scale; Container-Based; Energy Proportional
  • 56.
    Trends in CloudComputingChanges in Technology and Prices Over TimeWhat Will the Billing Units Be for Higher-Level Cloud Offerings?What Will the Billing Units for Flash BeClearly, Cores per Chip Will Increase, Doubling Each 2-4 YearsHow Will the Prices of the Resources Change Over Time?Will Network Bandwidth Prices Drop? What Will Cause That?What Will Be the Impact of Flash Memory? How Will It Be Priced?Virtualization LevelLow-Level VMs (Amazon EC2),Intermediate-Level (MSFT Azure), orHigh-Level Framework (Google AppEngine) ?Will There Be a Single Standard API?Will a Standard API Lead to a “Race-to-the-Bottom” Commoditization?Will There Be Many Virtualization Levels for Different Apps?Will Commoditization Drive Away Cloud Providers???
  • 57.
    OutlineIntroductionUC Berkeley: Abovethe CloudsPat’s Additional ThoughtsConclusion
  • 58.
    Some Additional ThoughtsScalableInfrastructure versus Scalable ApplicationsScalable Infrastructure: Can Run Many Applications Each of Which Is SmallScalable Application: A Single Application that Support Lots of Users/WorkMicrosoft’s New SDS OfferingOffers SQL “in the Cloud”Scalable Infrastructure Supporting Non-Scalable ApplicationsExcellent Product Offering – Very Much in Demand for the CloudWe Will Still Need to Work on Scalable Applications, TooThe "Open Cloud Manifesto“ (Spring 2009)Lots of Fuss This Week – IBM Led Declaration of Openness for the CloudSupport Quickly Waned Due to Lack of Open Discussion – May Come BackNone of the Major Cloud Providers (Amazon, Google, Salesforce, Microsoft) Were Shown the Manifesto until Shortly before AnnouncementPushing for Standardized APIsArguably Premature – See Motivations Above
  • 59.
    OutlineIntroductionUC Berkeley: Abovethe CloudsPat’s Additional ThoughtsConclusion
  • 60.
    TakeawaysCloud Computing: AppsDelivered as Services over the Internet and the Datacenter Hardware and Software Providing ThemSoftware as a Service: Application Services Delivered over the InternetUtility Computing: Virtualized Hardware and Compute Resources Delivered over the InternetThe Economics Are Changing towards Cloud ComputingBig Datacenters Offer Big Economies of ScaleCloud Computing Transfers Risks Away from the Application ProvidersThe Application Model for Cloud Computing Is EvolvingAdvantages to Being “Close to the Metal” versus Advantages to Higher LevelApplications Typically Cannot Port TransparentlyJust Because the Infrastructure Is Scalable Doesn’t Mean the App Is!!There Are Many Obstacles to Ubiquitous Cloud ComputingTechnical Obstacles to Adoption and GrowthPolicy and Business Obstacles to AdoptionThe Economic Forces Will Dominate the ObstaclesThere’s Too Much to Gain… It Will Grow!