34
Confidential, Dynatrace, L Closing the DevOps Loop Helen Beal DevOpsologist @helenranger4 Andreas Grabner Technology Strategist @grabnerandi

Closing the DevOps Loop

Embed Size (px)

Citation preview

Page 1: Closing the DevOps Loop

Confidential, Dynatrace, LLC

Closing the DevOps Loop

Helen BealDevOpsologist

@helenranger4

Andreas GrabnerTechnology Strategist@grabnerandi

Page 2: Closing the DevOps Loop

Confidential, Dynatrace, LLC

A Short History of DevOps

2007

2008

2009 2013

Andrew ShaferAgile Conference, Toronto

Patrick Dubois

Agile System AdministratorGroup

DevOps Days Belgium#devops

John Allspaw &Paul HammondFlickR

‘Gartner ExploresDevOps’Cameron Haight

Mike Gualateri, Forrester– ‘NoOps’

Ronnie Colville of Gartner: ‘ARA is a Key to DevOps’

20142010

2011

2012

2015

2016

DevOps Days Belgium5 Year anniversary Ghent

The Phoenix Project GAME!

DevOps

Page 3: Closing the DevOps Loop

Confidential, Dynatrace, LLC

CALMS

Page 4: Closing the DevOps Loop

Confidential, Dynatrace, LLC

CALMS

Page 5: Closing the DevOps Loop

Confidential, Dynatrace, LLC

The Three Ways

Page 6: Closing the DevOps Loop

Confidential, Dynatrace, LLC

The Three Ways

Page 7: Closing the DevOps Loop

Confidential, Dynatrace, LLC

The Three Ways

Page 8: Closing the DevOps Loop

Confidential, Dynatrace, LLC

The Three Ways

1.Flow

2.Feedback loops

3. Experimentation and learning

Page 9: Closing the DevOps Loop

Confidential, Dynatrace, LLC

Ideation

Integration

ValidationOperation

Realisation

DevO

ps

The DevOps Loop ©Ranger4

Page 10: Closing the DevOps Loop

Confidential, Dynatrace, LLC

What are Metrics that Matter?

Page 11: Closing the DevOps Loop

Confidential, Dynatrace, LLC

What is Digital Performance

Management?

Page 12: Closing the DevOps Loop

Confidential, Dynatrace, LLC

mobile

browser

network

multi-geo3rd parties cloud

containers

services

codehosts

synthetic

logsbusinesstransaction

applications

sdnrelax

full-stack, broad, hyper-scale

Page 13: Closing the DevOps Loop

Confidential, Dynatrace, LLC

unified, modern, all you need

Page 14: Closing the DevOps Loop

@grabnerandihttps://dynatrace.github.io/ufo/

“In Your Face” Data!

Page 15: Closing the DevOps Loop

@grabnerandi

Time of D

eployment

Availability dropped to 0%

#1: Availability -> Brand Impact

Page 16: Closing the DevOps Loop

#2: UX by Device, Geo, AppVersion …

User Experience

AppVersion

(A/B Testing)

Device Geo

Page 17: Closing the DevOps Loop

@grabnerandi

New Deployment + Mkt Push

Increase # of unhappy users!

Decline in Conversion Rate

Overall increase of Users!

#3: User Experience -> Conversion

Spikes in FRUSTRATED Users!

Page 18: Closing the DevOps Loop

@grabnerandi

#4: Resource Cons -> Cost per Feature

4x $$$ to IaaS

Page 19: Closing the DevOps Loop

@grabnerandi

#5: Performance -> Behavior

Page 20: Closing the DevOps Loop

@grabnerandi

From Reactive to ProactiveYou measure it! from Dev (to)

Ops

Page 21: Closing the DevOps Loop

@grabnerandi

Scaling an Online Sports Club Search Service

2015201420xx

Response Time

2016+

1) 2-Man Project 2) Limited Success

3) Start Expansion

4) Performance Slows Growth Users

5) Potential Decline?

Page 22: Closing the DevOps Loop

@grabnerandi

Early 2015: Monolith Under Pressure

Can‘t scale vertically endlessly!

May: 2.68s 94.09% CPU Bound

April: 0.52s

Page 23: Closing the DevOps Loop

@grabnerandi

From Monolith to Services in a Hybrid-Cloud

Front End inGeo-Distributed

Cloud

Scale Backendin ContainersOn Premise

Page 24: Closing the DevOps Loop

@grabnerandi

Go live – 7:00 a.m.

Page 25: Closing the DevOps Loop

@grabnerandi

Go live – 12:00 p.m.

Page 26: Closing the DevOps Loop

What Went Wrong?

Page 27: Closing the DevOps Loop

@grabnerandi

26.7s Load Time5kB Payload

33! Service Calls99kB - 3kB for each call!

171! Total SQL Count

Architecture ViolationDirect access to DB from frontend service

Single search query end-to-end

Page 28: Closing the DevOps Loop

@grabnerandi

The fixed end-to-end use case“Re-architect” vs. “Migrate” to Service-Orientation

2.5s (vs 26.7) 5kB Payload

1! (vs 33!) Service Call5kB (vs 99) Payload!

3! (vs 177) Total SQL Count

Page 29: Closing the DevOps Loop

@grabnerandi

Page 30: Closing the DevOps Loop

@grabnerandi

You measure it! from Dev (to) Ops

Page 31: Closing the DevOps Loop

@grabnerandi

Build 17 testNewsAlert OKtestSearch OK

Build # Use Case Stat # APICalls # SQL Payload CPU

1 5 2kb 70ms1 35 5kb 120ms

Use Case Tests and Monitors Service & App Metrics

Build 26 testNewsAlert OKtestSearch OK

Build 25 testNewsAlert OKtestSearch OK

1 4 1kb 60ms34 171 104kb 550ms

Ops# Servers Usage UX

1 0.5% 7.2s

1 63% 5.2s

1 4 1kb 60ms2 3 10kb 150ms

1 0.6% 3.2s

6 75% 2.5s

Build 35 testNewsAlert -testSearch OK

- - - -2 3 7kb 100ms

- - -

4 80% 2.0s

Continuous Innovation and Optimization

Re-architecture into „Services“ + Performance Fixes

Scenario: Monolithic App with 2 Key Features

Page 32: Closing the DevOps Loop

Reduce Lead Time: Stop Bad Code Early, Automated through Better DevOps Feedback Loops

CI/CD: Level-Up Functional to to Architectural & Performance

regression detection

Perf: Focus on the tough performance issues in

Load Testing

Dev: Check-In BETTER Code

Ops: Keep your end users and environment

happy

Biz: Innovate on End User Behavior Analysis

Page 33: Closing the DevOps Loop

Want to see a demonstration?

Page 34: Closing the DevOps Loop

BeDevOpstastic