Data driven devops as presented at Codemash 2018

73
#DataDrivenDevOps How to cook a precise software in a modern world @jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

Transcript of Data driven devops as presented at Codemash 2018

#DataDrivenDevOpsHow to cook a precise

software in a modern world

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

About me

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

shownotes

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

www.jfrog.com/shownotes

Slides

Video (tomorrow!)

All the links!

Ratings, comments

Raffle!

Cobbler's children have

no shoes

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

Poll time!

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

How many of you are software engineers?

How many of you are optimists?

How many of you are self-confident in their work?

Dunning-Kruger Effect a.k.a. ”optimism”

People suffer from illusory superiority, mistakenly assessing their cognitive ability as greater than it is.

Wikipedia

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

Second-system effect a.k.a. “self-confidence”

The tendency of small, elegant, and successful systems, to be succeeded by over-engineered, bloated systems, due to inflated expectations and overconfidence.

The Mythical Man-Month

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

The consequences

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

disillusion

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

Software I likeSoftware I

know really well

overconfidence

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

Every software is 80% ready 80% of the time

Every developer, ever“

Hard to give up

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

How departments measure

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

Sales

Marketing Support

HR

Finance Anecdotes from daily

standup

Engineering

How departments measure

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

Sales

Marketing Support

HR

Finance Anecdotes from daily

standup

Engineering

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

Engineering metrics in pre-devops era

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

Dev• Velocity• Architecture• Compliance

QA• Incidents• Defects• MTTR• Code coverage• Test suite

stability

Ops• SLA • Cost env setup• Average

customer cost• Tools stability

DEVOPS!

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

?

Velocity to agile is like ? To devops…

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

?

Velocity to agile is like NPS To devops…

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

NPS

Also, it’s a lot like profits

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

Metric Easilyunderstandable

Unity actionable

Profit ✓ ✓ ✗Velocity ✓ ✓ ✗NPS ✓ ✓ ✗

Also, it’s a lot like profits

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

Metric Easilyunderstandable

Unity actionable

Profit ✓ ✓ ✗Velocity ✓ ✓ ✗NPS ✓ ✓ ✗

Also, it’s a lot like profits

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

Metric Easilyunderstandable

Unity actionable

Profit ✓ ✓ ✗Velocity ✓ ✓ ✗NPS ✓ ✓ ✗

Poll time!

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

Who knows what velocity is?

Who knows what burndown chart is?

Who has a burndown chart?

Who looks at the burndown chart?

Who trusts the burndown chart?

Who knows what to do if it doesn't look right?

What’s the problem?

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

Velocity

True of all three!

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

Metric Easilyunderstandable

Unity actionable

Profit ✓ ✓ ✗Velocity ✓ ✓ ✗NPS ✓ ✓ ✗

Too coarse!

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

NPS

Too coarse!

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

DevOps

This is devops*

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

Ops

QADev

Common goals, tools, culture

Deep specialization

*Unless you’re netfliX**You’re not

This is devops

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

Ops

QADev

Same for metrics!

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

Ops

QADev

NPSSpecialized metrics

Same for metrics!

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

Ops

QADev

How do metrics collaborate?

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

dev ops qa

dev • Timetobuild• Releasepipelines

stability• Artifactreplication

topology

• Falsereopencount• QAcoverage

ops • Avg costofcustomer • Smoketestsquality

qa • Testsuitestability• Incomingdefect

velocity• Testexecutiontime

• TimetocreatenewQAlab

influencedaffected

How do metrics collaborate?

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

dev ops qa

dev • Timetobuild• Releasepipelines

stability• Artifactreplication

topology

• Falsereopencount• QAcoverage

ops • Avg costofcustomer • Smoketestsquality

qa • Testsuitestability• Incomingdefect

velocity• Testexecutiontime

• TimetocreatenewQAlab

influencedaffected

How do metrics collaborate?

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

dev ops qa

dev • Timetobuild• Releasepipelines

stability• Artifactreplication

topology

• Falsereopencount• QAcoverage

ops • Avg costofcustomer • Smoketestsquality

qa • Testsuitestability• Incomingdefect

velocity• Testexecutiontime

• TimetocreatenewQAlab

influencedaffected

How do metrics collaborate?

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

dev ops qa

dev • Timetobuild• Releasepipelines

stability• Artifactreplication

topology

• Falsereopencount• QAcoverage

ops • Avg costofcustomer • Smoketestsquality

qa • Testsuitestability• Incomingdefect

velocity• Testexecutiontime

• TimetocreatenewQAlab

influencedaffected

How do metrics collaborate?

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

dev ops qa

dev • Timetobuild• Releasepipelines

stability• Artifactreplication

topology

• Falsereopencount• QAcoverage

ops • Avg costofcustomer • Smoketestsquality

qa • Testsuitestability• Incomingdefect

velocity• Testexecutiontime

• TimetocreatenewQAlab

influencedaffected

How do metrics collaborate?

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

dev ops qa

dev • Timetobuild• Releasepipelines

stability• Artifactreplication

topology

• Falsereopencount• QAcoverage

ops • Avg costofcustomer • Smoketestsquality

qa • Testsuitestability• Incomingdefect

velocity• Testexecutiontime

• TimetocreatenewQAlab

influencedaffected

How do metrics collaborate?

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

dev ops qa

dev • Timetobuild• Releasepipelines

stability• Artifactreplication

topology

• Falsereopencount• QAcoverage

ops • Avg costofcustomer • Smoketestsquality

qa • Testsuitestability• Incomingdefect

velocity• Testexecutiontime

• TimetocreatenewQAlab

influencedaffected

Cooking with metrics

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

Metrics categorization

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

Why?

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

ROI – is this activity is the right thing to do?

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

Continuous improvement

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

trust

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

sampling

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

Complete sample

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

Representative sample

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

How effective are we?

Samples are good enough for that

As long as they are representative

Need to be collected over time

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

Predicting the future

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

Let’s get practical

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

Development affects operational costs

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

Central container images repository

Developers keep pushing images

Storage prices skyrocket

Not all PoPs need all images

Continuous improvement

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

Development affects QA

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

Anecdotes about test suite stability

shared at daily startup

Special issue type “test suite

stability”

Return on investment

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

Development influences Operations trust

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

Operations want to predict costs and

be trustworthy

Will application updates generate

more load?

Trust and predictability

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

Dos and Don’ts

Measuring the right thing

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

LoC LOL, anyone?

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

Avoid data overload

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

Use reliable data

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

Metrics generate

incentives, be aware!

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

Tweak as you go

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

Elevate!

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

Raw Data

Product Specific Dashboards

Integrated Dashboards

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

Step into data-driven life

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

Removes blame game

Builds accountability and trust

Creates common base for discussion

Q&A and links

@jbaruch www.jfrog.com/shownotes #codemash #datadrivendevops

@jbaruch

#codemash

#datadrivendevops

www.jfrog.com/shownotes