how to deliver high performing highly available cloud applications

37
©2008 Keynote Systems, Inc. Keynote & Client Confidential. April 21, 2009 How to Ensure High-Performing, Highly Available Cloud Applications Ben Rushlo Director, Web Performance Consulting, Keynote Systems

Upload: ben-rushlo

Post on 14-Jan-2015

1.262 views

Category:

Technology


3 download

DESCRIPTION

Whether you are just starting to think about adopting a cloud model or have already implemented this in your organization, by moving from on-premise applications to the cloud you are giving up lots of control. How do you make sure you meet end-users’ performance expectations when someone else takes the reigns? End-users expect sub 1s response times as your on-premise apps did. How can you ensure such performance with your cloud service provider? Web performance is paramount for your users and not having the right metrics in place to remain in control can lead to costly performance issues.

TRANSCRIPT

Page 1: How To Deliver High Performing Highly Available Cloud Applications

©2008 Keynote Systems, Inc. Keynote & Client Confidential.

April 21, 2009

How to Ensure High-Performing, Highly

Available Cloud Applications

Ben RushloDirector, Web Performance Consulting, Keynote Systems

Page 2: How To Deliver High Performing Highly Available Cloud Applications

April 21, 2009 2©2009 Keynote Systems, Inc. Keynote & Client Confidential.

Cloud Computing

“A form of standardized IT-based capability – such as Intranet-based services, software, IT infrastructure –

offered by a service provider that is accessible via Internet protocols from any computer,

is always available and scales automatically to adjust to demand,

is either per-per-use or advertising-based, has Web- or programmatic-based control interfaces,

and enables full customer self-service.”

Frank Gillett, Forrester Research

Page 3: How To Deliver High Performing Highly Available Cloud Applications

April 21, 2009 3©2009 Keynote Systems, Inc. Keynote & Client Confidential.

2008 – Year of Web Glitches

Feb 15

Jun 17

April, May, June. July

Jun 17

Jun 17

Jul 8

Jul 10

Jul 27

Aug 12, Oct 17

Dec 1

Nov 28

Page 4: How To Deliver High Performing Highly Available Cloud Applications

April 21, 2009 4©2009 Keynote Systems, Inc. Keynote & Client Confidential.

Cloud Computing’s Reliability & Availability Gap

Enterprises can’t completely rely on cloud infrastructures to run their business

Almost no SLAs provided by cloud providers

Using the Cloud lessens control and increases complexity of managing technology

Who provides you “Cloud Insurance”?

Page 5: How To Deliver High Performing Highly Available Cloud Applications

April 21, 2009 5©2009 Keynote Systems, Inc. Keynote & Client Confidential.

Ensure Reliability and Availability in ALL Layers

Page 6: How To Deliver High Performing Highly Available Cloud Applications

©2008 Keynote Systems, Inc. Keynote & Client Confidential.

April 21, 2009

Cloud Computing Is Changing Performance Management

Page 7: How To Deliver High Performing Highly Available Cloud Applications

April 21, 2009 7©2009 Keynote Systems, Inc. Keynote & Client Confidential.

The “Cloud” – Web services, distributed data centers/infrastructure, content delivery network etc

The Application Lives Everywhere

Page 8: How To Deliver High Performing Highly Available Cloud Applications

April 21, 2009 8©2009 Keynote Systems, Inc. Keynote & Client Confidential.

The Browser as a “Platform”

Page 9: How To Deliver High Performing Highly Available Cloud Applications

April 21, 2009 9©2009 Keynote Systems, Inc. Keynote & Client Confidential.

Complexity is Increasing

Page 10: How To Deliver High Performing Highly Available Cloud Applications

April 21, 2009 10©2009 Keynote Systems, Inc. Keynote & Client Confidential.

Complexity is Increasing

Page 11: How To Deliver High Performing Highly Available Cloud Applications

April 21, 2009 11©2009 Keynote Systems, Inc. Keynote & Client Confidential.

Complexity is Increasing

Domains1 -2 5-10

Third Party Content1-2 requests per page 10 30 requests per page

Page Sizes100-300K 300K – 2MB

LanguagesHTML, limited JS and CSS Multiple JS and CSS per page (XML, Flash, Flex etc)

HostingSingle location Hybrid (Cloud)

Page 12: How To Deliver High Performing Highly Available Cloud Applications

April 21, 2009 12©2009 Keynote Systems, Inc. Keynote & Client Confidential.

The Application Life Cycle On “Red Bull”

ITOperations

QualityAnalysis

WebDevelopment

Page 13: How To Deliver High Performing Highly Available Cloud Applications

April 21, 2009 13©2009 Keynote Systems, Inc. Keynote & Client Confidential.

