devops pipelines and metrics driven feedback loops

Download DevOps Pipelines and Metrics Driven Feedback Loops

If you can't read please download the document

Post on 15-Apr-2017

1.403 views

Category:

Software

3 download

Embed Size (px)

TRANSCRIPT

Dynatrace Presentation

Metrics-Driven PipelinesorTesting & Measures in DevOpsAndreas Grabner: @grabnerandi, andreas.grabner@dynatrace.com Slides: http://www.slideshare.net/grabnerandiPodcast: https://www.spreaker.com/show/pureperformance

Most screenshots are from Dynatrace AppMon http://bit.ly/dtpersonal but presented concepts should work with many other tools

1

The Story started in 2009

@grabnerandi

The first DevOpsDays held in Ghent, Belgium: https://legacy.devopsdays.org/events/2009-ghent/

2

@grabnerandi

http://www.telehouse.com/2016/03/devops-how-a-culture-of-empathy-creates-massive-productivity/

3

The stuff we did when we were a Start Up and we All wereDevs, Testers and OpsQuote from Andreas Grabner back in 2013 @ DevOps Boston

@grabnerandi

@grabnerandi

In case you are a DevOps Virgin I definitely recommend checking out The Phoenix Project (the DevOps Bible) and Continuous Delivery (which is what we actually all want to achieve): Deliverying software faster with great quality and without all potential mistakes that a manual and rigid process brings with it

This inspired many companies which have been talking about their successes!5

Utmost goal: minimize cycle time (= Lead Time)time

feature cycle time

minimizeUsersThis is where youcreate value!

Minimize feature cycle time and

6

From the DevOps Webinar with Gene & Mark

Mark TomlinsonPerformance Sherpa@mark_on_taskAndi GrabnerPerformance Advocate@grabnerandiGene Kim, CTOResearcher and Author@RealGeneKim

Webinar Recording: https://info.dynatrace.com/apm_wc_gene_kim_na_registration.html

See the full webinar: https://info.dynatrace.com/apm_wc_gene_kim_na_registration.html7

High Performers Are 200x

2,555xmore frequent deploymentsfaster lead times than their peersSource: Puppet Labs 2015 State Of DevOps Report: https://puppet.com/resources/white-paper/2016-state-of-devops-report

More Agile3x

24xlower change failure ratefaster Mean Time to RecoverMore Reliable

8

24 Features in a BoxShip the whole box!Very late feedback

F r u s t r a t i o n !

My blog on this: http://apmblog.dynatrace.com/2016/11/16/transformation-to-continuous-innovation-and-optimization/9

1 Feature at a TimeOptimize before Deploy

Immediate Customer Feedback

Continuous Innovation and Optimization

The new way is how we take Pictures Right Now: We see what we are about to build we optimize it on the spot based on best practices we deploy it into production and immediately get feedback from our customers / friends: then we can decide whehter we built the right thing or not. Whether we take another picture of the scene or not or whether we delete some of those that nobody likes10

DevOps Adoption

Resource: http://www.spikelab.org/blog/the-word-devops-and-a-marketing-problem.html 11

700 deployments / YEAR10 + deployments / DAY50 60 deployments / DAYEvery 11.6 SECONDS

Innovators (aka Unicorns): Deliver value at the speed of business

Several companies changed their way they develop and deploy software over the years. Here are some examples (numbers from 2011 2014)Cars: from 2 deployments to 700Flicks: 10+ per DayEtsy: lets every new employee on their first day of employment make a code change and push it through the pipeline in production: THATS the right approach towards required culture changeAmazon: every 11.6s

Remember: these are very small changes which is also a key goal of continuous delivery. The smaller the change the easier it is to deploy, the less risk it has, the easier it is to test and the easier is it to take it out in case it has a problem.

12

Early Adopters

But not only the hipsters / unicorns have been doing it it is catching on even in enterprises that seem too big. But because they are too big to fail they had to go through a major transformation!Taken from http://www.hostingadvice.com/blog/cloud-66-devops-as-a-service/13

DevOps @ Targetpresented at Velocity, DOES and more http://apmblog.dynatrace.com/2016/07/07/measure-frequent-successful-software-releases/ We increased from monthly to 80 deployments per week

only 10 incidents per month

over 96% successful! .

@grabnerandi

Such as Target ...14

We DeliverHigh Quality Software,Faster and Automated using New Stack

Shift-Left Performance to Reduce Lead Time Adam Auerbach, Sr. Dir DevOpshttps://github.com/capitalone/Hygieia & https://www.spreaker.com/user/pureperformance deploy some of our most critical production workloads on the AWS platform , Rob Alexander, CIO

http://www.americanbanker.com/news/bank-technology/banking-apps-that-matter-will-head-to-the-cloud-in-2016-1078525-1.html15

