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
- Navigate to any entity in the Catalog
- Click Manage Relationships in the relationships section
- Click Add Relationship
- Select:
- Relationship type
- Target entity
- Click Save
The relationship is created and appears in both entities.
Bulk Relationship Creation
When setting up a new service:
- Go to the entity
- Click Manage Relationships
- Add multiple relationships at once:
- Database dependencies
- API dependencies
- Infrastructure backing
- 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:
- View the entity’s relationships
- See all dependent services
- Understand cascade impact
- 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:
- Map customer-facing services first
- Add their immediate dependencies
- Continue mapping transitively
- 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