Platform Engineering

A Service Nobody Owns Is a Service Nobody Fixes

Key takeaway: Ownership metadata is only useful if it is accurate, and accuracy requires the record to be a byproduct of normal work rather than a document someone maintains separately.

The Question That Wastes Response Time

An alert fires for a service nobody recognises. Someone searches a wiki page last edited two years ago. The named owner left the company. The team mentioned no longer exists after a reorganisation.

Fifteen minutes of an incident are spent identifying who should be involved. That time comes directly out of the window where the impact was containable.

The same gap appears outside incidents. A dependency needs upgrading and nobody knows who to ask. A vulnerability is disclosed and the affected service has no maintainer. A cost anomaly appears and no team accepts the charge.

Why Catalogues Go Stale

The usual approach creates a spreadsheet or wiki page listing services and owners. It is accurate on the day it is written and decays immediately.

Decay is structural rather than a discipline failure. Teams reorganise, people move, services are renamed, new services are created without anyone thinking about the catalogue. Updating it is work with no immediate benefit to the person doing it, so it does not happen.

Approach Accuracy over time
Wiki page Decays within months
Spreadsheet Decays within months
Metadata file in each repository Stays current if validated
Derived from deployment metadata Stays current automatically

The reliable pattern makes the record part of the artefact it describes. A metadata file in each repository, validated in CI, means ownership travels with the code. A rename or a transfer updates it because the file is part of the change.

What the Record Needs

Keep it short enough that filling it in is not a burden.

  • Owning team, referenced by a group identifier rather than an individual name, so departures do not orphan it
  • On-call rotation or escalation path, which is what an incident actually needs
  • Tier or criticality, so severity can be assessed without a conversation
  • Dependencies, at least the ones whose failure takes this service down
  • Runbook link for the common failure modes
  • Data classification, since it determines who must be told about an incident

Referencing a team rather than a person is the detail that most affects longevity. Individual names go stale constantly; group identifiers survive personnel changes.

Enforcing Without Friction

Validate the metadata in CI and fail the build if it is missing or references a team that does not exist in your directory. That makes the record self-correcting: a team that dissolves causes builds to fail, which forces the ownership question to be answered explicitly rather than silently forgotten.

Surface the data where it is needed. An alert that includes the owning team and runbook link answers the ownership question before anyone has to ask it, which is the entire point of maintaining the record.

Generate the catalogue from the metadata rather than maintaining it separately. Any manually curated view will diverge from the source.

Handling Genuinely Orphaned Services

Every organisation has some. The catalogue’s value includes making them visible.

An unowned service needs a decision rather than a placeholder: assign it to a team with the capacity to maintain it, or decommission it. Recording a nominal owner who does not know they own it is worse than recording nothing, because it produces confident wrong answers during incidents.

The Bottom Line

Store ownership metadata in each repository, reference teams rather than individuals, validate it in CI so it cannot rot silently, and inject it into alerts so the ownership question is answered before anyone asks. Then use the gaps it reveals to force real decisions about unowned services.

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button