Using monitoring and metrics to learn in development

10,005 views
9,808 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
2 Comments
54 Likes
Statistics
Notes
No Downloads
Views
Total views
10,005
On SlideShare
0
From Embeds
0
Number of Embeds
192
Actions
Shares
0
Downloads
272
Comments
2
Likes
54
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • 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

    ×