coe klaus enzenhofer - dynatracer... · 1 #kenzenhofer klaus enzenhofer...

Post on 19-Apr-2020

0 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1 #kenzenhofer

Klaus Enzenhoferklaus.enzenhofer@dynatrace.com#kenzenhofer

(R)evolutionize APM

Rapidly Changing

Requirements &

User Expectations

Our Goal?

7 #kenzenhofer

Utmost Goal: Minimize Cycle Time

feature cycle time time

Customer / Market Users

8 #kenzenhofer

Utmost Goal: Minimize Cycle Time

feature cycle time time

minimize Users

9 #kenzenhofer

Utmost Goal: Minimize Cycle Time

feature cycle time time

This is when youcreate value!

minimize

You

10 #kenzenhofer

ReleaseAcceptance

TestingUnit Testing

PerformanceTesting

Coding

Reduce Lead Time

Automate & Improve Process

11 #kenzenhofer

700 Deployments / Year

50-60 Deployments / Day

10+ Deployments / Day

Every 11.6 seconds

Challenges?

13 #kenzenhofer

Deploy Faster!!

14 #kenzenhofer

Fail Faster!!?

15 #kenzenhofer

Right Focus?!

16 #kenzenhofer

DevOps Team

Developer Tester Operations

17 #kenzenhofer

The Problem

in the World

today is

COMMUNICATION

Metricsbased

Decisions!

? ? ?

Unit/Integration

Tests

Acceptance

Tests

Capacity

Tests

ReleaseDevelopers

20 #kenzenhofer

Performance Issues

Unit Tests Integration Tests

Acceptance Tests

Load Tests

Meets requirements

Responds correctly to input

Performs in acceptable time

Usability

Deployment

Achieves Correct Result

What you DO measure

What you DO measure

Performance Metrics

in your CI # Test Failures

Overall Duration

# calls to API

# executed SQL statements

# Web Service Calls

# JMS Messages

# Objects Allocated

# Exceptions

# Log Messages

Execution Time of Tests

Basics

Metric: Test duration

I don’t like endsWith…… I like regex!

N+1 Queries

Metrics: # SQL Executions / Request# of “same” SQL Executions

24 #kenzenhofer

Ignoring Architectural Rules

Metric: # SQL Executions / Request

25 #kenzenhofer

•# Images

•# Redirects

•Size of Resources

•# SQL Executions

•# of SAME SQLs

•# Items per Page

•# AJAX per Page

Metrics-based decisions

•Time Spent in API

•# Calls into API

•# Functional Errors

•3rd Party calls

•# of Domains

•Total Size

•…

26 #kenzenhofer

ReleaseAcceptance

TestingUnit Testing

PerformanceTesting

Coding

Reduce Lead Time

Automate & Improve Process

27 #kenzenhofer

28 #kenzenhofer

Putting it into Continuous Deployment

12 0 120ms

3 1 68ms

Build 20 testPurchase OK

testSearch OK

Build 17 testPurchase OK

testSearch OK

Build 18 testPurchase FAILED

testSearch OK

Build 19 testPurchase OK

testSearch OK

Build # Test Case Status # SQL # Excep CPU

12 0 120ms

3 1 68ms

12 5 60ms

3 1 68ms

75 0 230ms

3 1 68ms

Test & Monitoring Framework Results Architectural Data

We identified a regresesion

Problem solved

Exceptions probably reason for

failed testsProblem fixed but now we have an

architectural regression

Problem fixed but now we have an

architectural regressionNow we have the functional and

architectural confidence

Let’s look behind the

scenes

ReleaseAcceptance

TestingUnit Testing

PerformanceTesting

Monitor Tests

Analyze Results

Quality Gate in your Build Tool

Every 11.6 seconds

30 #kenzenhofer

Deploy Faster!!

Without Failing!

32 #kenzenhofer

Klaus EnzenhoferSenior Technology Strategist

#kenzenhofer

klaus.enzenhofer@dynatrace.com

http://blog.dyntrace.com

Thank You!

top related