View
1.022
Download
1
Category
Preview:
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
Mike Gualtieri - Senior Analyst, Forrester Research
Imad Mouline - CTO, Gomez division, Compuware
Performance In The Cloud: Four Blazing Fast Best PracticesMike GualtieriSenior AnalystForrester Research
June 29, 2010
4Entire contents © 2009 Forrester Research, Inc. All rights reserved.
Performance in the cloud is not a slam
dunk.
5Entire contents © 2009 Forrester Research, Inc. All rights reserved.
Agenda
•Cloud performance challenges
•4 Blazing fast cloud best practices
•Recommendations
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
7Entire contents © 2009 Forrester Research, Inc. All rights reserved.
Embrace cloud as an emerging platform
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
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
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
11Entire contents © 2009 Forrester Research, Inc. All rights reserved.
Enterprises cite flexibility and on demand capacity as top reasons to adopt cloud
12Entire contents © 2009 Forrester Research, Inc. All rights reserved.
Security and maturity top list of concerns for IaaS cloud services. What about performance?
Cloud computing isn’t an if, it’s a when
and how
14Entire contents © 2009 Forrester Research, Inc. All rights reserved.
Agenda
•Cloud performance challenges
•4 Blazing fast cloud best practices
•Recommendations
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
1. Measure, monitor, and
respond.
17Entire contents © 2009 Forrester Research, Inc. All rights reserved.
Check the performance of your peers at http://benchmarks.gomez.com
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
19Entire contents © 2009 Forrester Research, Inc. All rights reserved.
Cloud performance varies widely
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
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?
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.
2. Make liberal use of caching.
23Entire contents © 2009 Forrester Research, Inc. All rights reserved.
24Entire contents © 2009 Forrester Research, Inc. All rights reserved.
The user’s distance from the content matters
25Entire contents © 2009 Forrester Research, Inc. All rights reserved.
Achieving blazing fast Web site performance is more challenging
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
3. Architect for elasticity.
28Entire contents © 2009 Forrester Research, Inc. All rights reserved. Source: Animoto (http://animoto.com/)
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
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.
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
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
33Entire contents © 2009 Forrester Research, Inc. All rights reserved.
Elastic caching platforms Q2 2010
4. Know cloud providers strengths
and weaknesses.
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
36Entire contents © 2009 Forrester Research, Inc. All rights reserved.
Cloud performance varies widely
37Entire contents © 2009 Forrester Research, Inc. All rights reserved.
Agenda
•Cloud performance challenges
•4 Blazing fast cloud best practices
•Recommendations
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.
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.
40Entire contents © 2009 Forrester Research, Inc. All rights reserved.
Thank you
Mike Gualtieri
+1 617.613.6145
mgualtieri@forrester.com
Twitter: mgualtieri
www.forrester.com
Best Practices For Ensuring Blazing Fast Cloud Applications
Imad Mouline - CTO, Gomez, The Web Performance Division of Compuware
@imadmouline
Web Applications Are Increasingly Composite
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
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
1 – Measure, Monitor, and Respond
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
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
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
“Measure, Monitor, Respond”
Average response time of reference app transaction across various Cloud providers, measured from several global locations
2 – Make Liberal Use of Caching
Web App Delivery Chain – Bottlenecks Revisited
Natural bottlenecks are also optimization opportunities
Instance
Potential bottlenecks
“Make Liberal Use Of Caching” Validate Caching at the SERVER
Long First Byte times a potential server-side caching opportunity
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
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
“Make Liberal Use Of Caching” - Validate Caching at the EDGE
“Make Liberal Use Of Caching” - Validate Caching at the BROWSER
Safari 4.x
Internet Explorer 7.x
Internet Explorer 8.x
Firefox 3.xChrome
3 – Architect For Elasticity
“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
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
The Cloud Offers Unique Opportunities For Optimization
Better performance, for little work, at no extra cost?
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
The Cloud Helps You Prepare For The Unknown
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
4 – Know the Performance of Your Cloud Provider
“Know Your Cloud Provider” - Performance
Average response time of reference app transaction across various Cloud providers, measured from several global locations
“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
(%)
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!
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”
Mike Gualtieri - Senior Analyst, Forrester Research
Imad Mouline - CTO, Gomez division, Compuware
Recommended