Metrics-Driven DevOps
Myrvin Yap: myrvin.yap@dynatrace.com
Podcast: https://www.spreaker.com/show/pureperformance
confidential
Confidential, Dynatrace, LLC
Develop
Ship
Deploy
Run
Scale
Compute
nodejs mongo db netty cassandra redis
ansible jenkins puppet chef
docker cloudfoundry rh openshift rh atomic rocket
core os rancher kvm busybox
mesos marathon kubernetes swarm
amazon azure openstack mesosphere calico weave
eureka/hystrix
A whole new technology stack & polyglot development
Code Complexity From Monolith to Microservice
No automated testing in the pipeline Cross Application Impacts
confidential
24 “Features in a Box” Ship the whole box!
Very late feedback 
confidential
Continuous User Driven Innovation
1 “Feature at a Time”
Optimize Before DeployImmediate Customer Feedback
@grabnerandi
You measure it! from Dev (to) Ops
confidential
DevOps !=
Install Jenkins +
Micro-services & Cloud
@grabnerandi
Not every Sprint ends without bruises!
@grabnerandi
Richard Dominguez
Developer in Operations
Prep Sportswear
„In 2013 business demanded to go
from monthly to daily deployments“
„80% failed!“
@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?
@grabnerandi
Early 2015: Monolith Under Pressure
Can‘t scale vertically endlessly!
May: 2.68s 94.09% CPU
Bound
April: 0.52s
@grabnerandi
From Monolith to Services in a Hybrid-Cloud
Front End in
Geo-Distributed
Cloud
Scale Backend
in Containers
On Premise
@grabnerandi
Go live – 7:00 a.m.
@grabnerandi
Go live – 12:00 p.m.
What Went Wrong?
@grabnerandi
26.7s Load Time
5kB Payload
33! Service Calls
99kB - 3kB for each call!
171! Total SQL Count
Architecture Violation
Direct access to DB from frontend service
Single search query end-to-end
Understanding Code Complexity
• Existing 10 year old code & 3rd party
• Skills: Not everyone is a perf expert or born architect
From Monolith to Microservice
• Service usage in the End-to-End Scenarios?
• Will it scale? Or is it just a new monolith?
Understand Deployment Complexity
• When moving to Cloud/Virtual: Costs, Latency …
• Old & new patterns, e.g: N+1 Query, Data
Understand Your End Users
• What they like and what they DONT like!
• Its priority list & input for other teams, e.g: testing
@grabnerandi
@grabnerandi
“To Deliver High Quality Working Software Faster“
„We have to Shift-Left Performance to Optimize Pipelines“
http://apmblog.dynatrace.com/2016/10/04/scaling-continuous-delivery-shift-left-performance-to-improve-lead-time-pipeline-flow/
Reduce Lead Time: Stop 80% of Performance
Issues in your Integration Phase
CI/CD: Test Automation (Selenium,
Appium, Cucumber, Silk, ...) to
detect functional and architectural
(performance, scalabilty) regressions
Perf: Performance Test (JMeter,
LoadRunner, Neotys, Silk, ...) to
detect tough performance issues
= Functional Result (passed/failed)
+ Web Performance Metrics (# of Images, # of JavaScript, Page Load Time, ...)
+ App Performance Metrics (# of SQL, # of Logs, # of API Calls, # of Exceptions ...)
Fail the build early!
@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 Call
5kB (vs 99) Payload!
3! (vs 177)
Total SQL Count
confidential
Show time!
confidential
2-Tier Micro-Service App
confidential
Build, deploy and test this application through Jenkins
confidential
Push 2 Versions of the App through our Pipeline
confidential
Detect the regression
confidential
Fail the pipeline
confidential
Use Case: DevOps
Transformation @ Dynatrace
confidential
Challenges to master!
 Deploying the same way our customers do: Continuously!
 Not disrupting current operations and slower moving customers
 Aligning 300+ engineers across 3 different geos
 Solution: Innovation through Incubation!
2 major releases/year
customers deploy & operate on-prem
26 major releases/year
170 prod deployments/day
self-service online sales
SaaS &
Managed
2011 2016
33 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015
believe in the mission impossible
6months
major/minor release
+ intermediate fix-packs
+ weeks to months
rollout delay
sprint releases (continuous-delivery)
1h : code to production
NOC lessons learnt
Shift-Left Quality
Quality/Performance matters in Dev/Staging as well!
Make Dev/CSA/PM dependent from Quality in trunk!
DevOps = start thinking like an Ops before Commit
Shift-Right Metrics
enable DEVs defining quality metrics
make DEVs to the primary consumers of their metrics
acting as
Engineers
Role of Dynatrace DevOps Team
Dynatrace Managed/SaaS
Orchestration Layer
DynatracePipeline Visualization
Deployment Timeline
Log Overview
using Dynatrace Log APIJIRA Integrations
&
Product Managers
confidential
https://github.com/Dynatrace/ufo
Raising Awareness of Pipeline Quality
confidential
Dev/Test: Bad Code
Changes
Ops/Biz: Unhappy End
Users
Performance:
Overloaded COEs
confidential
Dev/Test: Check-In
Better Code
Ops/Biz: Use Real-Time
End User Feedback
CI/CD/Performance:
Stop Bad Builds Faster
ruxit theme 2014.05.15
Be proud of your feature!
DevOps  NoOps
Dynatrace Transformation by the numbers
26
170
Releases / Year
Deployments / Day
31000 60h
Unit & Int Tests / hour UI Tests per Build
More Quality
~200 340
Code commits / day Stories per sprint
More Agile
93%
Production bugs found by Dev
More Stability 450 99.998%
Global EC2 Instances Global Availability
confidential
Final Thoughts …
confidential
% 20%
organization & culture technology
Dynatrace as a common platform for collaboration
Business
stakeholder
Operations
stakeholder
Apps/Dev
stakeholder
confidential
Ecosystem …
confidential
confidential
AI-Driven Digital Operation Ecosystem
DAVIS / REST
Thank you.

Metrics driven dev ops 2017