From 0 to DevOps in 80 daysLessons learnt from shifting an on-prem to a cloud cultureBernd Greifeneder, CTOhttp://dynatrace.com/trial

Webinar: http://ow.ly/cEYo305kFEyPodcast: http://bit.ly/pureperf

Check out the recorded webinar and podcastWebinar: http://ow.ly/cEYo305kFEyPodcast: http://bit.ly/pureperf

16

2 major releases/yearcustomers deploy & operate on-prem26 major releases/year170 prod deployments/dayself-service online sales SaaS & Managed20112016

Die 17

believe in the mission impossible6 monthsmajor/minor release+ intermediate fix-packs+ weeks to months rollout delay

sprint releases (continuous-delivery)1h : code to production

#COMPANY CONFIDENTIAL DO NOT DISTRIBUTE#Perform2015Dynatrace 6.2 verstrkte burn-down phase im letzten 1/3:Ruxit - up/down trend in sprints, ideal wre eine gerade blaue linie, wobei sich rot und grn leicht zeitversetzt berdecken

18

https://dynatrace.github.io/ufo/In Your Face Data!

@grabnerandi

A basic key metric for developers should be Did I break the build.This is why we at Dynatrace installed these Pipeline State UFOs that are hooked up with Jenkins to tell engineers how good or bad the current Trunk or Latest Sprint build isKey thing here is that this should not only be applied to the build itself but to metrics across the delivery pipeline: from DevToOps. It should include metrics like the next examples19

Time of DeploymentAvailability dropped to 0%#1: Availability -> Brand Impact

@grabnerandi

The most basic metric for everyone operating software. Did my last deployment break anything? Is the software still available from those locations where my users are accessing the software? Use Synthetic Monitoring: http://www.dynatrace.com/en/synthetic-monitoring/ 20

New Deployment + Mkt PushIncrease # of unhappy users!Decline in Conversion RateOverall increase of Users!#2: User Experience -> ConversionSpikes in FRUSTRATED Users!

@grabnerandi

Monitoring user experience and impact on conversion rateScreenshot from Dynatrace AppMon & UEM21

#3: Resource Cons -> Cost per Feature4x $$$ to IaaS

@grabnerandi

Even if the deployment seemed good because all features work and response time is the same as before. If your resource consumption goes up like this the deployment is NOT GOOD. As you are now paying a lot of money for that extra compute powerScreenshot from Dynatrace AppMon22

#4: Performance -> Behavior

@grabnerandi

Understand user behavior depending on who they are and what they are doing.Screenshot from https://github.com/Dynatrace/Dynatrace-UEM-PureLytics-Heatmap

Does the behavior change if they have a less optimal user experience?Screenshot from https://github.com/Dynatrace/Dynatrace-UEM-PureLytics-Heatmap

Seems like users that have a frustrating experience are more likely to click on SupportScreenshot from https://github.com/Dynatrace/Dynatrace-UEM-PureLytics-Heatmap

23

Dynatrace Transformation by the numbers23x

170more releasesDeployments / Day31000

60hUnit+Int Tests / hourUI Tests per BuildMore Quality~200

340code commits / dayStories per sprintMore Agile93%Production bugs found by Dev@grabnerandiMore Stability450

99.998%Global EC2 InstancesGlobal Availability

24

Not every Sprint ends without bruises!

@grabnerandi

Richard DominguezDeveloper in OperationsPrep SportswearIn 2013 business demanded to go from monthly to daily deployments80% failed!

@grabnerandi

Unfortunately not every story is a good story. But the bad stories are often not told even though we can learn even more. PrepSportswear failed 80% of their deployments after speading up deployments26

Understanding Code Complexity4 Millions Lines of Monolith CodePartially coded and commented in RussianFrom Monolith to MicroserviceInitial devs no longer with companyWhat to extract withouth breaking it?Shift Left Quality & PerformanceNo automated testing in the pipelineBad builds just made it into productionCross Application ImpactsShared Infrastructure between AppsNo consolidated monitoring strategy

Podcastshttps://www.spreaker.com/user/pureperformance/pureperformance-guest-host-series-01-alohttps://www.spreaker.com/user/pureperformance/006-how-to-sell-performance-to-marketing_1https://www.spreaker.com/user/pureperformance/007-attack-of-the-bots-spiders-from-mars

Webinars & eBookshttps://info.dynatrace.com/apm_all_17q2_cs_prep_sportswear_case_study_en_fulfilment.html?_sf_s=prephttps://info.dynatrace.com/apm_wc_prepsportswear_na_registration_devops.html?_sf_s=prephttps://info.dynatrace.com/apm_wc_prep_sportswear_na_registration.html?_sf_s=prep27

Scaling an Online Sports Club Search Service

2015201420xx

Response Time2016+1) 2-Man Project2)

Recommended

View more >