Skip to content

Instantly share code, notes, and snippets.

@jasonberanek
Last active October 18, 2017 03:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jasonberanek/9928654 to your computer and use it in GitHub Desktop.
Save jasonberanek/9928654 to your computer and use it in GitHub Desktop.
Application Transparency Reference from 3 April 2014 Agile Happy Hour Lean Coffee Session

Application/System Transparency

Jason Beranek - @jasonberanek

“Transparency refers to the qualities that allow operators, developers, and business sponsors to gain understanding of the system’s historical trends, present conditions, instantaneous state, and future projections. Transparent systems communicate, and in communicating, they train their attendant humans.”

Nygard, Michael T. (2012-11-05). Release It!: Design and Deploy Production-Ready Software (Pragmatic Programmers) (Kindle Locations 4239-4242). Pragmatic Bookshelf. Kindle Edition.

Why?

Transparency and its supporting technologies are necessary to make smart decisions:

  • Fuels understanding of system behavior
  • Helps makes decisions on the evolution of a system
    • Think the data to perform a retrospective of the system
  • Black box when something goes wrong

Four perspectives of Transparency

  • Historical Trending
    • What has the system done in the past, and what does that reveal?
      • Ex. performance trends over time, patterns of peak usage
  • Predictive Analysis
    • Extrapolating the future based on the historical trends of the past
      • Ex. capacity planning, procurement decisions
  • Present Status
    • What is the state of the system right now?
      • Ex. dashboards with relevant metrics
  • Instantaneous behavior
    • What is going on during a given incident?
      • Ex. stack traces, thread dumps, log file errors, JMX

Enabling technologies

  • Black box
    • Added to system afterwards, possibly by operations
      • Ex. Graphite, Ganglia, AppDynamics, Nagios, Splunk, Logstash
  • White box
    • Added within the thing being monitored, as part of the system
      • Ex. Logging, Application Metrics
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment