Entity Relationships

Entity relationships allow you to map how your services, applications, and infrastructure components connect to and depend on each other. This helps you understand impact during incidents.

Understanding Relationships

Relationship Types

Upstat provides several relationship types to accurately model your infrastructure:

  • Depends On: Service A requires Service B to function
  • Parent Of: Hierarchical relationship (e.g., cluster → nodes)
  • Child Of: Inverse of parent relationship
  • Related To: General association between entities
  • Backed By: Service is powered by infrastructure
  • Supports: Infrastructure supports a service

Directional Nature

Relationships have direction and are displayed differently based on perspective:

When viewing Relationship Shows as
Payment Service depends_on → Database “Depends on Database”
Database ← depends_on Payment Service “Required by Payment Service”

Creating Relationships

From Entity View

  1. Navigate to any entity in the Catalog
  2. Click Manage Relationships in the relationships section
  3. Click Add Relationship
  4. Select:
    • Relationship type
    • Target entity
  5. Click Save

The relationship is created and appears in both entities.

Bulk Relationship Creation

When setting up a new service:

  1. Go to the entity
  2. Click Manage Relationships
  3. Add multiple relationships at once:
    • Database dependencies
    • API dependencies
    • Infrastructure backing
  4. Save all at once

Viewing Relationships

Entity Detail View

Each entity shows:

  • Outward relationships: What this entity depends on or relates to
  • Inward relationships: What depends on or relates to this entity

Relationship List

The relationship section displays:

  • Relationship type with directional description
  • Target entity name and type
  • Quick link to view the related entity
  • Health status indicator (when linked to monitors)

Impact Analysis

During Incidents

When an entity is affected:

  1. View the entity’s relationships
  2. See all dependent services
  3. Understand cascade impact
  4. Notify affected teams

Proactive Planning

Use relationships to:

  • Plan maintenance windows
  • Assess change impact
  • Identify single points of failure
  • Document service architecture

Best Practices

Relationship Modeling

Start with critical paths:

  1. Map customer-facing services first
  2. Add their immediate dependencies
  3. Continue mapping transitively
  4. Document infrastructure last

Be specific:

  • Use “depends_on” for hard dependencies
  • Use “related_to” for loose coupling
  • Use “backed_by” for infrastructure

Naming Conventions

Keep relationships clear:

  • “API Gateway depends on User Service”
  • “User Service backed by PostgreSQL Primary”
  • “PostgreSQL Primary parent of PostgreSQL Replica”

Regular Updates

Keep relationships current:

  • Update when deploying new services
  • Remove when decommissioning
  • Review quarterly for accuracy
  • Document in runbooks

Common Patterns

Microservices

Frontend → depends_on → API Gateway
API Gateway → depends_on → User Service
API Gateway → depends_on → Order Service
User Service → backed_by → User Database
Order Service → backed_by → Order Database

Database Clustering

Application → depends_on → Database Load Balancer
Database Load Balancer → parent_of → Primary Database
Database Load Balancer → parent_of → Read Replica 1
Database Load Balancer → parent_of → Read Replica 2

Multi-Region

Global Load Balancer → parent_of → US-East LB
Global Load Balancer → parent_of → EU-West LB
US-East LB → parent_of → US-East App Cluster
EU-West LB → parent_of → EU-West App Cluster

Integration with Monitors

When you link monitors to entities with relationships:

  • Monitor status affects entity health
  • Health cascades through relationships
  • Dependencies show aggregated health
  • Alerts include relationship context

Troubleshooting

Can’t find entity to relate to?

  • Ensure the entity exists in the catalog
  • Check you’re in the right project
  • Verify entity type compatibility

Relationship not showing?

  • Refresh the page
  • Check both entities (it appears on both)
  • Verify relationship was saved

Too many relationships?

  • Focus on critical dependencies only
  • Use the dependency graph for visualization
  • Group infrastructure into logical entities