(R)evolutionize APM

51
Dynatrace Lunch & Learn

Transcript of (R)evolutionize APM

Page 1: (R)evolutionize APM

1 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace

Dynatrace Lunch & Learn

Page 2: (R)evolutionize APM

2 @Dynatrace

• 5,700 customers, from Born-In-The-Cloud to Global 2000

• Gartner Market Share leader for two consecutive years

• Used by 17 of the top 20 online retailers - Internet RETAILER, 2014 TOP 500 Guide

• Net Promoter Score of 89, best NPS among all APM vendors

• 600 R&D and 300 technical experts - Largest expertise in APM

Dynatrace

Page 3: (R)evolutionize APM

3 @Dynatrace

- by learning from DevOps Movement

- More on http://blog.dynatrace.com

Hosted by: Andreas Grabner - @grabnerandi

(R)Evolutionize APM

Page 4: (R)evolutionize APM

4 @Dynatrace

Page 5: (R)evolutionize APM

5 @Dynatrace

Page 6: (R)evolutionize APM

6 @Dynatrace

Page 7: (R)evolutionize APM

7 @Dynatrace

The stuff we did when we were a Start Up

and we All were

Devs, Testers and Ops

Page 8: (R)evolutionize APM

8 @Dynatrace

Improve Collaboration between Developers and Operators and

• Stop wasting money

• Stop wasting time

• Stop frustrating people

• Start building great systems

•And do it much faster and more frequent!

The Idea is to …

Page 9: (R)evolutionize APM

9 @Dynatrace

Who made the transition?

700 Deployments / Year

50-60 Deployments / Day

10+ Deployments / Day

Every 11.6 seconds

Page 10: (R)evolutionize APM

10 @Dynatrace

Inside the Amazon Numbers!

75% fewer outages since 2006

90% fewer outage minutes

~0.001% of deployments cause a problem

Instantaneous automatic rollback

Deploying every 11.6s

Page 11: (R)evolutionize APM

11 @Dynatrace

Recommended Book

It’s a culture thing

Page 12: (R)evolutionize APM

12 @Dynatrace

Status Quo: Unreliable Software Impacts Business

Page 13: (R)evolutionize APM

13 @Dynatrace

The “War Room”

Facebook – December 2012

Page 14: (R)evolutionize APM

14 @Dynatrace

~80% of problems

caused by ~20% patterns

YES we know this

80% Dev Time in Bug Fixing

$60B Defect Costs

BUT

Page 15: (R)evolutionize APM

15 @Dynatrace

4 Situations on

WHY this happened,

HOW to avoid it

Metrics to look at

Page 16: (R)evolutionize APM

16 @Dynatrace

Page 17: (R)evolutionize APM

17 @Dynatrace

#Push without a Plan

Page 18: (R)evolutionize APM

18 @Dynatrace

Mobile Landing Page of Super Bowl Ad

434 Resources in total on that page:230 JPEGs, 75 PNGs, 50 GIFs, …

Total size of ~ 20MB

Page 19: (R)evolutionize APM

19 @Dynatrace

Metrics: Load Time, # Resources (Images, …),

# HTTP 3xx, 4xx, 5xx

Dev: Build for Mobile

Test: Test on Mobile

Ops: Monitor Mobile

Page 20: (R)evolutionize APM

20 @Dynatrace

Page 21: (R)evolutionize APM

21 @Dynatrace

#“Blindly” (Re)use Existing

Components

Page 22: (R)evolutionize APM

22 @Dynatrace

Requirement: We need a report

Page 23: (R)evolutionize APM

23 @Dynatrace

Using Hibernate results in 4k+ SQL Statements to display 3 items!

Hibernate Executes 4k+ Statements

Individual Execution VERY

FAST

But Total SUM takes 6s

Page 24: (R)evolutionize APM

24 @Dynatrace

Metrics: # Total SQLs# SQLs / Web Request# Same SQLs / Request

Transferred Rows

Test: With realistic Data

Dev: “Learn” Frameworks

Ops: Monitor Usage

Page 25: (R)evolutionize APM

25 @Dynatrace

Page 26: (R)evolutionize APM

26 @Dynatrace

Don’t assume

You know the environment

Page 27: (R)evolutionize APM

27 @Dynatrace

Distance Calculation Issues

480km biking in 1 hour!

Solution: Unit Test in Live App reports Geo

Calc Problems

Finding: Only happens on certain

Android versions

Page 28: (R)evolutionize APM

28 @Dynatrace

3rd Party Issues

Impact of bad 3rd party calls

Page 29: (R)evolutionize APM

29 @Dynatrace

Metrics: Crashes, Exceptions, # and Status of 3rd Party Calls, Payload of

Web Service Calls

Dev: Build for Mobile

Test: Test on Mobile and Diff. Carriers

Ops: Monitor Mobile

Page 30: (R)evolutionize APM

30 @Dynatrace

Page 31: (R)evolutionize APM

31 @Dynatrace

#No “Agile” Deployment

Page 32: (R)evolutionize APM

32 @Dynatrace

Load Spike resulted in UnavailabilityAd

on

air

Page 33: (R)evolutionize APM

33 @Dynatrace

Alternative: “GoDaddy goes DevOps”

1h before SuperBowl KickOff

1h after Game ended

Page 34: (R)evolutionize APM

34 @Dynatrace

Behind the Scenes

Page 35: (R)evolutionize APM

35 @Dynatrace

Metrics: AvailabilityPage Size, # Objects

# Hosts, # Connections

DevOps: “Feature” Switches

Page 36: (R)evolutionize APM

36 @Dynatrace

Commit Stage• Compile• Execute Unit Test• Code Analysis• Build installers

Automated Acceptance

Testing

Automated Capacity Testing

Manual testing• Key showcases• Exploratory testing Release

Unit & Integration Tests

Functional Tests

Performance TestsProductionMonitoring

Functional Tests

Page 37: (R)evolutionize APM

37 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace

Deep Dive• Deepest visibility

• All transactions

• Discrete transaction tracing

• Code-level details

• Full lifecycle integration

Synthetics• SaaS Delivery

• World Presence

• Running in minutes

• Worldwide network

• Web & mobile

• Enterprise Apps

Passive Network• Real User Monitoring

• Passive

• All Apps

• Tier-by-tier

• Network visibility

Dynatrace

APM

• Development • Test • Production • Business

SaaS Delivery Model• Internet Synthetic• Industry Benchmarks• dynaTrace DTM• User Experience• Mobile

On Prem Delivery Model• DCRUM• dynaTrace DTM• Synthetic Enterprise• Real User Experience• APM in the Lifecycle

The Dynatrace APM Trifecta

Page 38: (R)evolutionize APM

38 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace

Dynatrace SyntheticGlobal Internet Transaction Management Deep Dive

•Deepest visibility

•All transactions

•Discrete transaction tracing

•Code-level details

•Full lifecycle integration

Synthetics

•SaaS-delivered

•Running in minutes

•Worldwide network

•Web & mobile

Passive

•Real Users

•Passive

•All Apps

•Tier-by-tier

•Network visibility

Page 39: (R)evolutionize APM

39 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace

Synthetic AgentsDeployed and managedby Dynatrace

The World’s Most Comprehensive Performance and Testing Network

High Volume Load Generation

13 Global locations

CloudBackbone Last Mile

Web Performance Management100+ locations

Web Performance Management and

Load Testing 10,000’s+ locations

Mobile

Dozens of countries connected to real wireless carriers

Synthetic Private AgentsDeployed by Customer• SaaS Private Agents• SaaS Private Peers• Enterprise Synthetic (OnPrem)

Page 40: (R)evolutionize APM

40 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace

APM Portal - Out of The Box Dashboards

Critical Transactions

3rd Party

Errors

Global Perspective

Page 41: (R)evolutionize APM

41 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace

Automated Diagnostics and Drilldown to PurePath

Home page is slow

Event Notification

Problem Identification

Automatic Problem Analysis

1st Byte Time

Page 42: (R)evolutionize APM

42 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace

Datacenter MonitoringPassive Application Monitoring

Featuring• Transaction Trace Analysis

Deep Dive

•Deepest visibility

•All transactions

•Discrete transaction tracing

•Code-level details

•Full lifecycle integration

Synthetics

•SaaS-delivered

•Running in minutes

•Worldwide network

•Web & mobile

Passive

•Real Users

•Passive

•All Apps

•Tier-by-tier

•Network visibility

Page 43: (R)evolutionize APM

43 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace

How Does It Work?

• Fault Domain Isolation: Locate Bottlenecks

• Business Impact: Managing vs. Monitoring

• Prioritization: Affected Users, Affected Transactions

• All Applications: Across entire datacenter

• All Users: By User ID, By Locations, Citrix, VM, WAN, and LAN

• Always On: Continuous data feed of Performance

Page 44: (R)evolutionize APM

44 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace

Affected Users

Cross-Tier FDI

Synthetic Network Health

Overlay Charts

Centralized View of All Applications

Page 45: (R)evolutionize APM

45 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace

Client Delays Shown Here

Detailed Operation Breakdown

Page 46: (R)evolutionize APM

46 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace

Dynatrace ApplicationDeep Transaction Monitoring Deep Dive

•Deepest visibility

•All transactions

•Discrete transaction tracing

•Code-level details

•Full lifecycle integration

Synthetics

•SaaS-delivered

•Running in minutes

•Worldwide network

•Web & mobile

Passive

•Real Users

•Passive

•All Apps

•Tier-by-tier

•Network visibility

Page 47: (R)evolutionize APM

47 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace

Test Environment

Production Environment

8x slower

3x more SQL

Page 48: (R)evolutionize APM

48 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace

Test Environment Production Environment

Hibernate, Classloading,

XML – The Key Hotspots

Hibernate, Classloading, XML

– The Key Hotspots

I/O for Web Requests doesn’t

even show up!

That’s Normal: Having I/O for Web

Request as main contributor

Page 49: (R)evolutionize APM

49 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace

Top Contributor Class.getInterfaces

Called from Hibernates FieldInterceptionHelper

These calls all originate form thousands of calls to

find item by code

Page 50: (R)evolutionize APM

50 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Dynatrace

Every 11.6 seconds

Commit Stage• Compile• Execute Unit Test• Code Analysis• Build installers

Automated Acceptance

Testing

Automated Capacity Testing

Manual testing• Key showcases• Exploratory testing Release

Unit & Integration Tests

Functional Tests

Performance TestsProductionMonitoring

Functional Tests

Page 51: (R)evolutionize APM

51 @Dynatrace

Andreas GrabnerDynatrace Developer Advocate

@grabnerandi

http://blog.dynatrace.com