Top Banner
Using Monitoring and Metrics to learn in Development Patrick Debois Atlassian http://jedi.be/blog @patrickdebois Monday, May 21, 12
66

Using Monitoring and Metrics to learn in Developmentgotocon.com/dl/goto-cph-2012/slides/devops/GOTO_CPH-Metrics... · Using Monitoring and Metrics to learn in Development Patrick

Mar 31, 2018

Download

Documents

doanbao
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Using Monitoring and Metrics to learn in Developmentgotocon.com/dl/goto-cph-2012/slides/devops/GOTO_CPH-Metrics... · Using Monitoring and Metrics to learn in Development Patrick

Using Monitoring and Metricsto learn in Development

Patrick DeboisAtlassian

http://jedi.be/blog@patrickdebois

Monday, May 21, 12

Page 2: Using Monitoring and Metrics to learn in Developmentgotocon.com/dl/goto-cph-2012/slides/devops/GOTO_CPH-Metrics... · Using Monitoring and Metrics to learn in Development Patrick

HOSTEDOPS

Vagrant &Veewee

http://devopsdays.org

http://itrevolution.com

https://my.atlassian.com/ondemand/ http://www.cutter.com

Monday, May 21, 12

Page 3: Using Monitoring and Metrics to learn in Developmentgotocon.com/dl/goto-cph-2012/slides/devops/GOTO_CPH-Metrics... · Using Monitoring and Metrics to learn in Development Patrick

Your Code

Monday, May 21, 12

Page 4: Using Monitoring and Metrics to learn in Developmentgotocon.com/dl/goto-cph-2012/slides/devops/GOTO_CPH-Metrics... · Using Monitoring and Metrics to learn in Development Patrick

Monday, May 21, 12

Page 5: Using Monitoring and Metrics to learn in Developmentgotocon.com/dl/goto-cph-2012/slides/devops/GOTO_CPH-Metrics... · Using Monitoring and Metrics to learn in Development Patrick

“Test Driven Development”- CI Coward

Monday, May 21, 12

Page 6: Using Monitoring and Metrics to learn in Developmentgotocon.com/dl/goto-cph-2012/slides/devops/GOTO_CPH-Metrics... · Using Monitoring and Metrics to learn in Development Patrick

Testing in Controlled Environment

Monday, May 21, 12

Page 7: Using Monitoring and Metrics to learn in Developmentgotocon.com/dl/goto-cph-2012/slides/devops/GOTO_CPH-Metrics... · Using Monitoring and Metrics to learn in Development Patrick

Your Code in Test

Monday, May 21, 12

Page 8: Using Monitoring and Metrics to learn in Developmentgotocon.com/dl/goto-cph-2012/slides/devops/GOTO_CPH-Metrics... · Using Monitoring and Metrics to learn in Development Patrick

“Until code runs in production , your code is just inventory”

- Agile Anonymous

Monday, May 21, 12

Page 9: Using Monitoring and Metrics to learn in Developmentgotocon.com/dl/goto-cph-2012/slides/devops/GOTO_CPH-Metrics... · Using Monitoring and Metrics to learn in Development Patrick

OPSDEV CLASH

Continuous Delivery

Monday, May 21, 12

Page 10: Using Monitoring and Metrics to learn in Developmentgotocon.com/dl/goto-cph-2012/slides/devops/GOTO_CPH-Metrics... · Using Monitoring and Metrics to learn in Development Patrick

Monday, May 21, 12

Page 11: Using Monitoring and Metrics to learn in Developmentgotocon.com/dl/goto-cph-2012/slides/devops/GOTO_CPH-Metrics... · Using Monitoring and Metrics to learn in Development Patrick

Shit Happensin production

Monday, May 21, 12

Page 12: Using Monitoring and Metrics to learn in Developmentgotocon.com/dl/goto-cph-2012/slides/devops/GOTO_CPH-Metrics... · Using Monitoring and Metrics to learn in Development Patrick

“You go to production with the code you have,

not the code you wish you had”- Devops Rumsfeld

Monday, May 21, 12

Page 13: Using Monitoring and Metrics to learn in Developmentgotocon.com/dl/goto-cph-2012/slides/devops/GOTO_CPH-Metrics... · Using Monitoring and Metrics to learn in Development Patrick

OPSDEV

