Upload
jurquhart
View
252
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Presented at Gluecon 2014 by James Urquhart and Rob Dickinson of Dell. "Mining" for application performance "gold" is harder than ever before. Applications are becoming parts of larger complex systems, and developers need to understand how the system behaves as much as how each application behaves. Following transaction details is an excellent way of monitoring application performance in these systems, and triggering automation activities such as autoscaling and recovery.
Citation preview
Mining for Gold
How Browser, Network, and Application Trace Mash-Ups Can Boost Application Performance
Software Group
Introducing Dell Software• Quest Software, Enstratius are the foundation• Part of “World’s Largest Startup” with 110k
people• Sponsors at GlueCon and Velocity• 6 employees in Boulder (shameless hometown plug)
Software Group
“Mining” for performance “gold” is more difficult than it
ever was.
Software Group
Our “units of deployment” may be getting a bit simpler
But our systems are getting much more complex…
Software Group
Software Group
We used to shoot for stability in a controlled environment
But we now shoot for resiliency in an ever changing
environment
Software Group
Software Group
How do we handle this complexity?
Observe, Measure and Filter
Understand Intrinsic
Latencies
Understand the
Transaction Path
Understand User Behavior
Understand Resource
Contention
Improve Logical Complexity Tune, Balance, Scale
How are your tools and techniques helping you do this today?
Software Group
Applications: Defined by Infrastructure?
CDN 3rd party
Challenges of Scale, Co-location, Tenancy, Cost
Software Group
Applications Should be Defined by Activity
How do you troubleshoot and assess problems in complex dynamic environments? How are activities identified and understood?
Software Group
System Complexity is Emergent/Entropic
What about NoSQL? RoR? Ansible? AWS? (or magic unicorns?)
Complexity is linked with market success, is driven by customers, contributors, competitors, investors, partners, even time itself
Complexity doesn’t really fade,but takes on new forms
Software Group
Complete Discrete Transaction Traces
• End user data (navigation timing and full content)
• Transaction path and parameters and timing
• Related backend resources (databases, queues)
• Full detail of user session in context
Web server
App server
DB server
End users InternetFirewall
Trace and merge before aggregation
Related Infrastructure
Software Group
Why Discrete Traces?
Software Group
Response Time Breakdown
Software Group
Response Time Analysis (multi-dimensional)
Software Group
So, your next question should be “If I’m analyzing all this
data in a constantly changing environment, how the heck
do I keep up?”
Software Group
Answer?:
Automation
Software Group
The only way to ensure
resilience at scale is to make each agent (or
cluster of agents) as “self-
resilient” as possible.
Software Group
In an automated system, provisioning, scaling, failure tolerance, and disaster recovery are
different names for the same workflows• The trigger for the workflow is the
distinguishing characteristic• All are executions of the same workflows
addressing insufficient or excess computing resources
• All tend to focus on at the workload level
Software Group
Anything you can monitor can serve as a trigger for a scaling workflow
• Raw resource utilization• Basic application metrics• Understanding the transaction path
Software Group
Aggregated and/or discrete transaction data can help identify the
proper workload to scale/recover/etc.*
*No way of predicting exactly which measure is best for all time
Software Group
Example:Uses aggregate order
rate for specific movies by region to make scaling
decisions.What scales determined
by APM data.
Software Group
Example:
Several financial services firms combine market trading volume with
transaction volume to determine when to scale.
Software Group
How do we handle this complexity?
Observe, Measure and Filter
Understand Intrinsic
Latencies
Understand the
Transaction Path
Understand User Behavior
Understand Resource
Contention
Improve Logical Complexity Tune, Balance, Scale
How are your tools and techniques helping you do this today?
Software Group
Questions and Answers