69
Mike Gualtieri - Senior Analyst, Forrester Research Imad Mouline - CTO, Gomez division, Compuware

Gomez Blazing Fast Cloud Best Practices

Embed Size (px)

DESCRIPTION

Are you planning to deploy Web applications in the cloud? Will their performance be acceptable? What will you do to make sure?There are a lot of good reasons to deploy applications in a cloud environment — but they are all forgotten if your application is slow or has poor availability. Poor performance results in unhappy, lost customers. Traditional data center techniques for monitoring, measuring, and optimizing Web application performance won’t work in the cloud. There are a new set of best practices that you need to learn to optimize the performance of your cloud-based Web applications.

Citation preview

Page 1: Gomez Blazing Fast Cloud Best Practices

Mike Gualtieri - Senior Analyst, Forrester Research

Imad Mouline - CTO, Gomez division, Compuware

Page 2: Gomez Blazing Fast Cloud Best Practices
Page 3: Gomez Blazing Fast Cloud Best Practices

Performance In The Cloud: Four Blazing Fast Best PracticesMike GualtieriSenior AnalystForrester Research

June 29, 2010

Page 4: Gomez Blazing Fast Cloud Best Practices

4Entire contents © 2009 Forrester Research, Inc. All rights reserved.

Performance in the cloud is not a slam

dunk.

Page 5: Gomez Blazing Fast Cloud Best Practices

5Entire contents © 2009 Forrester Research, Inc. All rights reserved.

Agenda

•Cloud performance challenges

•4 Blazing fast cloud best practices

•Recommendations

Page 6: Gomez Blazing Fast Cloud Best Practices

6Entire contents © 2009 Forrester Research, Inc. All rights reserved.

Definition: cloud computing

►A standardized IT capability (services, software, or infrastructure) delivered in a pay-per-use and self-service way

Page 7: Gomez Blazing Fast Cloud Best Practices

7Entire contents © 2009 Forrester Research, Inc. All rights reserved.

Embrace cloud as an emerging platform

Page 8: Gomez Blazing Fast Cloud Best Practices

8Entire contents © 2009 Forrester Research, Inc. All rights reserved.

Cloud is here to stay because:

• You can scale infrastructure up and down• But, many apps will have to be re-designed to take full advantage

of elastic infrastructure

Time to market

• Easy, self-service access by developers• But, vendor lock-in is possible if you use value-added services

Empowerment

• Economies of scale that few users can match• But, cost effectiveness relies on lease-buy analysis

Cost reduction

• But platforms vary widely and no standards exist

Massive investments by all vendors

Page 9: Gomez Blazing Fast Cloud Best Practices

9Entire contents © 2009 Forrester Research, Inc. All rights reserved.

Achieving blazing fast Web site performance is more challenging

Modern Web audiences expect more content and functionality

Firms want to provide more content and functionality

IT needs to reduce infrastructure costs

Rising tides of users make scaling more challenging

Page 10: Gomez Blazing Fast Cloud Best Practices

10Entire contents © 2009 Forrester Research, Inc. All rights reserved.

Cloud computing can help but it is not a slam dunk•Cloud can provide scale on-demand

– Need more instances? Provision them!

•But, cloud infrastructure is largely opaque– You don’t know what hardware virtual machines are

running on

– You don’t know what the network infrastructures looks like

– You don’t know with whom you are sharing

Page 11: Gomez Blazing Fast Cloud Best Practices

11Entire contents © 2009 Forrester Research, Inc. All rights reserved.

Enterprises cite flexibility and on demand capacity as top reasons to adopt cloud

Page 12: Gomez Blazing Fast Cloud Best Practices

12Entire contents © 2009 Forrester Research, Inc. All rights reserved.

Security and maturity top list of concerns for IaaS cloud services. What about performance?

Page 13: Gomez Blazing Fast Cloud Best Practices

Cloud computing isn’t an if, it’s a when

and how

Page 14: Gomez Blazing Fast Cloud Best Practices

14Entire contents © 2009 Forrester Research, Inc. All rights reserved.

Agenda

•Cloud performance challenges

•4 Blazing fast cloud best practices

•Recommendations

Page 15: Gomez Blazing Fast Cloud Best Practices

15Entire contents © 2009 Forrester Research, Inc. All rights reserved.

Based upon Forrester’s Blazing Fast Web site performance research•Ongoing research stream dedicated to performance, scale, and fault tolerance resulting in published research and best practices

•Ongoing cloud computing vendor landscape and architecture research

•Constant Web architecture assessments and recommendations for a broad range of eCommerce, social, and media Web properties.

•User experience trends and design best practices research

Page 16: Gomez Blazing Fast Cloud Best Practices

1. Measure, monitor, and

respond.

Page 17: Gomez Blazing Fast Cloud Best Practices

