Skip to content
AITroveRead. Build. Understand.
Make this comfortable

Service catalog dependencies: distinguish declared edges from observed calls

Last updated: 5 Oct 20266 min read
tutorial
AdvancedBy AITrove Editorial

Catalog relations answer who says a service depends on a database, queue, API, or shared platform. Runtime telemetry answers which calls were observed in a particular window. Neither is complete by itself: a rarely used disaster-recovery path may have no recent trace, while a one-off request can appear in telemetry without being an intended contract. Incident impact analysis should compare both views, label the evidence age and direction of each edge, and send disputed relationships to an owner. Retired components must not vanish from history before their consumers are known.

Operational decision

A ledger API declares a dependency on a settlement queue and a fraud service. The incident graph also shows recent calls to a legacy rates API that is absent from the catalog. The service owner checks code and configuration, confirms the rates call is still on the invoice path, and adds a reviewed edge. Conversely, an old database edge remains declared but has no calls; the team cannot remove it until a full billing-cycle test and configuration search show the fallback is gone. Simulate loss of the fraud service and use the graph to select synthetic transactions and accountable owners. Mark each edge as declared, observed, or both, with source and last verification time; avoid treating trace sampling gaps as proof of no dependency. Before deleting a service entry, traverse inbound edges, assign each consumer a migration or explicit waiver, and retain a tombstone that points to the replacement identity. Catalog ingestion errors should trigger a freshness alarm so a cached last-good entry is not mistaken for recently reviewed truth.

Output
Ledger dependency review
Declared: ledger API -> settlement queue
Observed: ledger API -> legacy rates API
Dispute: old billing database edge
Evidence: source, direction, window, owner
Retirement: inbound consumers accepted migration
Freshness: last successful catalog processing

Cost and verification

An indexed dependency traversal is O(V + E) over services and edges; joining traces adds cost proportional to selected telemetry volume. Sampling, missing propagation, and encrypted paths can undercount calls. Track unowned edges, declared-only edges past review age, unexplained observed calls, and retirement attempts with inbound consumers. A large graph is cheap to draw but expensive to keep truthful; spend review effort on edges that affect release and incident decisions.

Common Mistakes

  • Do not delete a dependency because it was absent from a short trace window.
  • Do not assume a declared edge describes actual current traffic.
  • Do not retire a catalog entry before its inbound consumers have a disposition.

Connected lessons

Practice and check

devops
platform-engineering
Storage details