Three Phases of Creativity (Disney)

Dreamer Realist Critic

Monday, May 21, 12

Page 14: Using Monitoring and Metrics to learn in Developmentgotocon.com/dl/goto-cph-2012/slides/devops/GOTO_CPH-Metrics... · Using Monitoring and Metrics to learn in Development Patrick

OPSDEV

Area 4: Embed Operations knowledge into Project

Area 2: Extend operations feedback to project

Area 1: Extend delivery to production

Area 3: Embed Projectknowledge into Operations

Devops Areas

http://jedi.be/blog/2012/05/12/codifying-devops-area-practices/Monday, May 21, 12

Page 15: Using Monitoring and Metrics to learn in Developmentgotocon.com/dl/goto-cph-2012/slides/devops/GOTO_CPH-Metrics... · Using Monitoring and Metrics to learn in Development Patrick

OPSDEV

Culture

Automate

Measure

Share

http://www.opscode.com/blog/2010/07/16/what-devops-means-to-me/

Monday, May 21, 12

Page 16: Using Monitoring and Metrics to learn in Developmentgotocon.com/dl/goto-cph-2012/slides/devops/GOTO_CPH-Metrics... · Using Monitoring and Metrics to learn in Development Patrick

OPSDEV

Faster and better feedback

Smaller and more frequent changes

Monday, May 21, 12

Page 17: Using Monitoring and Metrics to learn in Developmentgotocon.com/dl/goto-cph-2012/slides/devops/GOTO_CPH-Metrics... · Using Monitoring and Metrics to learn in Development Patrick

OPSDEV

Area 1: Extend delivery to production“think Jez Humble”

Area 1

Monday, May 21, 12

Page 18: Using Monitoring and Metrics to learn in Developmentgotocon.com/dl/goto-cph-2012/slides/devops/GOTO_CPH-Metrics... · Using Monitoring and Metrics to learn in Development Patrick

http://www.slideshare.net/Urbancode/continuous-delivery-maturity-model

Continuous Integration Maturity Model

Monday, May 21, 12

Page 19: Using Monitoring and Metrics to learn in Developmentgotocon.com/dl/goto-cph-2012/slides/devops/GOTO_CPH-Metrics... · Using Monitoring and Metrics to learn in Development Patrick

InfrastructureCode Repository

DB

WEB

APP

DB

WEB

APP

DB

WEB

APP

DEV TEST PROD

Reuse “Infra code” across Environments

Monday, May 21, 12

Page 20: Using Monitoring and Metrics to learn in Developmentgotocon.com/dl/goto-cph-2012/slides/devops/GOTO_CPH-Metrics... · Using Monitoring and Metrics to learn in Development Patrick

DB

WEB

APP

HOST

VM

JEOS

http://vagrantup.com/

Simple CLI

UPPROVISION

HALTDESTROY

Vagrantfile

Config

Basebox

Puppet/Chef

VM Management

Reuse “workflow” across Environments

Monday, May 21, 12

Page 21: Using Monitoring and Metrics to learn in Developmentgotocon.com/dl/goto-cph-2012/slides/devops/GOTO_CPH-Metrics... · Using Monitoring and Metrics to learn in Development Patrick

INFRA DBWEB APP

DEV TEST PROD

Integrate with Continuous Integration

APP DBWEB APP

DBWEB APP

DBWEB APP

DBWEB APP

DBWEB APP

InfrastructureCode Repository

ApplicationCode Repository

Monday, May 21, 12

Page 22: Using Monitoring and Metrics to learn in Developmentgotocon.com/dl/goto-cph-2012/slides/devops/GOTO_CPH-Metrics... · Using Monitoring and Metrics to learn in Development Patrick

INFRA DBWEB APP

DEV TEST PROD

Continuous Integration to Continuous Delivery

APP DBWEB APP

DBWEB APP

DBWEB APP

DBWEB APP

DBWEB APP

InfrastructureCode Repository

ApplicationCode Repository

Faster/Delivery

Faster/Feedback

Monday, May 21, 12

Page 23: Using Monitoring and Metrics to learn in Developmentgotocon.com/dl/goto-cph-2012/slides/devops/GOTO_CPH-Metrics... · Using Monitoring and Metrics to learn in Development Patrick

OPSDEV

Area 2: Extend operations feedback to projectthink “John Allspaw”

