24
METRIC-DRIVEN DEVELOPMENT WITH ANSIBLE, INFLUXDB, AND GRAFANA Timothy Appnel Principal Product Manager, Ansible by Red Hat June 30, 2016

DEVELOPMENT WITH ANSIBLE, INFLUXDB, AND GRAFANA …€¦ · DEVELOPMENT WITH ANSIBLE, INFLUXDB, AND GRAFANA Timothy Appnel Principal Product Manager, Ansible by Red Hat June 30, 2016

  • Upload
    others

  • View
    44

  • Download
    0

Embed Size (px)

Citation preview

Page 1: DEVELOPMENT WITH ANSIBLE, INFLUXDB, AND GRAFANA …€¦ · DEVELOPMENT WITH ANSIBLE, INFLUXDB, AND GRAFANA Timothy Appnel Principal Product Manager, Ansible by Red Hat June 30, 2016

METRIC-DRIVEN DEVELOPMENT WITH ANSIBLE,

INFLUXDB, AND GRAFANATimothy Appnel

Principal Product Manager, Ansible by Red Hat

June 30, 2016

Page 2: DEVELOPMENT WITH ANSIBLE, INFLUXDB, AND GRAFANA …€¦ · DEVELOPMENT WITH ANSIBLE, INFLUXDB, AND GRAFANA Timothy Appnel Principal Product Manager, Ansible by Red Hat June 30, 2016

PREAMBLE

Page 3: DEVELOPMENT WITH ANSIBLE, INFLUXDB, AND GRAFANA …€¦ · DEVELOPMENT WITH ANSIBLE, INFLUXDB, AND GRAFANA Timothy Appnel Principal Product Manager, Ansible by Red Hat June 30, 2016

ABOUT ME

• Over 25 years of corporate IT and startup experience across numerous industries

• “Jack of all trades"

• Old-timer in the Ansible community -- contributing since version v0.5

• The synchronize module in Ansible is all my fault

• Managed a testing and automation team at a large bank in America.

Page 4: DEVELOPMENT WITH ANSIBLE, INFLUXDB, AND GRAFANA …€¦ · DEVELOPMENT WITH ANSIBLE, INFLUXDB, AND GRAFANA Timothy Appnel Principal Product Manager, Ansible by Red Hat June 30, 2016

ABOUT THIS PRESENTATION

• One of my last projects at the bank was researching and prototyping a means of metric collection and visualization to drive quality of trading systems

• Got me thinking about how automation and metrics compliment each other in a DevOps management tool chain

• Refining and evolving my thinking on this topic

• Develop something tangible and more concrete to work with thru a POC

• Gather feedback to build on

Page 5: DEVELOPMENT WITH ANSIBLE, INFLUXDB, AND GRAFANA …€¦ · DEVELOPMENT WITH ANSIBLE, INFLUXDB, AND GRAFANA Timothy Appnel Principal Product Manager, Ansible by Red Hat June 30, 2016

METRIC-DRIVEN DEVELOPMENT (MDD)

Page 6: DEVELOPMENT WITH ANSIBLE, INFLUXDB, AND GRAFANA …€¦ · DEVELOPMENT WITH ANSIBLE, INFLUXDB, AND GRAFANA Timothy Appnel Principal Product Manager, Ansible by Red Hat June 30, 2016

WHAT ARE METRICS?

Metrics are quantifiable measure of any component or process whose change is of interest to your business

Page 7: DEVELOPMENT WITH ANSIBLE, INFLUXDB, AND GRAFANA …€¦ · DEVELOPMENT WITH ANSIBLE, INFLUXDB, AND GRAFANA Timothy Appnel Principal Product Manager, Ansible by Red Hat June 30, 2016

WHAT IS METRIC-DRIVEN DEVELOPMENT?

Metrics Driven Development (MDD) is a practice where metrics are used to drive application development

• Inspired by the thinking behind Test Driven Development (TDD), Continuous Deployment and Agile Methodologies

• Popularized by Etsy

– https://codeascraft.com/2011/02/15/measure-anything-measure-everything/

Page 8: DEVELOPMENT WITH ANSIBLE, INFLUXDB, AND GRAFANA …€¦ · DEVELOPMENT WITH ANSIBLE, INFLUXDB, AND GRAFANA Timothy Appnel Principal Product Manager, Ansible by Red Hat June 30, 2016

WHY METRIC-DRIVEN DEVELOPMENT?

Page 9: DEVELOPMENT WITH ANSIBLE, INFLUXDB, AND GRAFANA …€¦ · DEVELOPMENT WITH ANSIBLE, INFLUXDB, AND GRAFANA Timothy Appnel Principal Product Manager, Ansible by Red Hat June 30, 2016

QUALITY

Page 10: DEVELOPMENT WITH ANSIBLE, INFLUXDB, AND GRAFANA …€¦ · DEVELOPMENT WITH ANSIBLE, INFLUXDB, AND GRAFANA Timothy Appnel Principal Product Manager, Ansible by Red Hat June 30, 2016

THE BENEFITS

MDD enables the aggressive rollout of changes through the constant collection, monitoring and analysis of relevant metrics.

• Shared view of goals and communication of progress (or not) in real-time

• Early warning system to problems ranging from breaks and reduced quality

• Meaningful data points to measure business impact and derive insights

Page 11: DEVELOPMENT WITH ANSIBLE, INFLUXDB, AND GRAFANA …€¦ · DEVELOPMENT WITH ANSIBLE, INFLUXDB, AND GRAFANA Timothy Appnel Principal Product Manager, Ansible by Red Hat June 30, 2016

“If you don’t know where you are going, any road will get you there."

Page 12: DEVELOPMENT WITH ANSIBLE, INFLUXDB, AND GRAFANA …€¦ · DEVELOPMENT WITH ANSIBLE, INFLUXDB, AND GRAFANA Timothy Appnel Principal Product Manager, Ansible by Red Hat June 30, 2016

METRICS ARE MORE THAN MONITORING

OPS

DEV BUSINESS

METRICS

Page 13: DEVELOPMENT WITH ANSIBLE, INFLUXDB, AND GRAFANA …€¦ · DEVELOPMENT WITH ANSIBLE, INFLUXDB, AND GRAFANA Timothy Appnel Principal Product Manager, Ansible by Red Hat June 30, 2016

WHERE DOES AUTOMATION AND DEVOPS FIT IN HERE?

Page 14: DEVELOPMENT WITH ANSIBLE, INFLUXDB, AND GRAFANA …€¦ · DEVELOPMENT WITH ANSIBLE, INFLUXDB, AND GRAFANA Timothy Appnel Principal Product Manager, Ansible by Red Hat June 30, 2016

WHAT HAPPENED HERE?

Page 15: DEVELOPMENT WITH ANSIBLE, INFLUXDB, AND GRAFANA …€¦ · DEVELOPMENT WITH ANSIBLE, INFLUXDB, AND GRAFANA Timothy Appnel Principal Product Manager, Ansible by Red Hat June 30, 2016

THAT EXPLAINS IT

Playbook Ran App Deploy App Deploy

Page 16: DEVELOPMENT WITH ANSIBLE, INFLUXDB, AND GRAFANA …€¦ · DEVELOPMENT WITH ANSIBLE, INFLUXDB, AND GRAFANA Timothy Appnel Principal Product Manager, Ansible by Red Hat June 30, 2016

AUTOMATION AND DEVOPS IN MDD

• Recording of events that may have bearing on metrics

– Start and end of a playbook run

– A service being started/stopped/restarted

– Application deploy or package upgrade

• Profiling the plays and tasks being executed

• Running a playbook when a certain metrics threshold is breached

Page 17: DEVELOPMENT WITH ANSIBLE, INFLUXDB, AND GRAFANA …€¦ · DEVELOPMENT WITH ANSIBLE, INFLUXDB, AND GRAFANA Timothy Appnel Principal Product Manager, Ansible by Red Hat June 30, 2016

“Hokey workflows and ancient shell scripts are no match for a good automation tool at your side kid.”

Page 18: DEVELOPMENT WITH ANSIBLE, INFLUXDB, AND GRAFANA …€¦ · DEVELOPMENT WITH ANSIBLE, INFLUXDB, AND GRAFANA Timothy Appnel Principal Product Manager, Ansible by Red Hat June 30, 2016

(DeHaan Shot First)

Page 19: DEVELOPMENT WITH ANSIBLE, INFLUXDB, AND GRAFANA …€¦ · DEVELOPMENT WITH ANSIBLE, INFLUXDB, AND GRAFANA Timothy Appnel Principal Product Manager, Ansible by Red Hat June 30, 2016

DEMO TIME

“Signs point to yes”

Page 20: DEVELOPMENT WITH ANSIBLE, INFLUXDB, AND GRAFANA …€¦ · DEVELOPMENT WITH ANSIBLE, INFLUXDB, AND GRAFANA Timothy Appnel Principal Product Manager, Ansible by Red Hat June 30, 2016

ANSIBLE METRICS LAB STACK

HAPROXY

+TELEGRAF

+TELEGRAF

+TELEGRAF

+INFLUXDB

+GRAFANA

Page 21: DEVELOPMENT WITH ANSIBLE, INFLUXDB, AND GRAFANA …€¦ · DEVELOPMENT WITH ANSIBLE, INFLUXDB, AND GRAFANA Timothy Appnel Principal Product Manager, Ansible by Red Hat June 30, 2016

DEMO SOURCE

• https://github.com/tima/ansible-mdd

• https://github.com/tima/8ball-service

Page 22: DEVELOPMENT WITH ANSIBLE, INFLUXDB, AND GRAFANA …€¦ · DEVELOPMENT WITH ANSIBLE, INFLUXDB, AND GRAFANA Timothy Appnel Principal Product Manager, Ansible by Red Hat June 30, 2016

RECAP

• MDD enables the aggressive rollout of changes through the constant collection, monitoring and analysis of relevant and metrics.

• MDD is about quality and communicates shared goals to developers, ops and business to that end.

• Ansible should be integrated to support and enhance the practice of metric-driven development (MDD) -- not just rapidly provision and configure systems.

Page 23: DEVELOPMENT WITH ANSIBLE, INFLUXDB, AND GRAFANA …€¦ · DEVELOPMENT WITH ANSIBLE, INFLUXDB, AND GRAFANA Timothy Appnel Principal Product Manager, Ansible by Red Hat June 30, 2016
Page 24: DEVELOPMENT WITH ANSIBLE, INFLUXDB, AND GRAFANA …€¦ · DEVELOPMENT WITH ANSIBLE, INFLUXDB, AND GRAFANA Timothy Appnel Principal Product Manager, Ansible by Red Hat June 30, 2016