API-driven Internal Dashboard -- The devops.json and Gutsy open source projects

*
Proposal
Short Form
Beginner

Excerpt

Many large systems are composed of smaller, API-driven services. In
these service oriented architectures (SOA), developers work in small
subteams consuming and producing abstractions.

While APIs enhance development efficiency in the normal work-flow,
failure cases are often non-standardized, with little to no information
provided for operational and development issues such as downtime or
developer on-boarding.

Implementing internal devops.json endpoints, combined with the Gutsy
DevOps Dashboard, significantly improves the cost and quality of
outcomes to operational and development problems by enabling
information discovery of people and infrastructure.

Description

Gutsy1 is an out-of-the-box DevOps Dashboard built on top of the
DevOps JSON well-known URI2.

Raw devops.json data contains key project information for
stakeholders, consumers and collaborators; such as:

  • Contact information
  • Links to code, docs, logs, email lists, deployment systems, etc
  • Last deployed version and date
  • Upcoming milestone events
  • Service dependencies
  • Related APIs, from which information such as on-call rotations and
    key performance metrics can be be retrieved.

In this talk, I will cover real-world examples of how Gutsy
significantly improved access, aggregation, bootstrapping and
automation:

Access

Access to critical and likely-uptodate service information.

When an operational problem or security exploit is found, consumers
have immediate access to operations and security contacts, as well as
access to related services such as PagerDuty on-call schedules.

The file itself, by being part of the code rather than a separate document, is known about and accessible by anyone on the team.

Aggregation

DevOps.json provides a standard API for aggregating information across services.

For example, Gutsy consumes multiple devops.json endpoints in order to
provide a meta dashboard that graphs dependencies between services, as
well as pulls in monitoring information, so that the consequences of
operational problems across the network are apparent.

Bootstrapping and Automation

The cost of teams providing a devops.json endpoint is low compared to
the value provided by out-of-the-box tools consuming this standard.

The entire Gutsy website is configured from devops.json endpoints.
Gutsy automatically reflects not only the most recent raw devops.json
data, but also realizes related links such as on-call rotations and
key performance metrics.

1 https://github.com/racker/gutsy
2 https://github.com/racker/devopsjson

Speaking experience

None like this. I'm looking forward to sharing Gutsy, though.

* I spoke at Ignite Boston a few years back.[1]
* I've given internal tech talks
* I lectured computer science in college

[1] http://www.slideshare.net/IgniteBoston/05-lucy-mendel

Speaker