What Statistical Process Control Taught Me About DevOps

Jowanza Joseph

@jowanza

Agenda

 

  1. My Problem
  2. Statistical Process Control
  3. DevOps
  4. Questions

A Story

Architecture

Questions

  1. How long does it take to get from streaming data to the data lake?
  2. What's the worst case scenario for my query?
  3. Can you send me an update every time a certain table changes?
  4. What do I have to do to get my own copy of the data lake? 
  5. What are the foreign key constraints on these tables?
  6. Who owns this data?
  7. Can I get alerts when this cron job kicks off?

The Book

SPC

  1. Understanding the process
  2. Eliminate specialized processes
  3. Monitor and improve the process

SPC

  • Data Driven 
  • Process Oriented
  • Understanding Boundaries

Distributions

The average return time of that query is 12 seconds​
The average return time of that query is 12 seconds, 99% of queries return faster than 15 seconds 

Variations

customers_with_orders

customers_with_orders_timestamp

orders_with_customer_names

orders_streaming

new_customers_stream

Run Charts

USE Method

Utilization

Saturation

Errors

RED Method

Request Rate

Request Errors

Request Duration

Control Charts

Design of Experiments

Continuous Improvement

Check Lists

Process Charts​

Bottlenecks

Boundaries

  • Limitations are good
  • Say no to special requests
  • Spend more time thinking
  • Make more service oriented pieces

DevOps

Takeaways

  • Build metrics and monitoring into your process
  • Document every process from end-to-end
  • Remove as many "special" processes as you can
  • Give context to everything
  • Speak in metrics
  • Find more reasons to change

Thank You

What Statistical Process Control Taught Me About DevOps

By Jowanza Joseph

What Statistical Process Control Taught Me About DevOps

  • 984