Area2

Monday, May 21, 12

Page 24: Using Monitoring and Metrics to learn in Developmentgotocon.com/dl/goto-cph-2012/slides/devops/GOTO_CPH-Metrics... · Using Monitoring and Metrics to learn in Development Patrick

Monitoring Layers

OS

Middleware

App

OS

Middleware

AppClusteredService

ExternalServices

User/Business

Network/Security

Hardware HardwareNetworkStorage

Services

Monday, May 21, 12

Page 25: Using Monitoring and Metrics to learn in Developmentgotocon.com/dl/goto-cph-2012/slides/devops/GOTO_CPH-Metrics... · Using Monitoring and Metrics to learn in Development Patrick

Monitoring Layers

Behavioral (larger coverage)

Diagnostics

Monday, May 21, 12

Page 26: Using Monitoring and Metrics to learn in Developmentgotocon.com/dl/goto-cph-2012/slides/devops/GOTO_CPH-Metrics... · Using Monitoring and Metrics to learn in Development Patrick

“What part made it fail”~unit test

CPU Memory Network

Monday, May 21, 12

Page 27: Using Monitoring and Metrics to learn in Developmentgotocon.com/dl/goto-cph-2012/slides/devops/GOTO_CPH-Metrics... · Using Monitoring and Metrics to learn in Development Patrick

“Is it working?”~behavioral test

Monday, May 21, 12

Page 28: Using Monitoring and Metrics to learn in Developmentgotocon.com/dl/goto-cph-2012/slides/devops/GOTO_CPH-Metrics... · Using Monitoring and Metrics to learn in Development Patrick

Monitoring Driven

Development

Create a monitor check before implementing a feature

Monday, May 21, 12

Page 29: Using Monitoring and Metrics to learn in Developmentgotocon.com/dl/goto-cph-2012/slides/devops/GOTO_CPH-Metrics... · Using Monitoring and Metrics to learn in Development Patrick

Information RadiatorMonday, May 21, 12

Page 31: Using Monitoring and Metrics to learn in Developmentgotocon.com/dl/goto-cph-2012/slides/devops/GOTO_CPH-Metrics... · Using Monitoring and Metrics to learn in Development Patrick

“traditionalIn house monitoring”

Monday, May 21, 12

Page 32: Using Monitoring and Metrics to learn in Developmentgotocon.com/dl/goto-cph-2012/slides/devops/GOTO_CPH-Metrics... · Using Monitoring and Metrics to learn in Development Patrick

Monday, May 21, 12

Page 33: Using Monitoring and Metrics to learn in Developmentgotocon.com/dl/goto-cph-2012/slides/devops/GOTO_CPH-Metrics... · Using Monitoring and Metrics to learn in Development Patrick

“traditionalIn house metrics”

http://collectd.org/http://munin-monitoring.org/

Monday, May 21, 12

Page 34: Using Monitoring and Metrics to learn in Developmentgotocon.com/dl/goto-cph-2012/slides/devops/GOTO_CPH-Metrics... · Using Monitoring and Metrics to learn in Development Patrick

Ganglia

http://ganglia.info/Monday, May 21, 12

Page 36: Using Monitoring and Metrics to learn in Developmentgotocon.com/dl/goto-cph-2012/slides/devops/GOTO_CPH-Metrics... · Using Monitoring and Metrics to learn in Development Patrick

“1980” style UI

Monday, May 21, 12

Page 37: Using Monitoring and Metrics to learn in Developmentgotocon.com/dl/goto-cph-2012/slides/devops/GOTO_CPH-Metrics... · Using Monitoring and Metrics to learn in Development Patrick

No API

Monday, May 21, 12

Page 38: Using Monitoring and Metrics to learn in Developmentgotocon.com/dl/goto-cph-2012/slides/devops/GOTO_CPH-Metrics... · Using Monitoring and Metrics to learn in Development Patrick

Hard to scale

Monday, May 21, 12

Page 39: Using Monitoring and Metrics to learn in Developmentgotocon.com/dl/goto-cph-2012/slides/devops/GOTO_CPH-Metrics... · Using Monitoring and Metrics to learn in Development Patrick

Static configurations

Monday, May 21, 12

Page 40: Using Monitoring and Metrics to learn in Developmentgotocon.com/dl/goto-cph-2012/slides/devops/GOTO_CPH-Metrics... · Using Monitoring and Metrics to learn in Development Patrick