17Entire contents © 2009 Forrester Research, Inc. All rights reserved.

Check the performance of your peers at http://benchmarks.gomez.com

Page 18: Gomez Blazing Fast Cloud Best Practices

18Entire contents © 2009 Forrester Research, Inc. All rights reserved.

Browser performance varies widely

Source: Gomez sampled 160 million pages across several Websites over a 30 day period from broadband users in the United States

Web BrowserPage Load Time

(in seconds)

Internet Explorer 6 9.654

Internet Explorer 7 6.740

Internet Explorer 8 4.831

Firefox 3 5.631

Firefox 3.5 4.424

Chrome 4 2.369

Safari 4 3.132

Page 19: Gomez Blazing Fast Cloud Best Practices

19Entire contents © 2009 Forrester Research, Inc. All rights reserved.

Cloud performance varies widely

Page 20: Gomez Blazing Fast Cloud Best Practices

20Entire contents © 2009 Forrester Research, Inc. All rights reserved.

Investigating and resolving incidents is much more challenging in the cloud

•Incident is identified by monitors or by customer feedback

Detect•Lo

g incident including services affected

Report

•Determine the cause if the incident and log actions taken

Investigate

•Escalate if not solved during investigation. (e.g. problem or crisis)

Escalate

•Restore services and log information for later incident review

Resolve

Page 21: Gomez Blazing Fast Cloud Best Practices

21Entire contents © 2009 Forrester Research, Inc. All rights reserved.

Design and implement a monitoring system to help answer these three questions

1. Is there a problem?

2. Where is the problem?

3. What is the problem?

Page 22: Gomez Blazing Fast Cloud Best Practices

22Entire contents © 2009 Forrester Research, Inc. All rights reserved.

Best practices: Measure, monitor, and respond•Test and monitor performance from your customer’s perspective.

•Baseline performance metrics with frequent reporting frequency

•Know what elements of your infrastructure are affecting performance.

•Use testing to determine the impact of key changes.

Page 23: Gomez Blazing Fast Cloud Best Practices

2. Make liberal use of caching.

23Entire contents © 2009 Forrester Research, Inc. All rights reserved.

Page 24: Gomez Blazing Fast Cloud Best Practices

24Entire contents © 2009 Forrester Research, Inc. All rights reserved.

The user’s distance from the content matters

Page 25: Gomez Blazing Fast Cloud Best Practices

25Entire contents © 2009 Forrester Research, Inc. All rights reserved.

Achieving blazing fast Web site performance is more challenging

Page 26: Gomez Blazing Fast Cloud Best Practices

26Entire contents © 2009 Forrester Research, Inc. All rights reserved.

Best practices: Make liberal use of caching•Design your pages to use the browser cache

•Add an edge cache– Akamai, Contendo, Edgecast, and Limelight are

options

– Cloud providers are also offering edge caching services. E.g. Amazon CloudFront, Microsoft Auzure CDN

•Deploy to multiple cloud regions/zones

•Cache application data, sessions, page fragments, and shared application state

Page 27: Gomez Blazing Fast Cloud Best Practices

3. Architect for elasticity.

Page 28: Gomez Blazing Fast Cloud Best Practices

