Mining for gold 2.0

Preview:

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

Recommended