← Concepts

阅读中文版本

Ownership Metadata: Making the Right Team Findable

Ownership metadata links a service to the team accountable for it, so alerts, reviews, and incidents route to people instead of a shared inbox.

operations

Definition

Ownership metadata is the structured record of which team or role is accountable for a service, its data, and its on-call rotation, expressed in a standard field that tooling can read rather than in prose documentation.

Context and scope

Every platform query eventually becomes a question of accountability: who approves this change, who receives this page, who fixes this vulnerability.

Common misconceptions

  • Ownership means who wrote the code — it means who is accountable now, including on-call
  • A team name is enough — routing also needs escalation paths and rotation identifiers
  • Ownership metadata is documentation — it is an input to automation and must be machine-readable

Anti-patterns

  • Pointing every service at a shared platform team, creating an invisible queue
  • Setting ownership once during migration and never updating it after reorganizations
  • Using free-text owner fields that no tool can resolve

Related concepts

Authoritative source

https://backstage.io/docs/features/software-catalog/well-known-annotations

Accountability, not authorship

Ownership answers a present-tense question: who is accountable for this service today? Authorship is history. The distinction matters because code changes hands, teams merge, and the person who wrote a module may have moved on. Ownership metadata names the group that receives alerts, approves changes, and answers for the service during an incident.

Where it lives

Ownership belongs in the service descriptor next to the code, stored in a field that tooling resolves to a real team: an identifier, not a display name. The catalog, alerting system, and access reviews should all read the same field. Duplicating ownership in three systems guarantees that two of them will be wrong.

More than a team name

A page needs a route: the owning team, an escalation path, and a rotation. On-call schedules change weekly while ownership changes rarely, so keep them separate but linked. For example, an alert rule can resolve service to team, then team to the current rotation, without editing the alert for every schedule change.

Keeping it current

Ownership rots during reorganizations. Add a periodic check that every service resolves to an existing team, and fail the build when a descriptor points at a team that no longer exists. Review ownership alongside quarterly planning, when transfers and new services are already on the table.

Compared to prose documentation

A wiki page can describe ownership, but no alert router can read it. Machine-readable metadata enables automation: routing, access requests, vulnerability assignment, and cost allocation. The metadata does not replace the conversation about accountability; it makes the outcome of that conversation usable by systems.