28Entire contents © 2009 Forrester Research, Inc. All rights reserved. Source: Animoto (http://animoto.com/)

Page 29: Gomez Blazing Fast Cloud Best Practices

29Entire contents © 2009 Forrester Research, Inc. All rights reserved.

Steady state of ~40 instances

Launch of Facebook modification

Peak of 5000 instances

Amazon EC2 easily scaled to handle addition traffic

Page 30: Gomez Blazing Fast Cloud Best Practices

30Entire contents © 2009 Forrester Research, Inc. All rights reserved.

Best practices: Elastic architecture

• Implement a cloud bursting strategy– Automate elasticity

•Using elastic caching platform.

• Isolate functions to scale them separately.

•Mitigate the risk of remote services.

Page 31: Gomez Blazing Fast Cloud Best Practices

31Entire contents © 2009 Forrester Research, Inc. All rights reserved.

Typical IT Web architecture scales app server tier – not data tier

Relational database

Load balancer

Application server

Application server

Application server

Application server

Page 32: Gomez Blazing Fast Cloud Best Practices

32Entire contents © 2009 Forrester Research, Inc. All rights reserved.

Elastic caching adds a layer to overcome data bottlenecks

Persistent data store

Load balancer

Cache node

Cache node

Cache node

Application server

Application server

Application server

Application server

Page 33: Gomez Blazing Fast Cloud Best Practices

33Entire contents © 2009 Forrester Research, Inc. All rights reserved.

Elastic caching platforms Q2 2010

Page 34: Gomez Blazing Fast Cloud Best Practices

4. Know cloud providers strengths

and weaknesses.

Page 35: Gomez Blazing Fast Cloud Best Practices

35Entire contents © 2009 Forrester Research, Inc. All rights reserved.

Best practices: Know your cloud provider

•Load and stress test in the cloud– Cloud virtual machines won’t be the same as yours

•Understand the capacity of one instance in the cloud

– Test the impact of cloud bursting

– Test cloud services such as storage (e.g. Amazon S3)

•Test for elasticity– How quickly can you provision new instances?

•Test for performance– Include geography tests

•Continue to monitor the cloud

Page 36: Gomez Blazing Fast Cloud Best Practices

36Entire contents © 2009 Forrester Research, Inc. All rights reserved.

Cloud performance varies widely

Page 37: Gomez Blazing Fast Cloud Best Practices

37Entire contents © 2009 Forrester Research, Inc. All rights reserved.

Agenda

•Cloud performance challenges

•4 Blazing fast cloud best practices

•Recommendations

Page 38: Gomez Blazing Fast Cloud Best Practices

38Entire contents © 2009 Forrester Research, Inc. All rights reserved.

Best practices for performance in the cloud.

1. Measure. Monitor, and respond.

2. Make liberal use of caching.

3. Architect for elasticity.

4. Know the performance strengths and weaknesses of your cloud

provider.

Page 39: Gomez Blazing Fast Cloud Best Practices

39Entire contents © 2009 Forrester Research, Inc. All rights reserved.

First steps to achieving blazing fast performance in the cloud

•Test performance from your customer’s perspective.

•Assess your current Web architecture to identify bottlenecks.

• Implement caching where it will help.

•Architect for elasticity.

•Load test your application on your cloud provider.

•Deploy to cloud.

•Watch carefully.

Page 40: Gomez Blazing Fast Cloud Best Practices

40Entire contents © 2009 Forrester Research, Inc. All rights reserved.

Thank you

Mike Gualtieri

+1 617.613.6145

[email protected]

Twitter: mgualtieri

www.forrester.com

Page 41: Gomez Blazing Fast Cloud Best Practices

Best Practices For Ensuring Blazing Fast Cloud Applications

Imad Mouline - CTO, Gomez, The Web Performance Division of Compuware

@imadmouline

Page 42: Gomez Blazing Fast Cloud Best Practices

Web Applications Are Increasingly Composite

Page 43: Gomez Blazing Fast Cloud Best Practices

By The Numbers

Number of hosts accessed directly by the browser, per user transaction, averaged across 3,000 companies

Measurementcity

Number of hosts per user transaction

Hong Kong 7.56

Beijing 8.57

London 8.59

New York 8.85

Frankfurt 8.87

Page 44: Gomez Blazing Fast Cloud Best Practices

Amazon EC2 Region Percentage

EC2 Asia Pacific - Singapore 0.002

EC2 US West - Northern California 0.659

EC2 EU - Ireland 2.733

EC2 US East - Northern Virginia 16.194

TOTAL 19.588

Web Applications Are Moving To The Cloud

Percentage of web app transactions that include at least one object hosted on Amazon EC2

Page 45: Gomez Blazing Fast Cloud Best Practices

1 – Measure, Monitor, and Respond

Page 46: Gomez Blazing Fast Cloud Best Practices

The Cloud Creates Performance Concerns

The Cloud is opaque & shared Loss of visibility and control - traditional tools don’t apply Others can affect my performance

Page 47: Gomez Blazing Fast Cloud Best Practices

MajorISP

Local ISP

Mobile Carrier

Internet

Content DeliveryNetworks

3rd Party/Cloud Services

Browsers and devices

Storage

Web Servers

App Servers

DB Servers

Mainframe

Load Balancers

Mobile Components

Network

The Cloud Is Opaque: How do you know if your application is really performing?

The Web Application Delivery ChainMy users

Other users

Other users

Other users

Solution = “Outside-in” customer point of viewCloud

Page 48: Gomez Blazing Fast Cloud Best Practices

MajorISP

Local ISP

Mobile Carrier

Internet

Content DeliveryNetworks

3rd Party/Cloud Services

Browsers and devices

Storage

Web Servers

App Servers

DB Servers

Mainframe

Load Balancers

Mobile Components

Network

The Cloud Is SharedHow Do You Know It’s Your Issue Or Your Cloud Provider’s?

The Web Application Delivery ChainMy users

Other users

Other users

Other users

Solution = Collective IntelligenceCloud

My app Otherapp

Otherapp

Otherapp

Cloud is shared

Multiple contributors help diagnose issues for everyone

Page 49: Gomez Blazing Fast Cloud Best Practices

“Measure, Monitor, Respond”

Average response time of reference app transaction across various Cloud providers, measured from several global locations

Page 50: Gomez Blazing Fast Cloud Best Practices

2 – Make Liberal Use of Caching

Page 51: Gomez Blazing Fast Cloud Best Practices

Web App Delivery Chain – Bottlenecks Revisited

Natural bottlenecks are also optimization opportunities

Instance

Potential bottlenecks

Page 52: Gomez Blazing Fast Cloud Best Practices

“Make Liberal Use Of Caching” Validate Caching at the SERVER

Long First Byte times a potential server-side caching opportunity

Page 53: Gomez Blazing Fast Cloud Best Practices

Geographic Latency – Europe-based

Response time for sample transaction of reference application hosted on Amazon EC2 Europe West (Dublin), as measured from major European cities

Page 54: Gomez Blazing Fast Cloud Best Practices

Geographic Latency – US-based

Response time for sample transaction of reference application hosted on Amazon EC2 US East (Virginia), as measured from major US cities

Page 55: Gomez Blazing Fast Cloud Best Practices

“Make Liberal Use Of Caching” - Validate Caching at the EDGE

Page 56: Gomez Blazing Fast Cloud Best Practices

“Make Liberal Use Of Caching” - Validate Caching at the BROWSER

Safari 4.x

Internet Explorer 7.x

Internet Explorer 8.x

Firefox 3.xChrome

Page 57: Gomez Blazing Fast Cloud Best Practices

3 – Architect For Elasticity

Page 58: Gomez Blazing Fast Cloud Best Practices

“Architect For Elasticity”

Cloud makes it easier to use elastic architecture strategies

Elasticity can come at a high expense

Make sure to balance performance and cost

Instance

Potential bottlenecks

Page 59: Gomez Blazing Fast Cloud Best Practices

The Cloud Offers Unique Opportunities For Optimization

Domain sharding is a common performance optimization

In traditional hosting environment, it came at a price

The Cloud, with proper planning, can provide sharding for free

Bucket 1

Bucket 2

Potential bottleneck

Page 60: Gomez Blazing Fast Cloud Best Practices

The Cloud Offers Unique Opportunities For Optimization

Better performance, for little work, at no extra cost?

Page 61: Gomez Blazing Fast Cloud Best Practices

Potential bottleneck

The Cloud Is Prepared For The Unknown

Instance@ capacity

Faced with constraints anywhere upstream from the browser, the cloud offers unique opportunities to expand capacity.

InstanceDynamically provisioned

Page 62: Gomez Blazing Fast Cloud Best Practices

The Cloud Helps You Prepare For The Unknown

Page 63: Gomez Blazing Fast Cloud Best Practices

Impact Of Optimization Across Browsers & Mobile Devices

Yesterday’s optimizations must be constantly revalidated Sharding fails to show benefit on modern browser Sharding shows a substantial performance hit on mobile

devices such as the iPad

Major News SiteSharded

(response time = seconds)

Major News SiteNon-Sharded

(response time = seconds)

Internet Explorer 7 3.917 3.995

Firefox 3.5 4.033 3.797

iPad 24.470 23.821

Page 64: Gomez Blazing Fast Cloud Best Practices

4 – Know the Performance of Your Cloud Provider

Page 65: Gomez Blazing Fast Cloud Best Practices

“Know Your Cloud Provider” - Performance

Average response time of reference app transaction across various Cloud providers, measured from several global locations

Page 66: Gomez Blazing Fast Cloud Best Practices

“Know Your Cloud Provider” – Availability

Aggregate average availability of reference app on Opsource, Amazon EC2 US East, Amazon S3, GoGrid & Google AppEngine measured from global backbone locations

Nov-05 Dec-05 Jan-06 Feb-06 Mar-06 Apr-06 May-0696.500

97.000

97.500

98.000

98.500

99.000

99.500

100.000Average Cloud Availability

Ava

ilabi

lity

(%)

Page 67: Gomez Blazing Fast Cloud Best Practices

Best Practice: Define your goals and build a plan

Align goals across your organization Why are we moving to the cloud?

Common goals include:

1. Additional Capacity – How much capacity do we need during normal and peak times?

2. Improved End-User Experience – What performance goals are we trying to deliver against?

3. Greater Elasticity – How quickly can the provider we select ramp up to meet our needs?

4. Flexible Bursting – How fast do we need to be able to access additional capacity?

If only there was a button to push!

Page 68: Gomez Blazing Fast Cloud Best Practices

Best Practice: Performance Testing Cloud Capabilities

Evaluate vendors based on your goals…

CapacityTest vendors to 15-20% past estimated capacity goals

ElasticityBaseline end-user performance before & after testing

Test during pre-deployment and in production

Ramp elasticity testing to peak levels

BurstabilityIsolate the cloud elements from other infrastructure to test

Test the “failover process”

Page 69: Gomez Blazing Fast Cloud Best Practices

Mike Gualtieri - Senior Analyst, Forrester Research

Imad Mouline - CTO, Gomez division, Compuware