Increased User Expectations

The Internet has become a utilityAlways on, always responsive

The competition is raising the barEven if it is not your direct competition8s 4s 2s ?

The Cloud model changes expectationsUsers are not simply “viewing content”, instead they are interacting, using applicationsThe user doesn’t care that it is hosted in the cloud and will not lower expecations1s or less might become the new rule

Page 14: How To Deliver High Performing Highly Available Cloud Applications

©2008 Keynote Systems, Inc. Keynote & Client Confidential.

April 21, 2009

Performance Management Best Practices – More Important Now Than Ever

Page 15: How To Deliver High Performing Highly Available Cloud Applications

April 21, 2009 15©2009 Keynote Systems, Inc. Keynote & Client Confidential.

Performance Management Best Practices

Test at every stage in Application Lifecycle –build with the user in mindTest from the Cloud –where your users areTest with a Browser –what your users useCapture the Right Metrics – what impacts your user

Page 16: How To Deliver High Performing Highly Available Cloud Applications

April 21, 2009 16©2009 Keynote Systems, Inc. Keynote & Client Confidential.

Average download times ScalabilityPer element performanceClient side processingVariability – over geographyWeb service performancePre render vs. render timeNetwork vs. Application vs. ContentPage Construction

Key Metrics – Pre Launch

ITOperations

QualityAnalysis

WebDevelopment

Test out the cloud before your users do

Page 17: How To Deliver High Performing Highly Available Cloud Applications

April 21, 2009 17©2009 Keynote Systems, Inc. Keynote & Client Confidential.

Key Metrics – In Production

Performance-average versus target

Availability – errors and outagesVariability – throughout day and overallThird-Party QualityTrends and Events

ITOperations

QualityAnalysis

WebDevelopment

Don’t let your users monitor the cloud for you

Page 18: How To Deliver High Performing Highly Available Cloud Applications

April 21, 2009 18©2009 Keynote Systems, Inc. Keynote & Client Confidential.

Total Site Quality Framework

Tip: Avoid Pet Metrics

Page 19: How To Deliver High Performing Highly Available Cloud Applications

©2008 Keynote Systems, Inc. Keynote & Client Confidential.

April 21, 2009

Key Performance Challenges

Page 20: How To Deliver High Performing Highly Available Cloud Applications

April 21, 2009 20©2009 Keynote Systems, Inc. Keynote & Client Confidential.

Asset Count More Important Than Size

Size matters less and lessAsset count primary driver for high speed user’s performance experience

Roundtrips! Roundtrips! Roundtrips!

Most sites have highest asset counts in three areasExternal CSSExternal JSStatic/designer images

Combination of these files is keySprites, packing JS etc.

Page 21: How To Deliver High Performing Highly Available Cloud Applications

April 21, 2009 21©2009 Keynote Systems, Inc. Keynote & Client Confidential.

JS and CSS Strategy

External JS and CSS was designed to allow caching across the site

However, many sites are loading unique JS and CSS per pageSome of this related to “silos” within organizations

Developers need to think about the “user flow” not per pageCoordination is keySimilar functionality should be in “Global” JS and CSS and loaded on key entry points in site

Page 22: How To Deliver High Performing Highly Available Cloud Applications

April 21, 2009 22©2009 Keynote Systems, Inc. Keynote & Client Confidential.

File Size

Size does matter to poorer connected usersThe “grey area” users – wireless, mobile devices, dial-up, satellite, coffee shops, hotels etc.

JS and CSSNeed to be compressedNeed to be minified (comments removed, whitespace removed)Old code pruned

Page 23: How To Deliver High Performing Highly Available Cloud Applications

April 21, 2009 23©2009 Keynote Systems, Inc. Keynote & Client Confidential.

0

1

2

3

4

5

6

7

8

9

UPS

Li

veTr

avel

ocity

Wik

iped

iaSp

rint

Hot

Jobs

Car

eer B

uild

erD

isne

yFi

delity

Yello

w P

ages

Goo

gle

AT&T

Orb

itz

Mer

rill L

ynch

MSN

eBay Ask

CN

NEx

pedi

a

AOL

Bank

Of A

mer

ica

Sym

antic

Face

book

Tick

etm

aste

rN

Y Ti

mes

Appl

e H

ewle

tt-Pa

ckar

dAm

azon

C

BS S

ports

line

Veriz

onYa

hoo

U

SA T

oday Del

lW

alm

art

Pric

elin

e.co

mM

SNBC

Wea

ther

.com

Cha

rles

Schw

abFe

dEx

Mon

ster

Dow

nloa

d Ti

me

Time On Netw ork Client Side Processing

Client Side Processing

40 Typical Home Pages

