Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Using monitoring and metrics to learn in development

10,420 views

Published on

A lot of people associate devops with faster deployment and automation.
This speeds up the process from idea , implementation and to production.
An equally important part is monitoring and metrics: this allows you to
learn from your application while it is in production.
The field of monitoring is traditionally owned by the operations group.

In this session we will explore:
- the state of current metrics and monitoring solutions
- how they are evolving to opening up information to the whole company
- the benefits developers can get from this information
- and how they can improve the collection of metrics and monitoring.

After all, if your application is your baby, you do care if it start
behaving strangely and grows old, right?

Published in: Technology, Design

Using monitoring and metrics to learn in development

  1. 1. Using Monitoring and Metrics to learn in Development Patrick Debois Atlassian http://jedi.be/blog @patrickdebois
  2. 2. HOSTEDOPShttps://my.atlassian.com/ondemand/ http://www.cutter.com http://itrevolution.com http://devopsdays.org Vagrant & Veewee
  3. 3. Your Code
  4. 4. “Test Driven Development” - CI Coward
  5. 5. Testing in Controlled Environment
  6. 6. Your Code in Test
  7. 7. “Until code runs in production , your code is just inventory” - Agile Anonymous
  8. 8. Continuous DeliveryDEV CLASH OPS
  9. 9. Shit Happensin production
  10. 10. “You go to production with the code you have,not the code you wish you had” - Devops Rumsfeld
  11. 11. Dreamer Realist Critic DEV OPSThree Phases of Creativity (Disney)
  12. 12. Devops Areas Area 3: Embed Project knowledge into Operations Area 1: Extend delivery to production DEV OPS Area 2: Extend operations feedback to project Area 4: Embed Operations knowledge into Project http://jedi.be/blog/2012/05/12/codifying-devops-area-practices/
  13. 13. Culture AutomateDEV OPS Measure Share http://www.opscode.com/blog/2010/07/16/what-devops-means-to-me/
  14. 14. Smaller and more frequent changesDEV OPS Faster and better feedback
  15. 15. Area 1: Extend delivery to production “think Jez Humble” Area 1DEV OPS
  16. 16. Continuous Integration Maturity Modelhttp://www.slideshare.net/Urbancode/continuous-delivery-maturity-model
  17. 17. Infrastructure Code Repository DEV TEST PROD WEB WEB WEB APP APP APP DB DB DBReuse “Infra code” across Environments
  18. 18. Reuse “workflow” across Environments UP PROVISION VM HALT DESTROY VM Management WEB Simple CLI APP Vagrantfile DB Puppet/Chef Config Basebox JEOS HOSThttp://vagrantup.com/
  19. 19. Integrate with Continuous Integration DEV TEST PRODAPP WEB APP DB WEB APP DB WEB APP DBINFRA WEB APP DB WEB APP DB WEB APP DB Infrastructure Application Code Repository Code Repository
  20. 20. Continuous Integration to Continuous Delivery Faster/Delivery DEV TEST PRODAPP WEB APP DB WEB APP DB WEB APP DBINFRA WEB APP DB WEB APP DB WEB APP DB Faster/Feedback Infrastructure Application Code Repository Code Repository
  21. 21. Area 2: Extend operations feedback to project think “John Allspaw” DEV OPS Area2
  22. 22. Monitoring Layers User/Business External Network/Security Services Service Clustered App App ServicesMiddleware Middleware OS OSHardware Hardware Network Storage
  23. 23. Monitoring Layers Behavioral (larger coverage) Diagnostics
  24. 24. “What part made it fail” ~unit test CPU Memory Network
  25. 25. “Is it working?”~behavioral test
  26. 26. Monitoring Driven DevelopmentCreate a monitor check before implementing a feature
  27. 27. Information Radiator
  28. 28. Monitoring Wonderland http://jedi.be/blog/2012/01/03/monitoring-wonderland-survey-introduction/ http://jedi.be/blog/2012/01/03/monitoring-wonderland-nagios-the-mighty-beast/http://jedi.be/blog/2012/01/04/monitoring-wonderland-moving-up-the-stack-application-user-metrics/ http://jedi.be/blog/2012/01/03/monitoring-wonderland-metrics-api-gateways/ http://jedi.be/blog/2012/01/04/monitoring-wonderland-visualization/
  29. 29. “traditionalIn house monitoring”
  30. 30. “traditional In house metrics”http://munin-monitoring.org/ http://collectd.org/
  31. 31. Gangliahttp://ganglia.info/
  32. 32. https://github.com/ monitoringsucks
  33. 33. “1980” style UI
  34. 34. No API
  35. 35. Hard to scale
  36. 36. Static configurations
  37. 37. Hard to expose “data” UI vs API
  38. 38. Not self-servicing
  39. 39. “Monitoring as a service”
  40. 40. Sonian Cloud Monitoring “Sensu”https://github.com/sensu/sensu
  41. 41. http://code.google.com/p/rocksteady/
  42. 42. Reconnoiters goal is to better the world of monitoringby marrying fault detection and trending together.Through ease of configuration and ongoingmaintenance, Reconnoiter encourages monitoringimportant technical metrics along side critical businessmetrics to improve awareness and ultimatelyaccountability. http://labs.omniti.com/labs/reconnoiter
  43. 43. Scalable writes http://opentsdb.net/
  44. 44. Selfservicing Graphs http://graphite.wikidot.com/
  45. 45. “App Metrics”
  46. 46. “End-User Metrics
  47. 47. http://www.appdynamics.com/
  48. 48. https://github.com/lookfirst/jmxtrans
  49. 49. APP STATSD GRAPHITE counting timing sampling https://github.com/etsy/statsd
  50. 50. Metrics Java Library http://metrics.codahale.com/ https://github.com/tritonrc/metricsd
  51. 51. Business Level Metrics Usage patterns - Google Analytics
  52. 52. A/B Testing in Prod Metrics / Information
  53. 53. Meta-Ops Metrics Know context
  54. 54. Logs as feedbackhttp://logstash.net/ http://graylog2.org/https://github.com/rashidkpc/Kibana
  55. 55. Unix Pipe Analogy
  56. 56. Integrate with Continuous Integration DEV TEST PRODAPP WEB APP DB WEB APP DB WEB APP DBINFRA WEB APP DB WEB APP DB WEB APP DB Infrastructure Application Code Repository Code Repository
  57. 57. Reuse Tools across dev & ops DEV TEST PRODAPP WEB APP DB WEB APP DB WEB APP DBINFRA WEB APP DB WEB APP DB WEB APP DB Monitoring/ Metrics Infrastructure Application Code Repository Code Repository
  58. 58. Integrate with Continuous Monitoring DEV TEST PRODAPP WEB APP DB WEB APP DB WEB APP DBINFRA WEB APP DB WEB APP DB WEB APP DB Monitoring/ Monitoring/ Monitoring/ Metrics Metrics Metrics Infrastructure Application Code Repository Code Repository
  59. 59. Reuse Workflow Debugging Post-Mortem DEV TEST PRODAPP WEB APP DB WEB APP DB WEB APP DBINFRA WEB APP DB WEB APP DB WEB APP DB Monitoring/ Monitoring/ Monitoring/ Metrics Metrics Metrics
  60. 60. Metrics Driven Engineeringhttp://www.slideshare.net/mikebrittain/metricsdriven- engineering
  61. 61. “The future is metrics are here they are just not evenly distributed yet” - Morpheus Monitoring
  62. 62. http://jedi.be/bloghttps://github.com/monitoringsucks

×