Hard to expose “data”UI vs API

Monday, May 21, 12

Page 41: Using Monitoring and Metrics to learn in Developmentgotocon.com/dl/goto-cph-2012/slides/devops/GOTO_CPH-Metrics... · Using Monitoring and Metrics to learn in Development Patrick

Not self-servicing

Monday, May 21, 12

Page 42: Using Monitoring and Metrics to learn in Developmentgotocon.com/dl/goto-cph-2012/slides/devops/GOTO_CPH-Metrics... · Using Monitoring and Metrics to learn in Development Patrick

“Monitoring as a service”

Monday, May 21, 12

Page 43: Using Monitoring and Metrics to learn in Developmentgotocon.com/dl/goto-cph-2012/slides/devops/GOTO_CPH-Metrics... · Using Monitoring and Metrics to learn in Development Patrick

https://github.com/sensu/sensu

Sonian Cloud Monitoring “Sensu”

Monday, May 21, 12

Page 44: Using Monitoring and Metrics to learn in Developmentgotocon.com/dl/goto-cph-2012/slides/devops/GOTO_CPH-Metrics... · Using Monitoring and Metrics to learn in Development Patrick

http://code.google.com/p/rocksteady/

Monday, May 21, 12

Page 45: Using Monitoring and Metrics to learn in Developmentgotocon.com/dl/goto-cph-2012/slides/devops/GOTO_CPH-Metrics... · Using Monitoring and Metrics to learn in Development Patrick

http://labs.omniti.com/labs/reconnoiter

Reconnoiter's goal is to better the world of monitoring by marrying fault detection and trending together. Through ease of configuration and ongoing maintenance, Reconnoiter encourages monitoring important technical metrics along side critical business metrics to improve awareness and ultimately accountability.

Monday, May 21, 12

Page 46: Using Monitoring and Metrics to learn in Developmentgotocon.com/dl/goto-cph-2012/slides/devops/GOTO_CPH-Metrics... · Using Monitoring and Metrics to learn in Development Patrick

http://opentsdb.net/

Scalable writes

Monday, May 21, 12

Page 47: Using Monitoring and Metrics to learn in Developmentgotocon.com/dl/goto-cph-2012/slides/devops/GOTO_CPH-Metrics... · Using Monitoring and Metrics to learn in Development Patrick

http://graphite.wikidot.com/

Selfservicing Graphs

Monday, May 21, 12

Page 48: Using Monitoring and Metrics to learn in Developmentgotocon.com/dl/goto-cph-2012/slides/devops/GOTO_CPH-Metrics... · Using Monitoring and Metrics to learn in Development Patrick

“App Metrics”

Monday, May 21, 12

Page 49: Using Monitoring and Metrics to learn in Developmentgotocon.com/dl/goto-cph-2012/slides/devops/GOTO_CPH-Metrics... · Using Monitoring and Metrics to learn in Development Patrick

“End-User Metrics”

Monday, May 21, 12

Page 50: Using Monitoring and Metrics to learn in Developmentgotocon.com/dl/goto-cph-2012/slides/devops/GOTO_CPH-Metrics... · Using Monitoring and Metrics to learn in Development Patrick

http://www.appdynamics.com/

Monday, May 21, 12

Page 51: Using Monitoring and Metrics to learn in Developmentgotocon.com/dl/goto-cph-2012/slides/devops/GOTO_CPH-Metrics... · Using Monitoring and Metrics to learn in Development Patrick

https://github.com/lookfirst/jmxtrans

Monday, May 21, 12

Page 52: Using Monitoring and Metrics to learn in Developmentgotocon.com/dl/goto-cph-2012/slides/devops/GOTO_CPH-Metrics... · Using Monitoring and Metrics to learn in Development Patrick

https://github.com/etsy/statsd

APP STATSDcountingtiming

sampling

GRAPHITE

Monday, May 21, 12

Page 53: Using Monitoring and Metrics to learn in Developmentgotocon.com/dl/goto-cph-2012/slides/devops/GOTO_CPH-Metrics... · Using Monitoring and Metrics to learn in Development Patrick

Metrics Java Library

http://metrics.codahale.com/

https://github.com/tritonrc/metricsd

Monday, May 21, 12