Page 24: How To Deliver High Performing Highly Available Cloud Applications

April 21, 2009 24©2009 Keynote Systems, Inc. Keynote & Client Confidential.

Flash Initialization

Page 25: How To Deliver High Performing Highly Available Cloud Applications

April 21, 2009 25©2009 Keynote Systems, Inc. Keynote & Client Confidential.

JS and CSS Rendering

Page 26: How To Deliver High Performing Highly Available Cloud Applications

April 21, 2009 26©2009 Keynote Systems, Inc. Keynote & Client Confidential.

JavaScript and The Browser

External JS is not only a roundtrip but is also serialized the browser

Each file much be loaded in serialExponentially extends the downloadWorse in the top of the load (pre render)

Pre render JS files should be limited (ie. few of them)

Page 27: How To Deliver High Performing Highly Available Cloud Applications

April 21, 2009 27©2009 Keynote Systems, Inc. Keynote & Client Confidential.

JS Threading Example

None of these images were downloaded to the browser until 2.4 seconds into a 2.8 second page load

Javascript files load one file at a time

Page 28: How To Deliver High Performing Highly Available Cloud Applications

April 21, 2009 28©2009 Keynote Systems, Inc. Keynote & Client Confidential.

Geographic Distribution of Content

Performance varies significantly based on geographyKey factors that drive amount of variation are

Element counts (Roundtrips!)User distance from data centerUse of Content Delivery Network

Page 29: How To Deliver High Performing Highly Available Cloud Applications

April 21, 2009 29©2009 Keynote Systems, Inc. Keynote & Client Confidential.

Online Tax Application- Canada

0.0

5.0

10.0

15.0

20.0

25.0

Seco

nds

Vancouver Telus Calgary Telus Toronto Bell Montreal Verizon

Vancouver Telus 4.61 1.18 1.37 6.70 0.51

Calgary Telus 6.78 1.64 1.58 8.49 0.57

Toronto Bell 9.27 2.71 2.71 17.90 0.97

Montreal Verizon 11.68 3.48 3.14 21.46 1.09

Home Page Online Online Edition Get Started Validation

Page 30: How To Deliver High Performing Highly Available Cloud Applications

April 21, 2009 30©2009 Keynote Systems, Inc. Keynote & Client Confidential.

Third Party Usage and Quality

It is quite common to find pages that have 10+ domains that are third party

Floodlight tags (which dynamically insert new domains)Tracking (Omniture, Google Analytics etc)Media buy/tracking tagsA/B testingSurvey/opinion tags Etc

Third party quality needs to be monitoredThird party tags must be POST render where possible

Page 31: How To Deliver High Performing Highly Available Cloud Applications

April 21, 2009 31©2009 Keynote Systems, Inc. Keynote & Client Confidential.

Third Party Call Blocking Visual Content

Page 32: How To Deliver High Performing Highly Available Cloud Applications

April 21, 2009 32©2009 Keynote Systems, Inc. Keynote & Client Confidential.

Cache Management

For many sites, visitors return quite frequentlySites need to take into account the impact of caching

Cache needs to be done appropriatelyFar future expire headersEtag configuration

The performance impact of “validating” cache with the server is AS SIGNIFICANT as downloading that content fresh (for high speed user)

Page 33: How To Deliver High Performing Highly Available Cloud Applications

April 21, 2009 33©2009 Keynote Systems, Inc. Keynote & Client Confidential.

Automotive Site Example – Return Versus New

0.00

0.50

1.00

1.50

2.00

2.50

3.00

Home Page - New Visitor Home Page - Return Visitor

Seco

nds

Geometric Mean

400K

40K

Page 34: How To Deliver High Performing Highly Available Cloud Applications

April 21, 2009 34©2009 Keynote Systems, Inc. Keynote & Client Confidential.

Don’t Forget The Basics

Cloud vendors must provide performance metrics

Measure your cloud application yourself as well

Ensure SLAs in place

Measure…Measure…Measure

Page 35: How To Deliver High Performing Highly Available Cloud Applications

April 21, 2009 35©2009 Keynote Systems, Inc. Keynote & Client Confidential.

Keynote’s Cloud: More than 240 locations

Page 36: How To Deliver High Performing Highly Available Cloud Applications

April 21, 2009 36©2009 Keynote Systems, Inc. Keynote & Client Confidential.

Test your apps for FREE from Keynote’s Cloud

kite.keynote.com

Download KITE 2.0@

Page 37: How To Deliver High Performing Highly Available Cloud Applications

April 21, 2009 37©2009 Keynote Systems, Inc. Keynote & Client Confidential.

Ben Rushlo

How to reach me

(623) [email protected]

http://www.linkedin.com/in/benrushlo