From geekandpoke.typepad - PowerPoint PPT Presentation

Slide1 l.jpg
Download
1 / 55

1. From http://geekandpoke.typepad.com. 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).

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

Download Presentation

From geekandpoke.typepad

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Slide1 l.jpg

1

From http://geekandpoke.typepad.com


Slide2 l.jpg

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)


Outline l.jpg

Outline

  • Cloud computing

  • The three-tier architectural style & Google AppEngine


Recent trends l.jpg

Recent Trends

Amazon S3

(March 2006)

Cloud computing

Amazon EC2

(August 2006)

Salesforce

AppExchange

(March 2006)

Grid computing

Virtualization

Google App Engine

(April 2008)

Facebook Platform

(May 2007)

Microsoft Azure

(Oct 2008)


Tremendous buzz l.jpg

Tremendous Buzz


Gartner hype cycle l.jpg

Gartner Hype Cycle*

Cloud Computing

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


Blind men and an elephant l.jpg

Blind men and an Elephant

CLOUD COMPUTING


Slide8 l.jpg

What is Cloud Computing?


Slide9 l.jpg

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


A crisis of complexity the need for progress is clear l.jpg

300

Power and cooling costs

Management and admin costs

250

New system spend

200

150

100

50

$0B

1997

1999

2001

2004

1996

1998

2000

2002

2003

2005

2006

2007

2008

2009

2010

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

Global Annual Server Spending

(IDC)

Uncontrolled management and energy costs

Steady CAPEX spend

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

Source: IBM Corporate Strategy analysis of IDC data


Slide11 l.jpg

“Cloud” is:

Cloud enables:

  • Anew consumption and delivery model inspired by consumer Internet services.

  • Self-service

  • Sourcing options

  • Economies-of-scale

Cloud Services

Cloud Computing Model

Multiple Types of Clouds will co-exist:

“Cloud” represents:

  • The Industrializationof Deliveryfor IT supported Services

  • Private, Public and Hybrid

  • Workload and/or Programming Model Specific


Is cloud computing really new yes and no l.jpg

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.

Usage

Tracking

Web 2.0

Business Services

IT Services

End User Focused

Service

Automation

& SOA

Virtualization


Slide13 l.jpg

“Cloud” is:

Cloud enables:

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

  • Self-service

  • Sourcing options

  • Economies-of-scale

Cloud Services

Cloud Computing Model

Multiple Types of Clouds will co-exist:

“Cloud” represents:

  • The Industrializationof Deliveryfor IT supported Services

  • Private, Public and Hybrid

  • Workload and/or Programming Model Specific


Key technology virtualization l.jpg

Key Technology: Virtualization

App

App

App

JVM

JVM

JVM

OS/JVM Managent

Hardware

Virtualized Stack

App

App

App

App

App

App

OS

OS

OS

Operating System

Hypervisor

Hardware

Hardware

Traditional Stack

Virtualized Stack


Slide15 l.jpg

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

Enterprise

Traditional Enterprise IT

Public Clouds

Private Cloud

Hybrid Cloud

Private Cloud

IT 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

Public Cloud

IT activities/functions are provided “as a service,” over the Internet

  • Key features:

    • Scalability

    • Automatic/rapid provisioning

    • Standardized offerings

    • Consumption-based pricing.

    • Multi-tenancy

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


Different computing models l.jpg

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


Elements that drive cloud efficiency and economics l.jpg

Elements that Drive Cloud Efficiency and Economics

Infrastructure Leverage

Virtualization of Hardware

Drives lower capital requirements

Virtualized environments only get benefits of scale if they are highly utilized

Utilization of Infrastructure

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

Self Service

Labor Leverage

Automation of Management

Take repeatable tasks and automate

More complexity = less automation possible = people needed

Standardization of Workloads


Enterprise benefits from cloud computing l.jpg

Enterprise Benefits from Cloud Computing

Capability

From

To

Cloud accelerates business value across a wide variety of domains.

Legacy environments

Cloud enabled enterprise


The skeptics l.jpg

The skeptics


Slide20 l.jpg

“Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.”

whatis.com

Definition of Cloud Computing


Slide21 l.jpg

“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 Ellison

During Oracle’s Analyst Day

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


To cloud or not to cloud l.jpg

To Cloud or Not to Cloud?


Slide23 l.jpg

  • 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


Slide24 l.jpg

  • John Chambers, Cisco Systems’ CEO

    • "a security nightmare.”


Push factors for and barriers against cloud adoption for each workload type l.jpg

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

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

  • Fluctuating demand

  • Highly standardized applications

  • Modular, independent applications

  • Unacceptably high costs

Push factors

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


Slide26 l.jpg

  • 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)


Slide27 l.jpg

27

From http://geekandpoke.typepad.com


Grid vs cloud computing a grid computing example l.jpg

Grid vs. Cloud computing(A Grid computing example)


Slide29 l.jpg

Three-tier architectures and Google AppEngine


Levels of abstraction l.jpg

Levels of abstraction

Lower-level,

More flexibility,

More management

Not scalable by default

Higher-level,

Less flexibility,

Less management

Automatically scalable

30

EC2

Azure

AppEngine

  • 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

Force.com


Traditional webapplications n tier style l.jpg

Client

Tier

Web

Client

Web

Client

Web

Client

Web Server

Tier

Web Server / Presentation Logic

Business Logic Tier

Application Logic

Data

Management Tier

Databases

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.


Web applications with google appengine l.jpg

Client

Tier

Web

Client

Web

Client

Web

Client

Web Server

Tier

/ Presentation Logic

Business Logic Tier

(your) Java / Python hosted application

Data

Management Tier

BigTable

Web Applications with Google AppEngine

Hosting

Server


Why use google appengine l.jpg

Why use Google AppEngine?

  • Simplified (Web Application) development

    • (through part of the application lifecycle)

    • by leveraging Google infrastructure

      • Scalability

      • Reliability

      • Functionality


Why use google appengine35 l.jpg

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


Adoption may 2009 l.jpg

Adoption (May 2009)

  • over 80K applications

  • serving over 140M pageviews per day

  • over 200K developers

  • rwo supported languages: Python and Java


A view behind the curtains l.jpg

A view behind the curtains …


A view behind the curtains38 l.jpg

A view behind the curtains …


Slide39 l.jpg

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

    • Slides


Slide40 l.jpg

  • Life of an App Engine Request


Slide42 l.jpg

  • Differentiate between requests for static and dynamic content.


Request for static content l.jpg

Request for static content


Request for static content44 l.jpg

Request for static content


Request for static content45 l.jpg

Request for static content

  • Defining static content


Request for dynamic content l.jpg

Request for dynamic content


Request for dynamic content47 l.jpg

Request for dynamic content

  • Defining static content


Request for dynamic content the appserver l.jpg

Request for dynamic contentThe AppServer

  • Defining static content


Appservers l.jpg

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

AppServers


Requests accessing apis l.jpg

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

Calls are blocking!

Requests accessing APIs


Persistency l.jpg

Persistency

  • Across requests

    • Session

    • Memcache

    • Datastore


The appengine datastore l.jpg

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.


Slide53 l.jpg

  • 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]


To remember l.jpg

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.


  • Login