Page 54: Using Monitoring and Metrics to learn in Developmentgotocon.com/dl/goto-cph-2012/slides/devops/GOTO_CPH-Metrics... · Using Monitoring and Metrics to learn in Development Patrick

Business Level Metrics

Usage patterns - Google Analytics

Monday, May 21, 12

Page 55: Using Monitoring and Metrics to learn in Developmentgotocon.com/dl/goto-cph-2012/slides/devops/GOTO_CPH-Metrics... · Using Monitoring and Metrics to learn in Development Patrick

A/B Testing in Prod

Metrics / Information

Monday, May 21, 12

Page 56: Using Monitoring and Metrics to learn in Developmentgotocon.com/dl/goto-cph-2012/slides/devops/GOTO_CPH-Metrics... · Using Monitoring and Metrics to learn in Development Patrick

Meta-Ops Metrics

Know context

Monday, May 21, 12

Page 57: Using Monitoring and Metrics to learn in Developmentgotocon.com/dl/goto-cph-2012/slides/devops/GOTO_CPH-Metrics... · Using Monitoring and Metrics to learn in Development Patrick

https://github.com/rashidkpc/Kibana

http://graylog2.org/http://logstash.net/

Logs as feedback

Monday, May 21, 12

Page 58: Using Monitoring and Metrics to learn in Developmentgotocon.com/dl/goto-cph-2012/slides/devops/GOTO_CPH-Metrics... · Using Monitoring and Metrics to learn in Development Patrick

Unix Pipe Analogy

Monday, May 21, 12

Page 59: Using Monitoring and Metrics to learn in Developmentgotocon.com/dl/goto-cph-2012/slides/devops/GOTO_CPH-Metrics... · Using Monitoring and Metrics to learn in Development Patrick

INFRA DBWEB APP

DEV TEST PROD

Integrate with Continuous Integration

APP DBWEB APP

DBWEB APP

DBWEB APP

DBWEB APP

DBWEB APP

InfrastructureCode Repository

ApplicationCode Repository

Monday, May 21, 12

Page 60: Using Monitoring and Metrics to learn in Developmentgotocon.com/dl/goto-cph-2012/slides/devops/GOTO_CPH-Metrics... · Using Monitoring and Metrics to learn in Development Patrick

INFRA DBWEB APP

DEV TEST PROD

Reuse Tools across dev & ops

APP DBWEB APP

DBWEB APP

DBWEB APP

DBWEB APP

DBWEB APP

InfrastructureCode Repository

ApplicationCode Repository

Monitoring/Metrics

Monday, May 21, 12

Page 61: Using Monitoring and Metrics to learn in Developmentgotocon.com/dl/goto-cph-2012/slides/devops/GOTO_CPH-Metrics... · Using Monitoring and Metrics to learn in Development Patrick

INFRA DBWEB APP

DEV TEST PROD

APP DBWEB APP

DBWEB APP

DBWEB APP

DBWEB APP

DBWEB APP

InfrastructureCode Repository

ApplicationCode Repository

Monitoring/Metrics

Monitoring/Metrics

Monitoring/Metrics

Integrate with Continuous Monitoring

Monday, May 21, 12

Page 62: Using Monitoring and Metrics to learn in Developmentgotocon.com/dl/goto-cph-2012/slides/devops/GOTO_CPH-Metrics... · Using Monitoring and Metrics to learn in Development Patrick

INFRA DBWEB APP

DEV TEST PROD

Reuse Workflow

APP DBWEB APP

DBWEB APP

DBWEB APP

DBWEB APP

DBWEB APP

Debugging

Monitoring/Metrics

Monitoring/Metrics

Monitoring/Metrics

Post-Mortem

Monday, May 21, 12

Page 64: Using Monitoring and Metrics to learn in Developmentgotocon.com/dl/goto-cph-2012/slides/devops/GOTO_CPH-Metrics... · Using Monitoring and Metrics to learn in Development Patrick

Monday, May 21, 12

Page 65: Using Monitoring and Metrics to learn in Developmentgotocon.com/dl/goto-cph-2012/slides/devops/GOTO_CPH-Metrics... · Using Monitoring and Metrics to learn in Development Patrick

“The future is metrics are here they are just not evenly

distributed yet”- Morpheus Monitoring

Monday, May 21, 12