53
1 Above the Clouds: a Berkeley View of Cloud Computing Presented by: Pat Helland Partner 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!

Above The Clouds

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!

2

Outline

Introduction

UC Berkeley: Above the Clouds

Pat’s Additional Thoughts

Conclusion

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???

50

Outline

Introduction

UC Berkeley: Above the Clouds

Pat’s Additional Thoughts

Conclusion

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

52

Outline

Introduction

UC Berkeley: Above the Clouds

Pat’s Additional Thoughts

Conclusion

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!