55
From http://geekandpoke.typepad.com 1

s07-08

  • Upload
    rinky25

  • View
    360

  • Download
    0

Embed Size (px)

Citation preview

Page 1: s07-08

From http://geekandpoke.typepad.com 1

Page 2: s07-08

Cloud computing

Some material adapted from slides by Indranil Gupta, Jimmy Lim, Christophe Bisciglia, Aaron Kimball, & Sierra Michels-Slettvet, Google Distributed Computing Seminar, 2007 (licensed under Creation Commons Attribution 3.0 License)

Page 3: s07-08

Cloud computingThe three-tier architectural style &

Google AppEngine

3

Page 4: s07-08

Google App Engine(April 2008)

Microsoft Azure(Oct 2008)

Facebook Platform

(May 2007)

Amazon EC2(August 2006)

Amazon S3(March 2006)

SalesforceAppExchange(March 2006)

Grid computing

Virtualization

Cloud computing

Page 5: s07-08

5

Page 6: s07-08

Cloud Computin

g

* From http://en.wikipedia.org/wiki/Hype_cycle 6

Page 7: s07-08

7

Page 8: s07-08

What is Cloud Computing?

Page 9: s07-08

Source: http://www.free-pictures-photos.com/

Page 10: s07-08

10

Steady CAPEX spend

Global Annual Server Spending (IDC)

Source: IBM Corporate Strategy analysis of IDC data

Uncontrolled management and energy costs

To make progress, delivery organizations must address the server, storage and network operating cost problem, not just CAPEX

$0B

50

100

150

200

250

300

1996

1997

1998

1999

2000

2001

2002

2003

2004

2005

2006

2007

2008

2009

2010

New system spend Management and admin costsPower and cooling costs

A crisis of complexity. The need for progress is clear.

Page 11: s07-08

11

A new consumption and delivery model inspired by consumer Internet services.

Private, Public and Hybrid

Workload and/or Programming Model Specific

The Industrialization of Delivery for IT supported Services

Cloud Services

Cloud Computing Model

Self-service Sourcing options Economies-of-scale

Multiple Types of Clouds will co-exist:

“Cloud” represents:

Cloud enables:“Cloud” is:

Page 12: s07-08

Is cloud computing really new? Yes, and no.

Cloud computing is a new consumption and delivery model inspired by consumer Internet services. Cloud computing exhibits the following 5 key characteristics:

•On-demand self-service •Ubiquitous network access•Location independent resource pooling•Rapid elasticity•Pay per use

While the technology is not new, the end user focus of self-service, self-management leveraging these technologies is new.

Virtualization ServiceAutomation & SOA

UsageTracking Web 2.0

End User Focused

Page 13: s07-08

13

A new consumption and delivery model inspired by consumer Internet services.

Private, Public and Hybrid

Workload and/or Programming Model Specific

The Industrialization of Delivery for IT supported Services

Cloud Services

Cloud Computing Model

Self-service Sourcing options Economies-of-scale

Multiple Types of Clouds will co-exist:

“Cloud” represents:

Cloud enables:“Cloud” is:

Page 14: s07-08

Key Technology: Virtualization

Hardware

Operating System

App App App

Traditional StackHardware

OS

App App App

Hypervisor

OS OS

Virtualized Stack

Hardware

JVM

App App App

OS/JVM Managent

JVM JVM

Virtualized Stack

Page 15: s07-08

Enterprise

Today there are three primary delivery models that companies are implementing for cloud

Public CloudIT activities/functions are provided “as a service,” over the Internet Key features:

Scalability Automatic/rapid provisioning Standardized offerings Consumption-based pricing. Multi-tenancy

Traditional Enterprise

IT

Private CloudIT activities/functions are provided “as a service,” over an intranet, within the enterprise and behind the firewall Key features include:

Scalability Automatic/rapid provisioning Chargeback ability Widespread virtualization

Private CloudPublic Clouds

Hybrid Cloud

Source: IBM Market Insights, Cloud Computing Research, July 2009.

Page 16: s07-08

Different Computing Models Infrastructure as a service (IaaS)

Utility computing Why buy machines when you can rent cycles? Examples: Amazon’s EC2, GoGrid, AppNexus

Platform as a Service (PaaS) Give me nice API and take care of the

implementation Example: Google App Engine

Software as a Service (SaaS) Just run it for me! Example: Gmail

Page 17: s07-08

Virtualized environments only get benefits of scale if they

are highly utilized

Drives lower capital requirements

More complexity = less automation possible =

people needed

Take repeatable tasks and automateL

abo

r L

ever

age

Infr

astr

uct

ure

L

ever

age

Clients who can “serve themselves” require less support and get services

Elements that Drive Cloud Efficiency and Economics

Self Service

Automation of Management

Standardization of Workloads

Virtualization of Hardware

Utilization of Infrastructure

Page 18: s07-08

Enterprise Benefits from Cloud Computing

Server/Storage

Utilization10-20%

Self service NoneTest

ProvisioningWeeks

Change Managemen

tMonths

Release Managemen

tWeeks

Metering/Billing

Fixed cost model

Payback period for

new servicesYears

70-90%

Unlimited

Minutes

Days/Hours

Minutes

Granular

Months

Legacy environments Cloud enabled enterprise

Cloud accelerates business value across a wide variety of domains.

Capability From To

Page 19: s07-08

The skeptics

Page 20: s07-08

“Cloud computing is simply a buzzword used to repackage grid computing

and utility computing, both of which have existed for decades.”

“Cloud computing is simply a buzzword used to repackage grid computing

and utility computing, both of which have existed for decades.”

whatis.comDefinition of Cloud Computing

20

Page 21: s07-08

“The interesting thing about cloud computing is that we’ve redefined cloud computing to include everything that we already do. […]

The computer industry is the only industry that is more fashion-driven than women’s fashion.

Maybe I’m an idiot, but I have no idea what anyone is talking about. What is it? It’s complete gibberish. It’s insane. When is this idiocy going to stop?”

“The interesting thing about cloud computing is that we’ve redefined cloud computing to include everything that we already do. […]

The computer industry is the only industry that is more fashion-driven than women’s fashion.

Maybe I’m an idiot, but I have no idea what anyone is talking about. What is it? It’s complete gibberish. It’s insane. When is this idiocy going to stop?”

Larry EllisonDuring Oracle’s Analyst Day

From http://blogs.wsj.com/biztech/2008/09/25/larry-ellisons-brilliant-anti-cloud-computing-rant/ 21

Page 22: s07-08
Page 23: s07-08

Marc Benioff, head of salesforce.com “Cloud computing isn't just candyfloss

thinking – it's the future. If it isn't, I don't know what is. We're in it. You're going to see this model dominate our industry."

Is data really safe in the cloud? "All complex systems have planned and unplanned downtime. The reality is we are able to provide higher levels of reliability and availability than most companies could provide on their own," says Benioff

Page 24: s07-08

John Chambers, Cisco Systems’ CEO "a security nightmare.”

Page 25: s07-08

"push factors" for and "barriers" against cloud adoption for each workload type

Push factors

Fluctuating demand Highly standardized

applications Modular,

independent applications

Unacceptably high costs

Barriers

Data privacy or regulatory and

compliance issues High level of Internal

control required Accessibility and

reliability are a concern

Cost is not a concern

Source: IBM Market Insights, Cloud Computing Research, July 2009. n=1,090

Page 26: s07-08

Trade-off is value vs. risk of migration

Workload characteristics are critical New workloads will emerge as cloud

makes them affordable (eg pervasive analytics, Smart Healthcare)

Page 27: s07-08

From http://geekandpoke.typepad.com 27

Page 28: s07-08

Grid vs. Cloud computing(A Grid computing

example)

Page 29: s07-08

Three-tier architectures and Google AppEngine

Page 30: s07-08

Levels of abstraction

Different levels of abstraction Instruction Set VM: Amazon EC2 ApplicationLevel VM: Google AppEngine

Similar to languages Higher level abstractions can be built on top of

lower ones

