Upload
steve-clayton
View
2.989
Download
7
Embed Size (px)
DESCRIPTION
Pat Helland's "book review" of the Above the Clouds: a Berkeley View of Cloud Computing paper. As Pat says "If you are interested in cloud computing, you want to understand these ideas"
Citation preview
1
Above the Clouds: a Berkeley View of Cloud ComputingPresented by:
Pat HellandPartner Architect (SQL SIA)
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!
Kinda’ Like a Book Report!
3
Cool Paper Published on February 10, 2009
The UC Berkeley RAD Lab
These People Wrote the Paper
I Simply Summarized It in
This Presentation!
Berkeley RAD Lab(Reliable Adaptive Distributed Systems)
RAD Lab Professors include:Armando Fox, Michael Jordan, Anthony Joseph,
Ion Stoica, Randy Katz, and Dave Patterson
4
Over 25 Years Working in Distributed ComputingTandem Computers
(1982-1990)
Message Based Multiprocessor
WAN Distributed DB
Chief Architect: Fault-Tolerant TX Platform
My Experiences with “Cloud Computing”
HaL Computers(1991-1994)
Chief Architect:Cache-Coherent
Non-Uniform Memory Arch
Multi-Processor
Microsoft(1994-2005 and 2007-Present)
Microsoft Transaction Server (MTS):Transactional RPC and N-Tier Apps
Distributed Transaction Coordinator
SQL Service Broker
Service Oriented Architectures (SOA)
2 Years at Amazon (2005-2007)Worked to Make
Software Accept Low Availability Datacenters
Worked On Product Catalog: 10s of Millions of Product Descriptions
Saw “Cloud Computing” Firsthand
Extensive Monitoring
Drive to Commonality
Drive to Commodity
Internals of AWS
Multiple Datacenters
Pressure on Availability
Creation of Dynamo
Cost Pressure on Services…
5
OutlineIntroduction
UC Berkeley: Above the Clouds1) Executive Summary
2) Cloud Computing: an Old Idea Whose Time Has (Finally) Come
3) What Is Cloud Computing?
4) Clouds in a Perfect Storm: Why Now, Not Then?
5) Classes of Utility Computing
6) Cloud Computing Economics
7) Top 10 Obstacles and Opportunities for Could Computing
8) Conclusions and Questions about the Cloud of Tomorrow
Pat’s Additional Thoughts
Conclusion
6
What Is Cloud Computing?Cloud Computing: App and Infrastructure over Internet
Software as a Service: Applications over the Internet
Utility Computing: “Pay-as-You-Go” Datacenter Hardware and Software
Three New Aspects to Cloud Computing
The Illusion of Infinite Computing Resources Available on Demand
The Elimination of an Upfront Commitment by Cloud Users
The Ability to Pay for Use of Computing Resources on a Short-Term Basis as Needed
7
Economies of Scale and App ModelEconomies of Scale for Humongous Datacenters
5 to 7 Times Reduction in the Cost of Computing…
Electricity
Put Datacenters at Cheap Power
Network
Put Datacenters on Main Trunks
Operations
Standardize and Automate Ops
Hardware
Containerized Low-Cost Servers
App Model for Utility ComputingSomething
New???
???
???
Amazon EC2
Close to Physical Hardware
User Controls Most of Stack
Hard to Auto Scale and Failover
Windows Azure
.NET and CLR… ASP.NET Support
More Constraints on User Stack
Auto Provisioning of Stateless App
Google AppEngineApp Specific Traditional
Web App Model
Constrained Stateless/Stateful Tiers
Auto Scaling and Auto High-Availability
Constraints on App Model Offer Tradeoffs… Lots of Ongoing Innovation…
8
Obstacles and OpportunitiesObstacle Opportunity
1 Availability of Service Use Multiple Cloud Providers; Use Elasticity to Prevent DDOS
2 Data Lock-In Standardized APIs; Compatible Software to Enable Surge Computing
3 Data Confidentiality and Auditability
Deploy Encryption, VLANs, Firewalls; Geographical Data Storage
4 Data Transfer Bottlenecks FedExing Disks; Data Backup/Archival; Higher Bandwidth Switches
5 Performance Unpredictability Improved VM Support; Flash Memory; Gang Scheduling VMs
6 Scalable Storage Invent Scalable Store
7 Bugs in Large Distributed Systems Invent Debugger that Relies on Dist VMs
8 Scaling quickly Auto-Scaler; Snaphots for Conservation
9 Reputation Fate Sharing Reputation Guarding Services
10 Software Licensing Pay-for-Use Licenses; Bulk Use Sales
9
Elasticity, Risk, and User IncentivesServices Will Prefer Utility Computing to a Private Cloud When:
Demand Varies over Time
Provisioning for Peak Leads to Underutilization at Other Times
Pay by the Hour(Even if the Hourly Rate is Higher)
Demand Unknown in Advance
Web Startup May Experience a Huge Spike If It Becomes Popular
Pay as You Go Does Not Require Commitment in Advance
The Value of Cost Associativity
UserHourscloud × (revenue – Costcloud) ≥
UserHoursdatacenter × (revenue – )Costdatacenter
Utilization
10
OutlineIntroduction
UC Berkeley: Above the Clouds1) Executive Summary
2) Cloud Computing: an Old Idea Whose Time Has (Finally) Come
3) What Is Cloud Computing?
4) Clouds in a Perfect Storm: Why Now, Not Then?
5) Classes of Utility Computing
6) Cloud Computing Economics
7) Top 10 Obstacles and Opportunities for Could Computing
8) Conclusions and Questions about the Cloud of Tomorrow
Pat’s Additional Thoughts
Conclusion
11
The Dream of Cloud Computing
Semiconductor Fabs ExpensiveTypically > $1 BillionToo Much for Most Designers
Fabs Take Outside WorkFabs Amortize Cost Other Designers Make Chips
Allowed Explosion of DesignsMore Players Afford Rented Fab
New Datacenters Very ExpensiveOnly a Few Companies Can Afford Huge Datacenters
Utility Computing Datacenter Owners Amortize Costs
Utility Computing Users Get Advantages of ElasticityDatacenter Resources Shared Across Many Users
Utility ComputingIntegrated CircuitFoundries
12
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, 2008
A 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, 2008
It’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
13
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 & Opportunities
Paper Shaped by:• Working Since 2005 in RAD Lab• Users of Amazon AWS for 1 Year• 6 Months Brainstorming about Cloud
Questions to Answer: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?
What Does It Take to Be a Cloud Provider? Why Would You Do It?
What New Opportunities Are Enabled by or Potential Drivers of Cloud?
What New Economic Models Are Enabled by Cloud? How Can a Service
Operator Decide for/against Cloud?
How Can We Classify Cloud Computing Offerings? What Challenges Differ?
What Are Top 10 Obstacles to Cloud?What Opportunities Overcome Them?
What Changes Are Needed for Future Apps, Infrastructure, and Hardware?
14
OutlineIntroduction
UC Berkeley: Above the Clouds1) Executive Summary
2) Cloud Computing: an Old Idea Whose Time Has (Finally) Come
3) What Is Cloud Computing?
4) Clouds in a Perfect Storm: Why Now, Not Then?
5) Classes of Utility Computing
6) Cloud Computing Economics
7) Top 10 Obstacles and Opportunities for Could Computing
8) Conclusions and Questions about the Cloud of Tomorrow
Pat’s Additional Thoughts
Conclusion
15
Utilities, Services, & Clouds: Oh, My!!Cloud Computing: Apps Delivered as Services over the Internet and the Datacenter Hardware and Software Providing Them
Software as a Service: Application Services Delivered over the InternetUtility Computing: Virtualized Hardware and Compute Resources Delivered over the Internet
Current Examples of Utility Computing
Amazon Web ServicesMicrosoft AzureGoogle’s AppEngine
Advantages of SaaS:Service Providers Have SimplifiedSoftware Installation, Maintenance,and Centralized VersioningEnd Users Access “Anywhere, Anytime”, Share Data, Store Data Safely
Cloud Computing Allows Deploying Software as a Service– and Scaling on Demand –
without Building or Provisioning a Datacenter
16
The New Perspective of Hardware Resources3 New Aspects to Cloud Computing
The Illusion of Infinite Computing Resources Available on Demand
The Elimination of an Upfront Commitment by Cloud Users
Pay for Use of Computing Resources on a Short-Term Basis as Needed
All 3 Aspect Are Required to Succeed
Failed Example: Intel Computing Services
Required Negotiating a Contract and Longer Term Use than Per-Hour
Successful Example: Amazon Web Services
1.0-GHz X86 “Slices” for 10 Cents/Hour
Can Add New “Slice” in 2 to 5 Minutes
The Cloud Providers Big Bet:Multiple Instances (“Slices”) Can Be Statistically Multiplexed onto a Single Box
Each Rented Instance Will Not Interfere with Other User’s Usage
17
Power and Cooling Is Expensive!
Belady, C., “In the Data Center, Power and Cooling Costs More than IT Equipment it Supports”, Electronics Cooling Magazine (Feb 2007)
The Infrastructure for Power and Cooling Costs a LOT
Infrastructure PLUS Energy > Server Cost Since 2001
Infrastructure Alone > Server Cost Since 2004
Energy Alone > Server Cost Since 2008
Cost Effective to Discard Inefficient ServersPower Savings Infrastructure Savings!
Like Airlines Retiring Fuel-Guzzling Airplanes
18
Location and Scale: It’s Easier to Ship Data than Power!
Datacenters Are Popping Up in Surprising PlacesQuincy, WA
Google, Microsoft, Yahoo!, and Others…San Antonio, TX
Microsoft, US NSA, and Others…
Price per Kilo Watt Hour
Where? Possible Reason Why
3.6 cents Idaho Hydroelectric Power; Not Sent Long Distance10.0 cents California Electricity Transmitted Long Distance over the
Grid; Limited Transmission Lines in the Bay Area; No Coal Fired Electricity Allowed in California.
18.0 cents Hawaii Must Ship Fuel to Generate Electricity
19
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, Dynamo
Technology Cost in Medium-Sized DC Cost in Very Large DC Ratio
Network $95 per Mbit/sec/month $13 per Mbit/sec/Month 7.1
Storage $2.20 per GByte/month $0.40 per Gbyte/month 5.7
Administration ≈ 140 Servers / Administrator
> 1000 Servers / Administrator
7.1
James Hamilton, Internet Scale Service Efficiency, Large-Scale Distributed Systems and Middleware (LADIS) Workshop Sept‘08
Huge DCs 5-7X as Cost Effective as Medium-Scale DCs
20
Why Be a Cloud Provider?Make a Lot of
Money
Huge 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.
Defend a Franchise
What 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 Incumbent
A large company (with software & datacenter) will want a beachhead before someone else dominates in the cloud provider space.
Leverage Customer
Relationships
For 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 Platform Facebook offers plug-in apps. Google App-Engine…
Leverage Existing Investments
Web companies had to build software and datacenters anyway. Adding a new revenue stream at (hopefully) incremental cost.
21
OutlineIntroduction
UC Berkeley: Above the Clouds1) Executive Summary
2) Cloud Computing: an Old Idea Whose Time Has (Finally) Come
3) What Is Cloud Computing?
4) Clouds in a Perfect Storm: Why Now, Not Then?
5) Classes of Utility Computing
6) Cloud Computing Economics
7) Top 10 Obstacles and Opportunities for Could Computing
8) Conclusions and Questions about the Cloud of Tomorrow
Pat’s Additional Thoughts
Conclusion
22
New Technology Trends & Business Model
Web 2.0Low-Touch, Low-Margin,
Low-CommitmentCredit Cards: Use PayPal or Similar Provider. Customer Simply Needs a Credit Card
Content Distribution: Easily Configured Content Distribution
Using Amazon’s CloudFront
Ad Revenue: Easily Configured Ads for Web Pages
(e.g. Google AdSense)
Web 1.0High-Touch, High-Margin,
High-CommitmentCredit Cards: Contractual
Relationship with Payment Processing Service
Content Distribution: Establish Relationship with Content
Distribution Network like Akamai
Ad Revenue: Create Biz Relationship with Ad Placement
Company like DoubleClick
Amazon Web Services (Starting 2006)Pay-as-You-Go-Computing
No Contract
Start w/Credit Card
Hardware-Level VMs
Bring Your Own Software
Share Hardware/Low Cost
23
New Application OpportunitiesGray’s Observation: Jim Gray Looked at Trends in 2003 Wide-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
24
OutlineIntroduction
UC Berkeley: Above the Clouds1) Executive Summary
2) Cloud Computing: an Old Idea Whose Time Has (Finally) Come
3) What Is Cloud Computing?
4) Clouds in a Perfect Storm: Why Now, Not Then?
5) Classes of Utility Computing
6) Cloud Computing Economics
7) Top 10 Obstacles and Opportunities for Could Computing
8) Conclusions and Questions about the Cloud of Tomorrow
Pat’s Additional Thoughts
Conclusion
25
A Spectrum of Application Models
Microsoft Azure.NET CLR/Windows Only
Choice of LanguageSome Auto Failover/
Scale (but needs declarative application
properties)
Google App EngineTraditional Web Apps
Auto Scaling/Provisioning
Force.ComSalesForce Biz Apps
Auto Scaling/Provisioning
Amazon AWSVMs Look Like HardwareNo Limit on App ModelUser Must Implement Scalability and Failover
Constraints in the App Model More Constrained
Less Constrained
Automated Management Services More Automation
Less Automation
Which Model Will Dominate??Analogy: 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 Abstractions
High-Level Languages and Frameworks Can Be
Built on Lower-Level
More-Constrained Clouds May Be Built on Less-Constrained Ones
26
Vendors and Virtualized ResourcesAmazon Web Services Microsoft Azure Google AppEngine
Computa-tional Model
• x86 Instruction Set Arch- itecture (ISA) via Xen VM• Computational elasticity allows scale but developer must build machinery• 3rd Parties offer scale machinery
• MSFT CLR VM• Machines provisioned based on declarative descriptions (e.g. which roles can be replicated)• Auto Load Balancing
• Predefined app structure/framework• “Handlers” written in Python• State stored in MegaStore• Auto Scale Up/Down• Auto Failover
Storage Model
• Range of Models - Block Store (EBS) to - Key/Blob (SimpleDB)• Auto Scaling Varies• Consistency Varies
• SQL Data Services - Restricted View of SQL Server• Azure Storage Services
• MegaStore/ BigTable
Networking Model
• Declarative specification of IP-level topology• Security Zones• Availability Zones• Elastic IP addresses
• Automatic networking based on programmer’s descriptions of app roles
• App sees fixed 3-tier topology for web app• Scale-up/scale-down are automatic andprogrammer-invisible
27
OutlineIntroduction
UC Berkeley: Above the Clouds1) Executive Summary
2) Cloud Computing: an Old Idea Whose Time Has (Finally) Come
3) What Is Cloud Computing?
4) Clouds in a Perfect Storm: Why Now, Not Then?
5) Classes of Utility Computing
6) Cloud Computing Economics
7) Top 10 Obstacles and Opportunities for Could Computing
8) Conclusions and Questions about the Cloud of Tomorrow
Pat’s Additional Thoughts
Conclusion
28
Observations about Cloud Computing Economic Models
An Overview of the Economic Shift
Fine-Grain and Elastic Economic Models
Tradeoff Decisions Are More Fluid
Investment Risks May Be Reduced
Hardware Declines at Variable Rates
Costs Continue to Drop
Rate of Decline Varies (e.g. Net vs. Store)
Cloud Computing Will Track Changes Better
than In-House
Consider Average Utilization and Peaks
Predicting Application Growth Hard
In-House, You Must Provision for Peak
Spikes Are Very Expensive
This Section Will Examine These Economic Issues in More Depth
29
Elasticity of Resources in Cloud Computing
Cloud 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
30
Elasticity: Do the Math!!Example: Elasticity
Assume Our Service:
Peaks at 500 Servers at Noon
Trough Requires 100 Servers at Midnight
Average Utilization Is 300 Servers
Actual Utilization:
300 × 24 = 7200Server Hours / Day
ProvisionedResources:
500 × 24 = 12000Servers Hours / Day
Pay as You Go Break-Even Point
12000 = 7200 × 1.667
Cheaper When Pay as You Go Servers Are Less than 1.667 Times Purchased Servers
Elasticity May Be More Cost-Effective Even with a Higher Per-Hour Charge!
This Example Underestimates the Benefits of ElasticitySeasonal Demands Require
Significant Provisioning
E-Commerce Peaks December
Photo-Sharing Peaks January
Takes Weeks to Acquire and Install Equipment
31
Elasticity: Risks of Under-Provisioning
Under-Provisioning #1Potential Revenue (Shaded Area) Is
Sacrificed
Under-Provisioning #2Some Users Respond to Under-Provisioning by Permanently Deserting
the Site... Bad for Revenue!
32
Shifting Risk to the Cloud ProviderExample #1: Animoto
When Launched Surged from 50 Servers to 3500 in 3 DaysTraffic Doubled Every Twelve Hours for Three DaysAfter Peak, Traffic Fell to Well Below the Peak
Example #2: Target.Com Large 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 – )Costdatacenter
UtilizationOver/Under Provisioning Affects the Datacenter Utilization Which Affects Cost Tradeoffs
33
My Favorite Queuing Theory EquationExpectedResponse
Time= Minimum Response Time
1 - Utilization
How Long Does the Work Take on an Empty System?
That’s the Minimum Response Time
Consider a 90% Busy ServerExpect 10 Times the Minimum
When the Server Is Busy, Expect It to Take Longer
The Work Needs to Fit in the Slack
Some Other Examples99% Utilization: 100 Times Min
50% Utilization: Twice Min
20% Util: (1/.8) = 1.25 Times Min
Answer Taking Too Long??Lighten the Load!
It Is Unrealistic to Run a System or Datacenter Above 60% - 80% Utilized !
34
One More Look at the Cost Model
UserHourscloud × (revenue – Costcloud) ≥
UserHoursdatacenter × (revenue – )Costdatacenter
Utilization
How Much You Make Per User Hour in a
“Pay as You Go” Cloud
How Much You Make Total in a “Pay
as You Go” CloudThe Compute Cost
of the Work in a Datacenter
But You Pay for the Whole Datacenter Even When It Is
Underutilized!
Have to Increase the Charge for the Work You Do to Make
Up for Underutilization
How Much You Make Total in a Datacenter Implementation of
Your App
Utilization Assumptions Make a Big Difference in the Costs of Cloud versus Datacenter!
35
WAN BW / Mo CPU Hours (all cores) Disk Storage
Item in 2003 1 Mbps WAN 2 GHz CPU, 2GB DRAM 200 GB; 50 Mb/s
Cost in 2003 $100 / mo $2000 $200
$1 Buys in 2003 1 GB data moved 8 CPU Hours 1GB
Item in 2008 100 Mbps WAN 2 GHz, 2 Sockets, 4 Cores/Socket, 4 GB DRam
1 TB disk;115MB/s
Cost in 2008 $3600 / mo $1000 $100
$1 Buys in 2008 2.7 GB moved 128 CPU Hours 10 GB
Cost/Perf Improve 2.7X 16X 10X
Cost to Rent $1 on AWS in 2008
$0.27 - $0.40($0.10-$0.15/GB × 3GB)
$2.56(128 × 2 VM’s @ $0.10 each )
$1.20 - $1.50($0.12-$0.15/mo × 10GB)
Comparing Costs: Should I Move to the Cloud?
In 2003, Jim Gray Calculated What $1 Purchased
How Much CPU for $1?
How Much Disk for $1?
How Much Network for $1?
36
WAN BW / Mo CPU Hours (all cores) Disk Storage
Cost/Perf Improve 2.7X 16X 10XCost to Rent $1 on AWS in 2008
$0.27 - $0.40
($0.10-$0.15/GB × 3GB)
$2.56
(128 × 2 VM’s @ $0.10 each )
$1.20 - $1.50
($0.12-$0.15/mo × 10GB)
Costs of Computing: On-Premise versus the Cloud
It Appears AWS Is a Bad Deal Compared to Buying Your Computing
the “Old Fashioned” Way
Pay Separatelyper Resource
Most Apps Are Not Balanced in
Resource Use
Separate Charges May Be Better
May Use More or Less CPU, Disk, or
NetworkSide Note: AWS Bandwidth
Cheaper than Most Can Buy!
Power, Cooling, & Physical Plant CostPower, Cooling, etc
Cost as Much as the Computers!!
Bundled in the Cloud Costs, Not in Classic Datacenter
Figures Above Not Fair to the Cloud!
Operations CostHardware Ops Cheap Today: Simple Tasks
Software Ops: Patching, Upgrades
May Remain…
Ops Burden Depends on Level of Virtualization!
37
Cloud Is Mostly Driven by Money
Economics of Cloud Computing Are Very Attractive to Some Users
Cloud Computing Will Track Cost Changes
Better than In-House
Investment Risks May Be Reduced
Predicting Application Growth Hard
In-House, You Must Provision for Peak
38
OutlineIntroduction
UC Berkeley: Above the Clouds1) Executive Summary
2) Cloud Computing: an Old Idea Whose Time Has (Finally) Come
3) What Is Cloud Computing?
4) Clouds in a Perfect Storm: Why Now, Not Then?
5) Classes of Utility Computing
6) Cloud Computing Economics
7) Top 10 Obstacles and Opportunities for Could Computing
8) Conclusions and Questions about the Cloud of Tomorrow
Pat’s Additional Thoughts
Conclusion
39
Top 10 Obstacles and OpportunitiesObstacle Opportunity
1 Availability of Service Use Multiple Cloud Providers; Use Elasticity to Prevent DDOS
2 Data Lock-In Standardized APIs; Compatible Software to Enable Surge Computing
3 Data Confidentiality and Auditability
Deploy Encryption, VLANs, Firewalls; Geographical Data Storage
4 Data Transfer Bottlenecks FedExing Disks; Data Backup/Archival; Higher Bandwidth Switches
5 Performance Unpredictability Improved VM Support; Flash Memory; Gang Scheduling VMs
6 Scalable Storage Invent Scalable Store
7 Bugs in Large Distributed Systems Invent Debugger that Relies on Dist VMs
8 Scaling quickly Auto-Scaler; Snaphots for Conservation
9 Reputation Fate Sharing Reputation Guarding Services
10 Software Licensing Pay-for-Use Licenses; Bulk Use Sales
40
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 Offer
Outages in Cloud Infrastructure Get Lots of PressEnterprises Are Reluctant to Put Applications in the Cloud without Business Continuity Plans
Another 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/week
Cloud Computing Allows a Defense through Quick Scale-Up
Service and Outage Duration DateS3 Outage: Authentication Service Overload 2 hours 2/15/08
S3 Outage: Single Bit Error Leading to Gossip Protocol Blowup 6-8 hours 7/20/08
AppEngine Partial Outage: Programming Error 5 hours 6/17/08
Gmail: Site Unavailable Due to Outage in Contacts System 1.5 hours 8/11/08
#1 Obstacle: Availability of a Service
41
#2 Obstacle: Data Lock-InCloud Storage Providers (So Far) Have Distinct APIs
Difficult (Impractical) to Store Data in Multiple
Cloud Providers
Users Must Trust Their Cloud Providers Not to
Lose Data
Cloud Users Vulnerable to Price Increases
Richard Stallman Warned of This
Standardizing APIs Gives SaaS Programmer PortabilitySome Argue May Lead to Commoditization of
Cloud Providers
UC Berkeley Thinks This Is Unlikely
Squeeze Their Profits!
Quality of Cloud Providers Can Be a
Differentiator
Standard APIs Allow “Surge Computing”:
On-Premise plus Cloud
42
#3 Obstacle: Data Confidentiality and Auditability
“My sensitive corporate data will never be in the cloud!”Current Clouds Are Essentially Public
Networks They Are Exposed to More Attacks
Auditability Is Required
Sarbanes-Oxley
HIPAA
Berkeley Believes There Are No Fundamental Obstacles to Making Cloud Computing as Secure as Most In-House IT
Encrypted Storage Network Middleboxes (Firewalls, Packet Filters)Virtual LANsEncrypted Data in the Cloud Is Likely More Secure than Unencrypted Data on Premises
Maybe: Cloud Provided Auditability
Maybe More Tamper Resistant
Auditing Below VMs
More Focus on Virtual
Capabilities…
Concerns over National Boundaries
Blind Subpoenas
Foreign Subpoenas
USA PATRIOT Act Gives Some Europeans
Worries over SaaS in the USA
43
#4 Obstacle: Data Transfer Bottlenecks
Opportunity-1: Sneaker-NetJim Gray Found Cheapest Transfer Was FedEx-ing Disks
1 Data Failure in 400 Attempts
Opportunity-2: Keep Data in Cloud
If the Data Is in the Cloud, Transfer Doesn’t CostAmazon Hosting Large Data
E.g. US CensusFree on S3; Free on EC2Entice EC2 Business
Opportunity-3: Cheaper WANHigh-End Routers Are a Big Part of the Cost of Data TransferResearch into Routing using Cheap Commodity Computers
Problem: At $100 to $150 per Terabyte Transferred, Data Placement and Movement Is an Issue
Example: 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”
44
#5 Obstacle: Performance Unpredictability
When Does Sharing Cause Problems with Performance?Sharing CPU and Main Memory Seems to Work WellSharing I/O Seems to Cause Problems Sometimes
Opportunities:Improve Architectures and OSes to Efficiently Virtualize Interrupts and I/O-Channels
Hope IBM Mainframes in the 1980s Did ThisFlash Memory May Decrease I/O Interference
Scheduling 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
45
Obstacles #6, #7, #8, & #9
Obstacle # 6: Scalable StorageNeed Storage that Can Scale-Up and Scale-Down
It Is Not Completely Obvious the Storage Semantics RequiredLots of Active Research and Development Here
Obstacle #7: Bugs in Large-Scale Distributed SystemsTough to Debug Very Large Distributed Systems
Common 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 Computation
Obstacle #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?
46
#10 Obstacle: Software LicensingSoftware Licenses Typically Restrict which Computers May Use the Software
Users 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 Computing
Opportunity: Open Source vs. Changes to LicensesMSFT and AMZN Now Offer Pay-As-You-Go Licenses for Windows and SQL Server on EC2
EC2 on Windows 15 cents/hourEC2 on Linux 10 cents/hour
Obstacle: Encourage Software Sales for the CloudAwkward with Quarterly Sales Tracking
Opportunity: Cloud Providers Offer Bulk Prepaid PlansE.g. Oracle Sells 100,000 Instance Hours for the Cloud
47
OutlineIntroduction
UC Berkeley: Above the Clouds1) Executive Summary
2) Cloud Computing: an Old Idea Whose Time Has (Finally) Come
3) What Is Cloud Computing?
4) Clouds in a Perfect Storm: Why Now, Not Then?
5) Classes of Utility Computing
6) Cloud Computing Economics
7) Top 10 Obstacles and Opportunities for Could Computing
8) Conclusions and Questions about the Cloud of Tomorrow
Pat’s Additional Thoughts
Conclusion
48
Conclusions and Questions about the Cloud of Tomorrow
Utility Computing: It’s Happening!Grow and Shrink on DemandPay-As-You-Go
Cloud Provider’s ViewHuge Datacenters Opened Economies and Possibilities
Cloud User’s ViewStartups Don’t Need DatacentersEstablished Organizations Leverage ElasticityUC Berkeley Has Extensively Leveraged Elasticity to Meet Deadlines
Cloud Computing: High-Margin or Low-Margin Business?Potential Cost Factor of 5-7XToday’s Cloud Providers Had Big Datacenter Infrastructure Anyway
Implications 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
49
Trends in Cloud ComputingChanges in Technology and Prices Over Time
What Will the Billing Units Be for Higher-Level Cloud Offerings?
How Will the Prices of the Resources Change Over Time?
What Will Be the Impact of Flash Memory? How Will It Be Priced?
What Will the Billing Units for Flash Be
Clearly, Cores per Chip Will Increase, Doubling Each 2-4 Years
Will Network Bandwidth Prices Drop? What Will Cause That?
Virtualization LevelLow-Level VMs (Amazon EC2),
Intermediate-Level (MSFT Azure), orHigh-Level Framework (Google AppEngine) ?
Will There Be Many Virtualization Levels for Different Apps?
Will There Be a Single Standard API?
Will a Standard API Lead to a “Race-to-the-Bottom” Commoditization?
Will Commoditization Drive Away Cloud Providers???
51
Some Additional ThoughtsScalable Infrastructure versus Scalable Applications
Scalable Infrastructure: Can Run Many Applications Each of Which Is SmallScalable Application: A Single Application that Support Lots of Users/Work
Microsoft’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, Too
The "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 APIs
Arguably Premature – See Motivations Above
53
TakeawaysCloud Computing: Apps Delivered as Services over the Internet and the Datacenter Hardware and Software Providing Them
Software as a Service: Application Services Delivered over the InternetUtility Computing: Virtualized Hardware and Compute Resources Delivered over the Internet
The Economics Are Changing towards Cloud ComputingBig Datacenters Offer Big Economies of ScaleCloud Computing Transfers Risks Away from the Application Providers
The 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 Adoption
The Economic Forces Will Dominate the ObstaclesThere’s Too Much to Gain… It Will Grow!