Charity Majors @mipsytipsy CTO @honeycombio, ex-Parse, Facebook, Linden Lab; cowrote Database Reliability Engineering; loves whiskey, rainbows. I test in production and so do you. 🌈🖤 Sep. 30, 2018 1 min read

"What's the difference between monitoring-driven development and observability-driven development?"

Ooohh such a great question. Let's take a whack! (h/t to @butchhoward and @rubberduck203 for surfacing it.)

You're an engineer, and your next project involves adding compression to your storage layer. What would you actually do if you were following MDD or ODD development practice?

Let's take monitoring first.

You can think of monitoring as the operational counterpoint to unit tests (component level) and integration tests (service level).

So before you start writing any compression code, you roll out all the monitoring checks you will eventually use to validate your code is working.

Then start building out the functionality. You'll know you're done when all your monitoring checks turn green.

This may not be the best example, but MDD can be terrifically satisfying when you are e.g. bringing up a new cluster or region, and you get to verify that all your automation works by watching waves of red turn green. ☺️

Okay so there's MDD, now what about ODD? So happy you asked :D

If the soul of monitoring is about defined outputs and actionable alerts, the soul of observability is about curiosity and open-ended exploration.

So you might start by asking, "does this feature even need to be built? what are the probable gains if I roll this compression functionality out to our users? is this the best use of my time towards our goals?"

And while you're rolling it out, you would include instrumentation that lets you validate your work. Did you reclaim the space you estimated you would? Are users using it the way you expected? Any other weird side effects?

MDD is about ruling out the known unknowns, ODD is about looking for the unknown unknowns throughout the full life cycle of your code. It's about leading with instrumentation so you aren't developing and shipping blind.


You can follow @mipsytipsy.



Bookmark

____
Tip: mention @threader_app on a Twitter thread with the keyword “compile” to get a link to it.

Enjoy Threader? Sign up.

Threader is an independent project created by only two developers. The site gets 500,000+ visits a month and our iOS Twitter client was featured as an App of the Day by Apple. Running this space is expensive and time consuming. If you find Threader useful, please consider supporting us to make it a sustainable project.