EC2 Azure AppEngineForce.com

Lower-level,More flexibility,More managementNot scalable by default

Higher-level,Less flexibility,

Less managementAutomatically scalable

30

Page 31: s07-08

Traditional WebApplications:

N-Tier Style Separation of concerns:

Presentation, business and data handling logic are clearly partitioned in different tiers.

Synchronous communications: Communications between tiers is synchronous request-reply. Each tier waits for a response from the other tier before proceeding.

Flexible deployment: There are no restrictions on how a multi-tier application is deployed. All tiers could run on the same machine, or each tier may be deployed on its own machine.

Databases

Application Logic

Web Server / Presentation Logic

Web Client

Web Client

Web Client

Client Tier

Web ServerTier

Business Logic Tier

Data Management Tier

Page 32: s07-08
Page 33: s07-08

Web Applications with Google AppEngine

BigTable

(your) Java / Python hosted application

/ Presentation Logic

Web Client

Web Client

Web Client

Client Tier

Web ServerTier

Business Logic Tier

Data Management Tier

Hosting Server

Page 34: s07-08

Why use Google AppEngine?

Simplified (Web Application) development (through part of the application lifecycle) by leveraging Google infrastructure

▪ Scalability ▪ Reliability ▪ Functionality

Page 35: s07-08

Why use Google AppEngine? Simplified (Web Application) development

Implementation ▪ Simplified/integrated application monitoring and

logging▪ Simplified user authentication ▪ Tooling

Deployment / maintenance / and use ▪ No servers to setup – Apache, EJB containers, database▪ No server management / monitoring / upgrade ▪ Billing model: Pay per use

▪ Reduced upfront investment ▪ [Promise of] scalability▪ Monitoring and statistics▪ User authentication

Page 36: s07-08

Adoption (May 2009)

over 80K applicationsserving over 140M pageviews per

dayover 200K developers rwo supported languages: Python

and Java

Page 37: s07-08

A view behind the curtains …

Page 38: s07-08

A view behind the curtains …

Page 39: s07-08

3-tiered applications engineered for scale and reliability .. Slides

Page 40: s07-08

Life of an App Engine Request

Page 41: s07-08
Page 42: s07-08

Differentiate between requests for static and dynamic content.

Page 43: s07-08

Request for static content

Page 44: s07-08

Request for static content

Page 45: s07-08

Defining static content

Request for static content

Page 46: s07-08

Request for dynamic content

Page 47: s07-08

Defining static content

Request for dynamic content

Page 48: s07-08

Defining static content

Request for dynamic content

The AppServer

Page 49: s07-08

AppServers

Runs your code (e.g., servlet) Restricted JVM environment

▪ Threads, security manager, file-access read only, new connections, reflection

Enforces Isolation Keeps apps safe from each other

Many applications, many concurrent requests Smaller footprint

Stateless! Allows for scheduling flexibility

Time bound!

Service API requests to access to other services

Page 50: s07-08

Requests accessing APIs

Use APIs to do things you don't want to do in your runtime, such as...

Calls are blocking!

Page 51: s07-08

Persistency

Across requests Session Memcache Datastore

Page 52: s07-08

The AppEngine Datastore

Based on BigTable http://labs.google.com/papers/

bigtable.html Replicated and fault tolerant

On commit: ≥3 machines Geographically distributed

No relational model!New API.

Page 53: s07-08

Benefits▪ No machines to manage or count▪ Integrated development/production

environment ▪ Use Google tools (e.g., Admin Console_▪ Scalable logging and aggregation mechanisms▪ Easy deployment

Some restrictions ▪ Small request footprint (implicit) ▪ Fast requests▪ Stateless requests ▪ Schemaless data model▪ [understand their impact and the reasons they

were added]

Page 54: s07-08
Page 55: s07-08

To remember

AppEngine: specialized platform for Web Applications unfit for general computing.

Support for part of lifecycle of a web application

Offers transparent access to scalable infrastructure You pay a price for the ‘infinite’ scalability

offered: constrains on your application ▪ stateless requests, schemaless data models, limits on

resource usage for each request.