SlideShare une entreprise Scribd logo
1  sur  35
Télécharger pour lire hors ligne
Metrics Driven Development 
How to improve visibility, 
communication and feedback loop 
through metrics 
Erno Aapa @ernoaapa 
Developer, DevOps-consultant 
erno.aapa@avaus.fi 
DevOps-Finland meetup 
Helsinki 
10.09.2014
ERNO AAPA 
Developer / Team Leader 
DevOps-consultant 
Founder of DevOps-Finland 
Daily work as a developer. One of Avaus 
tech team leaders and consult companies 
about DevOps. 
On free time organize DevOps-Finland 
meetings. 
Who am I? 
2 11/09/14
Measurement is one of the keys 
Everyone emphasize the importance of it
Three Ways: Feedback 
Feedback loop 
4 11/09/14
M in C.A.L.M.S 
Measure everything 
Show the 
improvement 
5 11/09/14
Build-MEASURE-Learn 
Measure and learn 
6 11/09/14
… but in reality… 
we need it, but we don’t have it
What we have 
Business 
Monthly / Yearly 
reports 
Financial reports 
Google Analytics 
8 11/09/14 
Dev 
? 
Ops 
CPU, Mem, IO, Disk 
Zabbix/Ganglia/Nagios 
QA 
Test coverage reports 
CI server notifications 
Performance test 
results
What that cause? 
• Bad visibility 
Ops-team tries to get the information from logs, load metrics, etc. 
Business doesn’t have detailed visibility only high level reports 
• Dev “just do my job” 
They don’t feel the “heartbeat” of the service 
• Invalid conception of service state 
“No-one complains so it works… I guess :/ ” 
• “Business bug” – feature created but not used 
Service full of unused legacy features 
9 11/09/14
Metrics Driven Development (MDD) 
“…is a practice where metrics are used 
to drive the entire application 
development” 
InfoQ / 2012
Principles 
Define metrics before implementation 
of Metrics Driven Development (MDD) 
• Like in TDD implement test first, implement metric first 
• For example: Include metrics to user stories 
Instrumentation-as-Code 
• Developers must be able to add new metric with minimal(=one line) effort 
Single Source Of Truth 
• Store common metrics from app, logs, monitoring agents and other tools to single place 
• Platform should be so timely, comprehensive, and intuitive to use that everyone instinctively relies on it 
Shared view for key metrics 
• Shared view to give all same vision 
• So simple that everyone can understand it 
Use metrics when making decisions 
• You have powerful information, use it when you’re making decisions 
Maintain and follow the metrics 
• Follow the metrics - now popular feature can be waste tomorrow 
• Remove unneeded metrics – it’s code, it need to be maintained 
11 11/09/14 Erno Aapa / 2014 
Librato Blog / 2014 
InfoQ / 2012
User story 
Define what to measure and what we expect to user story 
As a user I can order items in my shopping cart. 
We measure visited users and count of orders. 
We expect to at least 20% of users to order items in 
shopping cart. 
12 11/09/14 
Can be 
defined in 
EPIC or 
FEATURE 
too
Collect required metrics 
Developer adds required code to collect metrics 
# Somewhere in your where login happens... 
statsd.increment("users.visited”) 
13 11/09/14 
# ...and where you handle the orders 
statsd.increment(”shopping.ordered”) 
Somefile.rb 
OtherFile.rb
Share visibility 
Visualize metric and also what we expect 
14 11/09/14 
Visualize what we 
are expecting. Easy 
to everyone 
understand what is 
good or bad. 
Use this information 
when making 
decisions
Single place of truth 
Provide single place for data to easily compare and analyze 
15 11/09/14 
Frontend Service Monitoring
Shared dashboard for key metrics 
Make most important metrics visible to everyone - all the time 
16 11/09/14
In the meeting 
Use the information when you’re making decisions 
• What features have went to live? 
• Did we achieve what wanted? 
• Should we continue to improving them? 
• Or should we remove them? 
• What is our overall status? 
• What we do next to achieve our goal? 
17 11/09/14
PRODUCT OWNER / STAKEHOLDERS 
- Get real time information from 
production 
- Can make data driven decisions 
- Support LeanStartup way 
DEVELOPER 
- Get the “feeling” and visibility to 
production 
- Drop unused features 
- Can focus on important parts 
TEST MANAGER 
- Get visibility to production 
- Can scale tests to match with 
production 
SYSADMIN 
- Get visibility to inside of the app 
- In case of problems easier to find 
the error 
Everyone benefit from it 
18 11/09/14 
just to name few…
Communication 
19 11/09/14 
Ops 
Business 
Dev 
Metrics 
Shared view and 
goals helps 
communication 
Benefits of MDD
Imaginary case 
Simple Java web shop
My Webshop 
21 11/09/14 
Web 
shop 
UI 
User orders items 
through Web UI 
Server Graphite Grafana 
After processing the 
order, server sends 
data to Graphite 
Use Grafana to 
visualize data.
By developer 
22 11/09/14 
1. Create counter 
2. Increment counter 
THATS 
ALL!
By developer 
23 11/09/14 
SEE 
THE 
RESULTS! 
Type the metric 
name and…
… when you get started 
Gauges 
• Queue sizes 
Timers 
• Query times 
• Response times 
Counters 
• Execution counters 
Histograms 
• median, 75th, 90th, 95th, 98th, 99th 
24 11/09/14 
Measure time with 
single @annotation 
There is so many things what you can measure, if you 
have the capability
Pitfalls 
”Metrics are always powerful political ammunition, to be used for better or 
worse” 
Metrics-driven Enterprise Software Development- book 
”Tried a solution where OPS and DEV were sharing one metrics server… it didn't 
work” 
Mantas Klasavicius / Adform 
”MONITOR ALL THE THINGS! No, you should not wrap every single method call in 
your application to increment a counter” 
Librato blog
What tools to use? 
To collect, store, display? SaaS maybe?
27 11/09/14 
TOOLS WHY 
COLLECT • StatsD (multiple languages) 
• Code Hale Metrics (Java) 
• Easy to implement by self 
• Provide ”one-line” –way to developer 
collect any metrics from application 
• Possible to change storage from 
configuration 
STORE • Graphite 
• InfluxDB 
• … and more 
• Store time-series data 
• Provides easy accessable API 
• Aggrigate data on ”on the fly” 
• Downsample old data 
DISPLAY • Grafana 
• Tesseo 
• … and more 
• Simple to use 
• Simple and clear graphs 
• Possible to create multiple dashboards 
SaaS • Librato.com 
• geckoboard.com 
• leftronic.com 
• HostedGraphite.com 
• Influxdb.com 
• …and many more 
• Easy to get started 
• Maintained 
• Free to test 
Give a demo and convince others!
Graphite vs. InfluxDB 
Key / Value Send data Json 
echo “dc1.server2.cpuload 5.6" | nc graphite.com 
echo “app.visitors 1" | nc graphite.com 2003 
28 11/09/14 
"name" : “cpu_load", 
"columns" : ["value", ”dc", ”server"], 
"points" : [ [5.6, ”dc1", ”server2”] ] 
"name" : “visitors", 
"columns" : ["value”, ”browser", ”version"], 
"points" : [ [1, ”Chrome” , 37.0] ]
Graphite vs. InfluxDB 
average(dc1.*.cpuload) 
sum(app.visitors) 
Not possible :( 
// Top 5 servers with highest load 
highestAverage(*. *.load,5) 
29 11/09/14 
Aggregate data 
select average(value) from cpu_load where dc = ‘dc1’ 
select sum(value) from visitors 
select sum(value) from visitors 
where browser = ‘Chrome’ and 
version > 35 
Probably not possible :( 
Not full 
SQL!
Graphite vs. InfluxDB 
Summary 
• Older project 
• Harder to install / configure 
• Over 100 aggregation functions 
sum, cumulative, compare, highestAverage 
• Good for collecting metrics 
• Limited “WHERE” queries 
30 11/09/14 
• Really young project (Apr 2013) 
• Easy to get started 
• Only basic aggregation functions(17 total) 
sum, min, max, median, percentile 
• Good for collecting events 
• Limited possibilities to aggregate data 
Don’t pick one, use both! 
(and don’t forget to check SaaS services too!)
What next? 
That’s cannot be all…
What next - Annotations 
What happen at 19:27? There were ad in the TV 
32 11/09/14 
Add annotations automatically when 
something happens what can 
change the service state. 
Like deployments, other events, etc.
What next - Alerts 
• Have a easy way to add new alerts 
• Don’t have to be a major alerts, small “reminders” are ok too 
• Notify developers by email when any page response time goes higher than 300ms 
• Notify business and developers when any feature usage goes lower than 5% 
33 11/09/14 
Users 
not 
using it? 
Feature “favourite list” 
usage lower than 5% 
It’s waste… 
REMOVE IT! 
Cleaner codebase 
No complex UIs 
Less functionality 
= easier to maintain
Easy to get started, so why not? 
Try it today, create a demo to your team, convince them 
• Next time plan how you could measure it 
• Add required metrics to code 
• Use free SaaS services to get easily started 
• Create nice dashboard, add the most 
important graph and convince others! 
34 11/09/14
Questions? 
Thank you! 
Erno Aapa @ernoaapa 
Developer, DevOps-consultant 
Erno.aapa@avaus.fi 
10.09.2014

Contenu connexe

Tendances

Draftkings: Launching w/ Confidence at Scale, FutureStack17 NYC
Draftkings: Launching w/ Confidence at Scale, FutureStack17 NYCDraftkings: Launching w/ Confidence at Scale, FutureStack17 NYC
Draftkings: Launching w/ Confidence at Scale, FutureStack17 NYCNew Relic
 
AppSphere 15 - Preparing for System Failure: How Pearson used AppDynamics to ...
AppSphere 15 - Preparing for System Failure: How Pearson used AppDynamics to ...AppSphere 15 - Preparing for System Failure: How Pearson used AppDynamics to ...
AppSphere 15 - Preparing for System Failure: How Pearson used AppDynamics to ...AppDynamics
 
You Build It, But How Are You Going to Run It?
You Build It, But How Are You Going to Run It? You Build It, But How Are You Going to Run It?
You Build It, But How Are You Going to Run It? Rundeck
 
Velocity Presentation - Unified Monitoring with AppDynamics
Velocity Presentation - Unified Monitoring with AppDynamicsVelocity Presentation - Unified Monitoring with AppDynamics
Velocity Presentation - Unified Monitoring with AppDynamicsAppDynamics
 
5 Steps to Achieving the Single Pane of Glass Across DevOps -- APM, NPM, Metr...
5 Steps to Achieving the Single Pane of Glass Across DevOps -- APM, NPM, Metr...5 Steps to Achieving the Single Pane of Glass Across DevOps -- APM, NPM, Metr...
5 Steps to Achieving the Single Pane of Glass Across DevOps -- APM, NPM, Metr...DevOps.com
 
AWS and Dynatrace: Moving your Cloud Strategy to the Next Level
AWS and Dynatrace: Moving your Cloud Strategy to the Next LevelAWS and Dynatrace: Moving your Cloud Strategy to the Next Level
AWS and Dynatrace: Moving your Cloud Strategy to the Next LevelDynatrace
 
How Oceanwide Accelerated its DevOps Adoption Journey with AppDynamics - AppS...
How Oceanwide Accelerated its DevOps Adoption Journey with AppDynamics - AppS...How Oceanwide Accelerated its DevOps Adoption Journey with AppDynamics - AppS...
How Oceanwide Accelerated its DevOps Adoption Journey with AppDynamics - AppS...AppDynamics
 
How to consolidate Citrix Monitoring in a Single Pane of Glass
How to consolidate Citrix Monitoring in a Single Pane of GlassHow to consolidate Citrix Monitoring in a Single Pane of Glass
How to consolidate Citrix Monitoring in a Single Pane of GlasseG Innovations
 
The future of (Windows) operations #WinOps #DevOps
The future of (Windows) operations #WinOps #DevOpsThe future of (Windows) operations #WinOps #DevOps
The future of (Windows) operations #WinOps #DevOpsDevOpsGroup
 
Measure Customer Experience of Your OutSystems Web and Mobile Applications
Measure Customer Experience of Your OutSystems Web and Mobile ApplicationsMeasure Customer Experience of Your OutSystems Web and Mobile Applications
Measure Customer Experience of Your OutSystems Web and Mobile ApplicationsOutSystems
 
Click to Disk Troubleshooting with AppDynamics and OpsDataStore - AppSphere16
Click to Disk Troubleshooting with AppDynamics and OpsDataStore - AppSphere16Click to Disk Troubleshooting with AppDynamics and OpsDataStore - AppSphere16
Click to Disk Troubleshooting with AppDynamics and OpsDataStore - AppSphere16AppDynamics
 
Implementing PLM in the Fast-Paced, Innovation Driven Prepared Foods Industry
Implementing PLM in the Fast-Paced, Innovation Driven Prepared Foods IndustryImplementing PLM in the Fast-Paced, Innovation Driven Prepared Foods Industry
Implementing PLM in the Fast-Paced, Innovation Driven Prepared Foods IndustryAras
 
How AppDynamics Saved Garmin's Christmas! - AppSphere16
How AppDynamics Saved Garmin's Christmas! - AppSphere16How AppDynamics Saved Garmin's Christmas! - AppSphere16
How AppDynamics Saved Garmin's Christmas! - AppSphere16AppDynamics
 
"API Design: From User Need to Finished Spec" by Andrew Jordan, ex-Product @T...
"API Design: From User Need to Finished Spec" by Andrew Jordan, ex-Product @T..."API Design: From User Need to Finished Spec" by Andrew Jordan, ex-Product @T...
"API Design: From User Need to Finished Spec" by Andrew Jordan, ex-Product @T...TheFamily
 
Self-Serve Marketing at VMware with Request Portals
Self-Serve Marketing at VMware with Request PortalsSelf-Serve Marketing at VMware with Request Portals
Self-Serve Marketing at VMware with Request PortalsAtlassian
 
5 Steps for Identifying Deficiencies and Fixing Problems FAST
5 Steps for Identifying Deficiencies and Fixing Problems FAST5 Steps for Identifying Deficiencies and Fixing Problems FAST
5 Steps for Identifying Deficiencies and Fixing Problems FASTDynatrace
 
UNLIMITED - Realtime Custom Applications
UNLIMITED - Realtime Custom ApplicationsUNLIMITED - Realtime Custom Applications
UNLIMITED - Realtime Custom ApplicationsDetlev Sandel
 
Scaling Enterprise DevOps w/ New Relic: Nationwide’s Modernization Journey, F...
Scaling Enterprise DevOps w/ New Relic: Nationwide’s Modernization Journey, F...Scaling Enterprise DevOps w/ New Relic: Nationwide’s Modernization Journey, F...
Scaling Enterprise DevOps w/ New Relic: Nationwide’s Modernization Journey, F...New Relic
 
CamundaCon 2018: Workflow Automation at Scale (24 Hour Fitness)
CamundaCon 2018: Workflow Automation at Scale (24 Hour Fitness)CamundaCon 2018: Workflow Automation at Scale (24 Hour Fitness)
CamundaCon 2018: Workflow Automation at Scale (24 Hour Fitness)camunda services GmbH
 
How Archimedes Uses Atlassian Tools Across All Teams
How Archimedes Uses Atlassian Tools Across All TeamsHow Archimedes Uses Atlassian Tools Across All Teams
How Archimedes Uses Atlassian Tools Across All TeamsAtlassian
 

Tendances (20)

Draftkings: Launching w/ Confidence at Scale, FutureStack17 NYC
Draftkings: Launching w/ Confidence at Scale, FutureStack17 NYCDraftkings: Launching w/ Confidence at Scale, FutureStack17 NYC
Draftkings: Launching w/ Confidence at Scale, FutureStack17 NYC
 
AppSphere 15 - Preparing for System Failure: How Pearson used AppDynamics to ...
AppSphere 15 - Preparing for System Failure: How Pearson used AppDynamics to ...AppSphere 15 - Preparing for System Failure: How Pearson used AppDynamics to ...
AppSphere 15 - Preparing for System Failure: How Pearson used AppDynamics to ...
 
You Build It, But How Are You Going to Run It?
You Build It, But How Are You Going to Run It? You Build It, But How Are You Going to Run It?
You Build It, But How Are You Going to Run It?
 
Velocity Presentation - Unified Monitoring with AppDynamics
Velocity Presentation - Unified Monitoring with AppDynamicsVelocity Presentation - Unified Monitoring with AppDynamics
Velocity Presentation - Unified Monitoring with AppDynamics
 
5 Steps to Achieving the Single Pane of Glass Across DevOps -- APM, NPM, Metr...
5 Steps to Achieving the Single Pane of Glass Across DevOps -- APM, NPM, Metr...5 Steps to Achieving the Single Pane of Glass Across DevOps -- APM, NPM, Metr...
5 Steps to Achieving the Single Pane of Glass Across DevOps -- APM, NPM, Metr...
 
AWS and Dynatrace: Moving your Cloud Strategy to the Next Level
AWS and Dynatrace: Moving your Cloud Strategy to the Next LevelAWS and Dynatrace: Moving your Cloud Strategy to the Next Level
AWS and Dynatrace: Moving your Cloud Strategy to the Next Level
 
How Oceanwide Accelerated its DevOps Adoption Journey with AppDynamics - AppS...
How Oceanwide Accelerated its DevOps Adoption Journey with AppDynamics - AppS...How Oceanwide Accelerated its DevOps Adoption Journey with AppDynamics - AppS...
How Oceanwide Accelerated its DevOps Adoption Journey with AppDynamics - AppS...
 
How to consolidate Citrix Monitoring in a Single Pane of Glass
How to consolidate Citrix Monitoring in a Single Pane of GlassHow to consolidate Citrix Monitoring in a Single Pane of Glass
How to consolidate Citrix Monitoring in a Single Pane of Glass
 
The future of (Windows) operations #WinOps #DevOps
The future of (Windows) operations #WinOps #DevOpsThe future of (Windows) operations #WinOps #DevOps
The future of (Windows) operations #WinOps #DevOps
 
Measure Customer Experience of Your OutSystems Web and Mobile Applications
Measure Customer Experience of Your OutSystems Web and Mobile ApplicationsMeasure Customer Experience of Your OutSystems Web and Mobile Applications
Measure Customer Experience of Your OutSystems Web and Mobile Applications
 
Click to Disk Troubleshooting with AppDynamics and OpsDataStore - AppSphere16
Click to Disk Troubleshooting with AppDynamics and OpsDataStore - AppSphere16Click to Disk Troubleshooting with AppDynamics and OpsDataStore - AppSphere16
Click to Disk Troubleshooting with AppDynamics and OpsDataStore - AppSphere16
 
Implementing PLM in the Fast-Paced, Innovation Driven Prepared Foods Industry
Implementing PLM in the Fast-Paced, Innovation Driven Prepared Foods IndustryImplementing PLM in the Fast-Paced, Innovation Driven Prepared Foods Industry
Implementing PLM in the Fast-Paced, Innovation Driven Prepared Foods Industry
 
How AppDynamics Saved Garmin's Christmas! - AppSphere16
How AppDynamics Saved Garmin's Christmas! - AppSphere16How AppDynamics Saved Garmin's Christmas! - AppSphere16
How AppDynamics Saved Garmin's Christmas! - AppSphere16
 
"API Design: From User Need to Finished Spec" by Andrew Jordan, ex-Product @T...
"API Design: From User Need to Finished Spec" by Andrew Jordan, ex-Product @T..."API Design: From User Need to Finished Spec" by Andrew Jordan, ex-Product @T...
"API Design: From User Need to Finished Spec" by Andrew Jordan, ex-Product @T...
 
Self-Serve Marketing at VMware with Request Portals
Self-Serve Marketing at VMware with Request PortalsSelf-Serve Marketing at VMware with Request Portals
Self-Serve Marketing at VMware with Request Portals
 
5 Steps for Identifying Deficiencies and Fixing Problems FAST
5 Steps for Identifying Deficiencies and Fixing Problems FAST5 Steps for Identifying Deficiencies and Fixing Problems FAST
5 Steps for Identifying Deficiencies and Fixing Problems FAST
 
UNLIMITED - Realtime Custom Applications
UNLIMITED - Realtime Custom ApplicationsUNLIMITED - Realtime Custom Applications
UNLIMITED - Realtime Custom Applications
 
Scaling Enterprise DevOps w/ New Relic: Nationwide’s Modernization Journey, F...
Scaling Enterprise DevOps w/ New Relic: Nationwide’s Modernization Journey, F...Scaling Enterprise DevOps w/ New Relic: Nationwide’s Modernization Journey, F...
Scaling Enterprise DevOps w/ New Relic: Nationwide’s Modernization Journey, F...
 
CamundaCon 2018: Workflow Automation at Scale (24 Hour Fitness)
CamundaCon 2018: Workflow Automation at Scale (24 Hour Fitness)CamundaCon 2018: Workflow Automation at Scale (24 Hour Fitness)
CamundaCon 2018: Workflow Automation at Scale (24 Hour Fitness)
 
How Archimedes Uses Atlassian Tools Across All Teams
How Archimedes Uses Atlassian Tools Across All TeamsHow Archimedes Uses Atlassian Tools Across All Teams
How Archimedes Uses Atlassian Tools Across All Teams
 

Similaire à Metrics driven development 10.09.2014

An In-Depth Look at Pinpointing and Addressing Sources of Performance Problem...
An In-Depth Look at Pinpointing and Addressing Sources of Performance Problem...An In-Depth Look at Pinpointing and Addressing Sources of Performance Problem...
An In-Depth Look at Pinpointing and Addressing Sources of Performance Problem...BI Brainz
 
How Celtra Optimizes its Advertising Platform with Databricks
How Celtra Optimizes its Advertising Platformwith DatabricksHow Celtra Optimizes its Advertising Platformwith Databricks
How Celtra Optimizes its Advertising Platform with DatabricksGrega Kespret
 
DevOps Days Toronto: From 6 Months Waterfall to 1 hour Code Deploys
DevOps Days Toronto: From 6 Months Waterfall to 1 hour Code DeploysDevOps Days Toronto: From 6 Months Waterfall to 1 hour Code Deploys
DevOps Days Toronto: From 6 Months Waterfall to 1 hour Code DeploysAndreas Grabner
 
How Schneider Electric Transformed Front-office Operations With Real-time Dat...
How Schneider Electric Transformed Front-office Operations With Real-time Dat...How Schneider Electric Transformed Front-office Operations With Real-time Dat...
How Schneider Electric Transformed Front-office Operations With Real-time Dat...Informatica Cloud
 
TrailblazerDX Motihari.pptx
TrailblazerDX Motihari.pptxTrailblazerDX Motihari.pptx
TrailblazerDX Motihari.pptxOm Prakash
 
Fast Data Choices: 5 Strategies for Evaluating Alternative Business and Techn...
Fast Data Choices: 5 Strategies for Evaluating Alternative Business and Techn...Fast Data Choices: 5 Strategies for Evaluating Alternative Business and Techn...
Fast Data Choices: 5 Strategies for Evaluating Alternative Business and Techn...VoltDB
 
Development and QA dilemmas in DevOps
Development and QA dilemmas in DevOpsDevelopment and QA dilemmas in DevOps
Development and QA dilemmas in DevOpsMatteo Emili
 
SharePoint as a Business Platform Why, What and How? – No Code
SharePoint as a Business Platform Why, What and How? – No CodeSharePoint as a Business Platform Why, What and How? – No Code
SharePoint as a Business Platform Why, What and How? – No Codedox42
 
Architecting for analytics
Architecting for analyticsArchitecting for analytics
Architecting for analyticsRob Winters
 
How the economist with cloud BI and Looker have improved data-driven decision...
How the economist with cloud BI and Looker have improved data-driven decision...How the economist with cloud BI and Looker have improved data-driven decision...
How the economist with cloud BI and Looker have improved data-driven decision...Looker
 
5 Key Metrics to Release Better Software Faster
5 Key Metrics to Release Better Software Faster5 Key Metrics to Release Better Software Faster
5 Key Metrics to Release Better Software FasterDynatrace
 
Rethinking SharePoint WSS 2009
Rethinking SharePoint WSS 2009Rethinking SharePoint WSS 2009
Rethinking SharePoint WSS 2009tobyspendiff
 
Metrics Monitoring Is So Critical - What's Your Best Approach?
Metrics Monitoring Is So Critical - What's Your Best Approach? Metrics Monitoring Is So Critical - What's Your Best Approach?
Metrics Monitoring Is So Critical - What's Your Best Approach? Wavefront
 
Performance monitoring in a DevOps World
Performance monitoring in a DevOps WorldPerformance monitoring in a DevOps World
Performance monitoring in a DevOps WorldSolidify
 
Iwsm2014 dev ops measurements (amir arooni)
Iwsm2014   dev ops measurements (amir arooni)Iwsm2014   dev ops measurements (amir arooni)
Iwsm2014 dev ops measurements (amir arooni)Nesma
 
Maintainable Machine Learning Products
Maintainable Machine Learning ProductsMaintainable Machine Learning Products
Maintainable Machine Learning ProductsAndrew Musselman
 
WinOps Conf 2016 - Matteo Emili - Development and QA Dilemmas in DevOps
WinOps Conf 2016 - Matteo Emili - Development and QA Dilemmas in DevOpsWinOps Conf 2016 - Matteo Emili - Development and QA Dilemmas in DevOps
WinOps Conf 2016 - Matteo Emili - Development and QA Dilemmas in DevOpsWinOps Conf
 
Top Business Intelligence Trends for 2016 by Panorama Software
Top Business Intelligence Trends for 2016 by Panorama SoftwareTop Business Intelligence Trends for 2016 by Panorama Software
Top Business Intelligence Trends for 2016 by Panorama SoftwarePanorama Software
 

Similaire à Metrics driven development 10.09.2014 (20)

Project report
Project report Project report
Project report
 
An In-Depth Look at Pinpointing and Addressing Sources of Performance Problem...
An In-Depth Look at Pinpointing and Addressing Sources of Performance Problem...An In-Depth Look at Pinpointing and Addressing Sources of Performance Problem...
An In-Depth Look at Pinpointing and Addressing Sources of Performance Problem...
 
How Celtra Optimizes its Advertising Platform with Databricks
How Celtra Optimizes its Advertising Platformwith DatabricksHow Celtra Optimizes its Advertising Platformwith Databricks
How Celtra Optimizes its Advertising Platform with Databricks
 
DevOps Days Toronto: From 6 Months Waterfall to 1 hour Code Deploys
DevOps Days Toronto: From 6 Months Waterfall to 1 hour Code DeploysDevOps Days Toronto: From 6 Months Waterfall to 1 hour Code Deploys
DevOps Days Toronto: From 6 Months Waterfall to 1 hour Code Deploys
 
How Schneider Electric Transformed Front-office Operations With Real-time Dat...
How Schneider Electric Transformed Front-office Operations With Real-time Dat...How Schneider Electric Transformed Front-office Operations With Real-time Dat...
How Schneider Electric Transformed Front-office Operations With Real-time Dat...
 
TrailblazerDX Motihari.pptx
TrailblazerDX Motihari.pptxTrailblazerDX Motihari.pptx
TrailblazerDX Motihari.pptx
 
Fast Data Choices: 5 Strategies for Evaluating Alternative Business and Techn...
Fast Data Choices: 5 Strategies for Evaluating Alternative Business and Techn...Fast Data Choices: 5 Strategies for Evaluating Alternative Business and Techn...
Fast Data Choices: 5 Strategies for Evaluating Alternative Business and Techn...
 
Development and QA dilemmas in DevOps
Development and QA dilemmas in DevOpsDevelopment and QA dilemmas in DevOps
Development and QA dilemmas in DevOps
 
SharePoint as a Business Platform Why, What and How? – No Code
SharePoint as a Business Platform Why, What and How? – No CodeSharePoint as a Business Platform Why, What and How? – No Code
SharePoint as a Business Platform Why, What and How? – No Code
 
Architecting for analytics
Architecting for analyticsArchitecting for analytics
Architecting for analytics
 
How the economist with cloud BI and Looker have improved data-driven decision...
How the economist with cloud BI and Looker have improved data-driven decision...How the economist with cloud BI and Looker have improved data-driven decision...
How the economist with cloud BI and Looker have improved data-driven decision...
 
5 Key Metrics to Release Better Software Faster
5 Key Metrics to Release Better Software Faster5 Key Metrics to Release Better Software Faster
5 Key Metrics to Release Better Software Faster
 
Rethinking SharePoint WSS 2009
Rethinking SharePoint WSS 2009Rethinking SharePoint WSS 2009
Rethinking SharePoint WSS 2009
 
Metrics Monitoring Is So Critical - What's Your Best Approach?
Metrics Monitoring Is So Critical - What's Your Best Approach? Metrics Monitoring Is So Critical - What's Your Best Approach?
Metrics Monitoring Is So Critical - What's Your Best Approach?
 
Performance monitoring in a DevOps World
Performance monitoring in a DevOps WorldPerformance monitoring in a DevOps World
Performance monitoring in a DevOps World
 
Iwsm2014 dev ops measurements (amir arooni)
Iwsm2014   dev ops measurements (amir arooni)Iwsm2014   dev ops measurements (amir arooni)
Iwsm2014 dev ops measurements (amir arooni)
 
Maintainable Machine Learning Products
Maintainable Machine Learning ProductsMaintainable Machine Learning Products
Maintainable Machine Learning Products
 
WinOps Conf 2016 - Matteo Emili - Development and QA Dilemmas in DevOps
WinOps Conf 2016 - Matteo Emili - Development and QA Dilemmas in DevOpsWinOps Conf 2016 - Matteo Emili - Development and QA Dilemmas in DevOps
WinOps Conf 2016 - Matteo Emili - Development and QA Dilemmas in DevOps
 
Top Business Intelligence Trends for 2016 by Panorama Software
Top Business Intelligence Trends for 2016 by Panorama SoftwareTop Business Intelligence Trends for 2016 by Panorama Software
Top Business Intelligence Trends for 2016 by Panorama Software
 
DevOps and AppDynamics
DevOps and AppDynamicsDevOps and AppDynamics
DevOps and AppDynamics
 

Plus de Erno Aapa

Eliot - Container platform for IoT devices
Eliot - Container platform for IoT devicesEliot - Container platform for IoT devices
Eliot - Container platform for IoT devicesErno Aapa
 
Make yourself replaceable at DevOpsCon 2016 Berlin
Make yourself replaceable at DevOpsCon 2016 BerlinMake yourself replaceable at DevOpsCon 2016 Berlin
Make yourself replaceable at DevOpsCon 2016 BerlinErno Aapa
 
Running operations in 2 hours at DevTernity 2015
Running operations in 2 hours at DevTernity 2015Running operations in 2 hours at DevTernity 2015
Running operations in 2 hours at DevTernity 2015Erno Aapa
 
Bycraft Conference - Running operations in 2 hours
Bycraft Conference - Running operations in 2 hoursBycraft Conference - Running operations in 2 hours
Bycraft Conference - Running operations in 2 hoursErno Aapa
 
What business benefits from DevOps 2014
What business benefits from DevOps 2014What business benefits from DevOps 2014
What business benefits from DevOps 2014Erno Aapa
 
TAD DevOps presentation 2013
TAD DevOps presentation 2013TAD DevOps presentation 2013
TAD DevOps presentation 2013Erno Aapa
 

Plus de Erno Aapa (6)

Eliot - Container platform for IoT devices
Eliot - Container platform for IoT devicesEliot - Container platform for IoT devices
Eliot - Container platform for IoT devices
 
Make yourself replaceable at DevOpsCon 2016 Berlin
Make yourself replaceable at DevOpsCon 2016 BerlinMake yourself replaceable at DevOpsCon 2016 Berlin
Make yourself replaceable at DevOpsCon 2016 Berlin
 
Running operations in 2 hours at DevTernity 2015
Running operations in 2 hours at DevTernity 2015Running operations in 2 hours at DevTernity 2015
Running operations in 2 hours at DevTernity 2015
 
Bycraft Conference - Running operations in 2 hours
Bycraft Conference - Running operations in 2 hoursBycraft Conference - Running operations in 2 hours
Bycraft Conference - Running operations in 2 hours
 
What business benefits from DevOps 2014
What business benefits from DevOps 2014What business benefits from DevOps 2014
What business benefits from DevOps 2014
 
TAD DevOps presentation 2013
TAD DevOps presentation 2013TAD DevOps presentation 2013
TAD DevOps presentation 2013
 

Dernier

8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitter8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitterShivangiSharma879191
 
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...asadnawaz62
 
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEINFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEroselinkalist12
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...VICTOR MAESTRE RAMIREZ
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.eptoze12
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerAnamika Sarkar
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxJoão Esperancinha
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort servicejennyeacort
 
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catcherssdickerson1
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidNikhilNagaraju
 
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncWhy does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncssuser2ae721
 
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)Dr SOUNDIRARAJ N
 
Comparative Analysis of Text Summarization Techniques
Comparative Analysis of Text Summarization TechniquesComparative Analysis of Text Summarization Techniques
Comparative Analysis of Text Summarization Techniquesugginaramesh
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionDr.Costas Sachpazis
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx959SahilShah
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxbritheesh05
 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxKartikeyaDwivedi3
 

Dernier (20)

8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitter8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitter
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptxExploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
 
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...
 
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEINFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
 
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfid
 
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncWhy does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
 
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
 
Comparative Analysis of Text Summarization Techniques
Comparative Analysis of Text Summarization TechniquesComparative Analysis of Text Summarization Techniques
Comparative Analysis of Text Summarization Techniques
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
 
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCRCall Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptx
 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptx
 

Metrics driven development 10.09.2014

  • 1. Metrics Driven Development How to improve visibility, communication and feedback loop through metrics Erno Aapa @ernoaapa Developer, DevOps-consultant erno.aapa@avaus.fi DevOps-Finland meetup Helsinki 10.09.2014
  • 2. ERNO AAPA Developer / Team Leader DevOps-consultant Founder of DevOps-Finland Daily work as a developer. One of Avaus tech team leaders and consult companies about DevOps. On free time organize DevOps-Finland meetings. Who am I? 2 11/09/14
  • 3. Measurement is one of the keys Everyone emphasize the importance of it
  • 4. Three Ways: Feedback Feedback loop 4 11/09/14
  • 5. M in C.A.L.M.S Measure everything Show the improvement 5 11/09/14
  • 7. … but in reality… we need it, but we don’t have it
  • 8. What we have Business Monthly / Yearly reports Financial reports Google Analytics 8 11/09/14 Dev ? Ops CPU, Mem, IO, Disk Zabbix/Ganglia/Nagios QA Test coverage reports CI server notifications Performance test results
  • 9. What that cause? • Bad visibility Ops-team tries to get the information from logs, load metrics, etc. Business doesn’t have detailed visibility only high level reports • Dev “just do my job” They don’t feel the “heartbeat” of the service • Invalid conception of service state “No-one complains so it works… I guess :/ ” • “Business bug” – feature created but not used Service full of unused legacy features 9 11/09/14
  • 10. Metrics Driven Development (MDD) “…is a practice where metrics are used to drive the entire application development” InfoQ / 2012
  • 11. Principles Define metrics before implementation of Metrics Driven Development (MDD) • Like in TDD implement test first, implement metric first • For example: Include metrics to user stories Instrumentation-as-Code • Developers must be able to add new metric with minimal(=one line) effort Single Source Of Truth • Store common metrics from app, logs, monitoring agents and other tools to single place • Platform should be so timely, comprehensive, and intuitive to use that everyone instinctively relies on it Shared view for key metrics • Shared view to give all same vision • So simple that everyone can understand it Use metrics when making decisions • You have powerful information, use it when you’re making decisions Maintain and follow the metrics • Follow the metrics - now popular feature can be waste tomorrow • Remove unneeded metrics – it’s code, it need to be maintained 11 11/09/14 Erno Aapa / 2014 Librato Blog / 2014 InfoQ / 2012
  • 12. User story Define what to measure and what we expect to user story As a user I can order items in my shopping cart. We measure visited users and count of orders. We expect to at least 20% of users to order items in shopping cart. 12 11/09/14 Can be defined in EPIC or FEATURE too
  • 13. Collect required metrics Developer adds required code to collect metrics # Somewhere in your where login happens... statsd.increment("users.visited”) 13 11/09/14 # ...and where you handle the orders statsd.increment(”shopping.ordered”) Somefile.rb OtherFile.rb
  • 14. Share visibility Visualize metric and also what we expect 14 11/09/14 Visualize what we are expecting. Easy to everyone understand what is good or bad. Use this information when making decisions
  • 15. Single place of truth Provide single place for data to easily compare and analyze 15 11/09/14 Frontend Service Monitoring
  • 16. Shared dashboard for key metrics Make most important metrics visible to everyone - all the time 16 11/09/14
  • 17. In the meeting Use the information when you’re making decisions • What features have went to live? • Did we achieve what wanted? • Should we continue to improving them? • Or should we remove them? • What is our overall status? • What we do next to achieve our goal? 17 11/09/14
  • 18. PRODUCT OWNER / STAKEHOLDERS - Get real time information from production - Can make data driven decisions - Support LeanStartup way DEVELOPER - Get the “feeling” and visibility to production - Drop unused features - Can focus on important parts TEST MANAGER - Get visibility to production - Can scale tests to match with production SYSADMIN - Get visibility to inside of the app - In case of problems easier to find the error Everyone benefit from it 18 11/09/14 just to name few…
  • 19. Communication 19 11/09/14 Ops Business Dev Metrics Shared view and goals helps communication Benefits of MDD
  • 20. Imaginary case Simple Java web shop
  • 21. My Webshop 21 11/09/14 Web shop UI User orders items through Web UI Server Graphite Grafana After processing the order, server sends data to Graphite Use Grafana to visualize data.
  • 22. By developer 22 11/09/14 1. Create counter 2. Increment counter THATS ALL!
  • 23. By developer 23 11/09/14 SEE THE RESULTS! Type the metric name and…
  • 24. … when you get started Gauges • Queue sizes Timers • Query times • Response times Counters • Execution counters Histograms • median, 75th, 90th, 95th, 98th, 99th 24 11/09/14 Measure time with single @annotation There is so many things what you can measure, if you have the capability
  • 25. Pitfalls ”Metrics are always powerful political ammunition, to be used for better or worse” Metrics-driven Enterprise Software Development- book ”Tried a solution where OPS and DEV were sharing one metrics server… it didn't work” Mantas Klasavicius / Adform ”MONITOR ALL THE THINGS! No, you should not wrap every single method call in your application to increment a counter” Librato blog
  • 26. What tools to use? To collect, store, display? SaaS maybe?
  • 27. 27 11/09/14 TOOLS WHY COLLECT • StatsD (multiple languages) • Code Hale Metrics (Java) • Easy to implement by self • Provide ”one-line” –way to developer collect any metrics from application • Possible to change storage from configuration STORE • Graphite • InfluxDB • … and more • Store time-series data • Provides easy accessable API • Aggrigate data on ”on the fly” • Downsample old data DISPLAY • Grafana • Tesseo • … and more • Simple to use • Simple and clear graphs • Possible to create multiple dashboards SaaS • Librato.com • geckoboard.com • leftronic.com • HostedGraphite.com • Influxdb.com • …and many more • Easy to get started • Maintained • Free to test Give a demo and convince others!
  • 28. Graphite vs. InfluxDB Key / Value Send data Json echo “dc1.server2.cpuload 5.6" | nc graphite.com echo “app.visitors 1" | nc graphite.com 2003 28 11/09/14 "name" : “cpu_load", "columns" : ["value", ”dc", ”server"], "points" : [ [5.6, ”dc1", ”server2”] ] "name" : “visitors", "columns" : ["value”, ”browser", ”version"], "points" : [ [1, ”Chrome” , 37.0] ]
  • 29. Graphite vs. InfluxDB average(dc1.*.cpuload) sum(app.visitors) Not possible :( // Top 5 servers with highest load highestAverage(*. *.load,5) 29 11/09/14 Aggregate data select average(value) from cpu_load where dc = ‘dc1’ select sum(value) from visitors select sum(value) from visitors where browser = ‘Chrome’ and version > 35 Probably not possible :( Not full SQL!
  • 30. Graphite vs. InfluxDB Summary • Older project • Harder to install / configure • Over 100 aggregation functions sum, cumulative, compare, highestAverage • Good for collecting metrics • Limited “WHERE” queries 30 11/09/14 • Really young project (Apr 2013) • Easy to get started • Only basic aggregation functions(17 total) sum, min, max, median, percentile • Good for collecting events • Limited possibilities to aggregate data Don’t pick one, use both! (and don’t forget to check SaaS services too!)
  • 31. What next? That’s cannot be all…
  • 32. What next - Annotations What happen at 19:27? There were ad in the TV 32 11/09/14 Add annotations automatically when something happens what can change the service state. Like deployments, other events, etc.
  • 33. What next - Alerts • Have a easy way to add new alerts • Don’t have to be a major alerts, small “reminders” are ok too • Notify developers by email when any page response time goes higher than 300ms • Notify business and developers when any feature usage goes lower than 5% 33 11/09/14 Users not using it? Feature “favourite list” usage lower than 5% It’s waste… REMOVE IT! Cleaner codebase No complex UIs Less functionality = easier to maintain
  • 34. Easy to get started, so why not? Try it today, create a demo to your team, convince them • Next time plan how you could measure it • Add required metrics to code • Use free SaaS services to get easily started • Create nice dashboard, add the most important graph and convince others! 34 11/09/14
  • 35. Questions? Thank you! Erno Aapa @ernoaapa Developer, DevOps-consultant Erno.aapa@avaus.fi 10.09.2014

Notes de l'éditeur

  1. Minä olen…
  2. http://www.infoq.com/articles/metrics-driven-development
  3. http://blog.librato.com/posts/2014/7/16/metrics-driven-development