+ All Categories
Home > Documents > Cloud computing (and Google AppEngine) material adapted from slides by Indranil Gupta, Jimmy Lim,...

Cloud computing (and Google AppEngine) material adapted from slides by Indranil Gupta, Jimmy Lim,...

Date post: 22-Dec-2015
Category:
View: 215 times
Download: 0 times
Share this document with a friend
Popular Tags:
21
Cloud computing (and Google AppEngine) 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)
Transcript
Page 1: Cloud computing (and Google AppEngine) material adapted from slides by Indranil Gupta, Jimmy Lim, Christophe Bisciglia, Aaron Kimball, & Sierra Michels-Slettvet,

Cloud computing

(and Google AppEngine)

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 2: Cloud computing (and Google AppEngine) material adapted from slides by Indranil Gupta, Jimmy Lim, Christophe Bisciglia, Aaron Kimball, & Sierra Michels-Slettvet,

2

Page 3: Cloud computing (and Google AppEngine) material adapted from slides by Indranil Gupta, Jimmy Lim, Christophe Bisciglia, Aaron Kimball, & Sierra Michels-Slettvet,

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

What is Cloud Computing?

Page 4: Cloud computing (and Google AppEngine) material adapted from slides by Indranil Gupta, Jimmy Lim, Christophe Bisciglia, Aaron Kimball, & Sierra Michels-Slettvet,

4

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 5: Cloud computing (and Google AppEngine) material adapted from slides by Indranil Gupta, Jimmy Lim, Christophe Bisciglia, Aaron Kimball, & Sierra Michels-Slettvet,

Different ‘Could’ Delivery 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) Provides an specialized API. App developer takes

care of the implementation Example: Google App Engine

Software as a Service (SaaS) Provides the whole application Example: Gmail, GoogleDocs, SalesForce

Page 6: Cloud computing (and Google AppEngine) material adapted from slides by Indranil Gupta, Jimmy Lim, Christophe Bisciglia, Aaron Kimball, & Sierra Michels-Slettvet,

Key Enabling 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 7: Cloud computing (and Google AppEngine) material adapted from slides by Indranil Gupta, Jimmy Lim, Christophe Bisciglia, Aaron Kimball, & Sierra Michels-Slettvet,

7

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

What drives this?

Page 8: Cloud computing (and Google AppEngine) material adapted from slides by Indranil Gupta, Jimmy Lim, Christophe Bisciglia, Aaron Kimball, & Sierra Michels-Slettvet,
Page 9: Cloud computing (and Google AppEngine) material adapted from slides by Indranil Gupta, Jimmy Lim, Christophe Bisciglia, Aaron Kimball, & Sierra Michels-Slettvet,

"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

Trade-off: value vs. risk of migration

Page 10: Cloud computing (and Google AppEngine) material adapted from slides by Indranil Gupta, Jimmy Lim, Christophe Bisciglia, Aaron Kimball, & Sierra Michels-Slettvet,

Is cloud computing really new?

Page 11: Cloud computing (and Google AppEngine) material adapted from slides by Indranil Gupta, Jimmy Lim, Christophe Bisciglia, Aaron Kimball, & Sierra Michels-Slettvet,

“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/ 11

Page 12: Cloud computing (and Google AppEngine) material adapted from slides by Indranil Gupta, Jimmy Lim, Christophe Bisciglia, Aaron Kimball, & Sierra Michels-Slettvet,

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•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: Cloud computing (and Google AppEngine) material adapted from slides by Indranil Gupta, Jimmy Lim, Christophe Bisciglia, Aaron Kimball, & Sierra Michels-Slettvet,

Three-tier architectures and Google AppEngine

Page 14: Cloud computing (and Google AppEngine) material adapted from slides by Indranil Gupta, Jimmy Lim, Christophe Bisciglia, Aaron Kimball, & Sierra Michels-Slettvet,

Traditional WebApplications:

N-Tier Style Separation of concerns:

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

Synchronous communication: 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 15: Cloud computing (and Google AppEngine) material adapted from slides by Indranil Gupta, Jimmy Lim, Christophe Bisciglia, Aaron Kimball, & Sierra Michels-Slettvet,

Web Applications with Google AppEngine

BigTable

(your) Java / Python hosted application

(your) Presentation Logic

Web Client

Web Client

Web Client

Client Tier

Web ServerTier

Business Logic Tier

Data Management Tier

Hosting Server

Page 16: Cloud computing (and Google AppEngine) material adapted from slides by Indranil Gupta, Jimmy Lim, Christophe Bisciglia, Aaron Kimball, & Sierra Michels-Slettvet,

What do you get? (using Google

AppEngine)Simplified (Web Application)

development

Scalability Reliability

▪ (by leveraging Google infrastructure )

Page 17: Cloud computing (and Google AppEngine) material adapted from slides by Indranil Gupta, Jimmy Lim, Christophe Bisciglia, Aaron Kimball, & Sierra Michels-Slettvet,
Page 18: Cloud computing (and Google AppEngine) material adapted from slides by Indranil Gupta, Jimmy Lim, Christophe Bisciglia, Aaron Kimball, & Sierra Michels-Slettvet,

A view behind the curtains …

Page 19: Cloud computing (and Google AppEngine) material adapted from slides by Indranil Gupta, Jimmy Lim, Christophe Bisciglia, Aaron Kimball, & Sierra Michels-Slettvet,

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 20: Cloud computing (and Google AppEngine) material adapted from slides by Indranil Gupta, Jimmy Lim, Christophe Bisciglia, Aaron Kimball, & Sierra Michels-Slettvet,

Persistency

Across requests Session Memcache Datastore

No relational model!New API.(compared to databases)

What consistency model?

Page 21: Cloud computing (and Google AppEngine) material adapted from slides by Indranil Gupta, Jimmy Lim, Christophe Bisciglia, Aaron Kimball, & Sierra Michels-Slettvet,

C-A-P choose two

C

A P

Fox&Brewer“CAP Theorem” consistency

Availability Partition-resilience

Claim: every distributed system is on one side of the triangle.

CA: available, and consistent, unless there is a partition.

AP: a reachable replica provides service even in a partition, but may be inconsistent.

CP: always consistent, even in a partition, but a reachable replica may deny service without agreement of the others (e.g., quorum).


Recommended