using monitoring and metrics to learn in...

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

Upload: doanbao

Post on 31-Mar-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

Using Monitoring and Metricsto learn in Development

Patrick DeboisAtlassian

http://jedi.be/blog@patrickdebois

Monday, May 21, 12

HOSTEDOPS

Vagrant &Veewee

http://devopsdays.org

http://itrevolution.com

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

Monday, May 21, 12

Your Code

Monday, May 21, 12

Monday, May 21, 12

“Test Driven Development”- CI Coward

Monday, May 21, 12

Testing in Controlled Environment

Monday, May 21, 12

Your Code in Test

Monday, May 21, 12

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

- Agile Anonymous

Monday, May 21, 12

OPSDEV CLASH

Continuous Delivery

Monday, May 21, 12

Monday, May 21, 12

Shit Happensin production

Monday, May 21, 12

“You go to production with the code you have,

not the code you wish you had”- Devops Rumsfeld

Monday, May 21, 12

OPSDEV

Three Phases of Creativity (Disney)

Dreamer Realist Critic

Monday, May 21, 12

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

OPSDEV

Culture

Automate

Measure

Share

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

Monday, May 21, 12

OPSDEV

Faster and better feedback

Smaller and more frequent changes

Monday, May 21, 12

OPSDEV

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

Area 1

Monday, May 21, 12

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

Continuous Integration Maturity Model

Monday, May 21, 12

InfrastructureCode Repository

DB

WEB

APP

DB

WEB

APP

DB

WEB

APP

DEV TEST PROD

Reuse “Infra code” across Environments

Monday, May 21, 12

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

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

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

OPSDEV

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

Area2

Monday, May 21, 12

Monitoring Layers

OS

Middleware

App

OS

Middleware

AppClusteredService

ExternalServices

User/Business

Network/Security

Hardware HardwareNetworkStorage

Services

Monday, May 21, 12

Monitoring Layers

Behavioral (larger coverage)

Diagnostics

Monday, May 21, 12

“What part made it fail”~unit test

CPU Memory Network

Monday, May 21, 12

“Is it working?”~behavioral test

Monday, May 21, 12

Monitoring Driven

Development

Create a monitor check before implementing a feature

Monday, May 21, 12

Information RadiatorMonday, May 21, 12

“traditionalIn house monitoring”

Monday, May 21, 12

Monday, May 21, 12

“traditionalIn house metrics”

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

Monday, May 21, 12

Ganglia

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

“1980” style UI

Monday, May 21, 12

No API

Monday, May 21, 12

Hard to scale

Monday, May 21, 12

Static configurations

Monday, May 21, 12

Hard to expose “data”UI vs API

Monday, May 21, 12

Not self-servicing

Monday, May 21, 12

“Monitoring as a service”

Monday, May 21, 12

https://github.com/sensu/sensu

Sonian Cloud Monitoring “Sensu”

Monday, May 21, 12

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

Monday, May 21, 12

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

http://opentsdb.net/

Scalable writes

Monday, May 21, 12

http://graphite.wikidot.com/

Selfservicing Graphs

Monday, May 21, 12

“App Metrics”

Monday, May 21, 12

“End-User Metrics”

Monday, May 21, 12

http://www.appdynamics.com/

Monday, May 21, 12

https://github.com/lookfirst/jmxtrans

Monday, May 21, 12

https://github.com/etsy/statsd

APP STATSDcountingtiming

sampling

GRAPHITE

Monday, May 21, 12

Metrics Java Library

http://metrics.codahale.com/

https://github.com/tritonrc/metricsd

Monday, May 21, 12

Business Level Metrics

Usage patterns - Google Analytics

Monday, May 21, 12

A/B Testing in Prod

Metrics / Information

Monday, May 21, 12

Meta-Ops Metrics

Know context

Monday, May 21, 12

Unix Pipe Analogy

Monday, May 21, 12

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

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

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

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

Monday, May 21, 12

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

distributed yet”- Morpheus Monitoring

Monday, May 21, 12