25
Mining for Gold How Browser, Network, and Application Trace Mash-Ups Can Boost Application Performance

Mining for gold 2.0

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

Page 1: Mining for gold 2.0

Mining for Gold

How Browser, Network, and Application Trace Mash-Ups Can Boost Application Performance

Page 2: Mining for gold 2.0

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)

Page 3: Mining for gold 2.0

Software Group

“Mining” for performance “gold” is more difficult than it

ever was.

Page 4: Mining for gold 2.0

Software Group

Our “units of deployment” may be getting a bit simpler

But our systems are getting much more complex…

Page 5: Mining for gold 2.0

Software Group

Page 6: Mining for gold 2.0

Software Group

We used to shoot for stability in a controlled environment

But we now shoot for resiliency in an ever changing

environment

Page 7: Mining for gold 2.0

Software Group

Page 8: Mining for gold 2.0

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?

Page 9: Mining for gold 2.0

Software Group

Applications: Defined by Infrastructure?

CDN 3rd party

Challenges of Scale, Co-location, Tenancy, Cost

Page 10: Mining for gold 2.0

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?

Page 11: Mining for gold 2.0

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

Page 12: Mining for gold 2.0

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

Page 13: Mining for gold 2.0

Software Group

Why Discrete Traces?

Page 14: Mining for gold 2.0

Software Group

Response Time Breakdown

Page 15: Mining for gold 2.0

Software Group

Response Time Analysis (multi-dimensional)

Page 16: Mining for gold 2.0

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?”

Page 17: Mining for gold 2.0

Software Group

Answer?:

Automation

Page 18: Mining for gold 2.0

Software Group

The only way to ensure

resilience at scale is to make each agent (or

cluster of agents) as “self-

resilient” as possible.

Page 19: Mining for gold 2.0

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

Page 20: Mining for gold 2.0

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

Page 21: Mining for gold 2.0

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

Page 22: Mining for gold 2.0

Software Group

Example:Uses aggregate order

rate for specific movies by region to make scaling

decisions.What scales determined

by APM data.

Page 23: Mining for gold 2.0

Software Group

Example:

Several financial services firms combine market trading volume with

transaction volume to determine when to scale.

Page 24: Mining for gold 2.0

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?

Page 25: Mining for gold 2.0

Software Group

Questions and Answers