<
slanted W3C logo








Cloud Computing - What Is It (Good For)?

Jon Kuroda
UC Berkeley EECS
Reliable Adaptive Distributed Systems Laboratory
20 July 2010

Hit the space bar for next slide

For Those Playing the Home Version

You can follow along at

http://www.eecs.berkeley.edu/~jkuroda/talks/clouds/

Left/Right arrows, page up/down, clicking, and space bar

What I Will (try to) Tell You

General Background

All Hype?

If you ask one notable industry personality, this is all just more marketing hype and buzzwords …


“...we've redefined Cloud Computing to include everything that we already do... I donʼt understand what we would do differently ... other than change the wording of some of our ads.”
--Oracle CEO Larry Ellison, Sept. 2008

There is a lot of hype, but we're here to cut through all that.

Definitions

Defining SaaS

Google Apps • Gmail for business/education (Part of Google Apps)
SalesForce (CRM) • even CalMail at UC Berkeley
Also, various Payroll services • even Bill Payment services

In some cases, applications are “just outsourced”, but some apps, like CRM for sales/support/marketing need to be mobile but also need to have a safe haven for various customer/client data - they couldn’t really exist as traditional apps.

Defining Utility Computing

Amazon EC2/AWSMicrosoft Azure3tera
Google AppEngineForce.comCloudera

Utility Computing provides the base on top of which various Software Services can be built and provided.

Defining Clouds

So What is Cloud Computing?

It is the combination of Public Clouds providing the service called Utility Computing on top of which various Software Services (Software as a Service) are built and deployed.

Someone (“Cloud Provider”) builds a Cloud (a whole other talk) to provide Utility Computing.

Customers (“Cloud Users”) build their own application on top of Cloud(s) to provide Software as a Service (SaaS) to end-users.

Defining “The Cloud”

Originated with the use of a drawing of a cloud to represent the telephone system and later network systems such as the Internet. Now a vague term used to abstract away any “complex system that takes care of something for me.”

I’ll use it here to mean “in the context of Cloud Computing”.

Where did all this come from?

What made all these old ideas possible in their present form?

Not All Clouds Are Alike

Cloud Econ - Provisioning

Cloud Econ - When Is DIY Cheaper?

Benefits to Cloud Provider Utilize off-peak capacity, Sell SW (.NET), Defend a franchise, reuse existing infrastructure

Cloud Econ - Economies of Scale

Massive Economies of Scale - 5-7x factor [Hamilton 2008]

ResourceCost in Med DCCost in
Very Large DC
Ratio
Storage$2.20/GB-month$0.40/GB-month5.7x
Network$95/Mbps-month$13/Mbps-month7.1x
Staff~140 servers/admin~1000 servers/admin7.1x

Cloud Econ - Location = Power

10,000 systems need a lot of power

$/KWHWherePossible Reasons Why
3.6¢ID Hydroelectric power; not sent long distance
10.0¢CA Electricity transmitted long distance over the grid; limited transmission lines in Bay Area; no coal fired electricity allowed in California.
18.0¢HI Must ship fuel to generate electricity
[Source: DOE]

Cloud Econ - Cap/Op Ex

“But what about Capital versus Operational Expenses!!??”

We get this one a lot

Cloud Econ - Risk Transfer

Cool! What else works there?

What else makes sense or are compelling?

What doesn’t work so well … yet

Challenges and Opportunities

ChallengeOpportunity
AvailabilityMultiple providers & DCs
Data lock-inStandardization
Data Confidentiality and AuditabilityEncryption, VLANs, Firewalls; Geographical Data Storage
Data transfer bottlenecks FedEx-ing disks, Data Backup/Archival
Performance unpredictability Improved VM support, flash memory, scheduling VMs
Scalable storage Invent scalable store - much work done in this area
Bugs in large distributed systems Invent Debugger that relies on Distributed VMs
Scaling quickly Invent Auto-Scaler that relies on ML; Snapshots
Reputation Fate Sharing Offer reputation-guarding services like those for email
Software Licensing Pay-for-use licenses; Bulk use sales

Should I “Cloudify”

There are few parts to that question:

Building Clouds - Private versus Public

Benefit Public Private
Economy of scale Yes No
Illusion of infinite resources on-demand Yes Unlikely
Eliminate up-front commitment by users (1) Yes No
True fine-grained pay-as-you-go (2) Yes ??
Better utilization (workload multiplexing) Yes Depends on size (2)
Better utilization & simplified operations through virtualization Yes Yes
  1. Doesn't factor in NRE costs to get app cloud-ified
  2. Implies ability to meter & incentive to release idle resources

Should I build a Cloud?

Surge Computing

In the Cloud, best practices are critical

Bottom Line - all those things we should do in our own shops but don’t always do - we need to do them when we move our data into the cloud.

Real Life Experiences - Research

Results - Research

Obstacles Encountered

Education in the Cloud

Possibilities for Education

Summary - What’s new?

Summary - Obstacles

Summary - Cloudifying

Conclusions

Resources