Service Dependency
Overview
The Service Dependency feature provides a visual mapping system that allows you to define and visualize the relationships between services in your infrastructure. This interactive dependency graph helps teams understand service interconnections, troubleshoot issues more effectively, and maintain better oversight of their service architecture
Accessing Service Dependencies
- Navigate to Teams > Service > Overview
- The Service Dependency map will be displayed as an interactive flow diagram
Key Features
Visual Dependency Graph
- Interactive Flow Chart: Services are displayed as nodes connected by directional arrows showing dependency relationships
- Zoom and Pan: Navigate large dependency maps using mouse controls or the built-in zoom controls
- Grid Background: Dotted grid background helps with visual alignment and navigation
- Responsive Layout: The map automatically adjusts to fit your viewport and repositions nodes for optimal viewing
Service Health Status
Each service node displays real-time health status indicators:
- Healthy: Service is operating normally
- Needs Attention: Service has unresolved incidents within past one year and requires monitoring
- Maintenance: Service is currently under maintenance
Managing Service Dependencies
Adding Services to the Dependency Map
Adding Upstream Services
Upstream services are dependencies that the current service relies on.
- Look for the "Add Upstream Service" button in the dependency map
- Click "Add Upstream Service" button to open the service picker
- Select the Team that owns the service you want to add
- Choose the specific Service from that team
- The service will be automatically positioned and connected as an upstream dependency
Adding Downstream Services
Downstream services depend on the current service.
- Find the "Add Downstream Service" button in the dependency map
- Click "Add Downstream Service" button to open the service picker
- Select the appropriate Team and Service
- The service will be added and connected as a downstream dependency
Service Node Actions
Each service node provides several interactive options accessible through the three-dot menu:
Available Actions
-
Service Overview
- Navigate directly to the service overview page
- Available for all services except the current service being viewed
-
Unlink
- Remove specific dependency connections
- Opens a dialog showing upstream and downstream connections
- Allows selective unlinking of individual relationships
- Preserves the service node while removing only the selected connections
-
Delete Node
- Completely removes the service from the dependency map
- Removes all associated connections (both upstream and downstream)
- Important: This only removes the service from the dependency graph; it does not delete the service from the team
- Requires confirmation before deletion
Unlinking Services
The unlink feature provides granular control over service dependencies:
- Access: Click the three-dot menu on any service node and select "Unlink"
- Upstream Tab: View and unlink services that the current service depends on
- Downstream Tab: View and unlink services that depend on the current service
- Selective Removal: Choose specific connections to remove without affecting others
- Confirmation: Each unlink action requires confirmation to prevent accidental changes
Navigation and Controls
Viewport Controls
- Pan: Click and drag on empty space to move around the map
- Zoom: Use mouse wheel or the zoom controls in the bottom-right corner
- Fit View: The map automatically fits all services in the viewport when loaded
- Grid Snap: Services automatically snap to a grid for clean alignment
Interactive Elements
- Service Nodes: Click to view basic information, hover to reveal action menu
- Connection Handles: Small dots on service nodes where connections can be made
- Connection Lines: Arrows showing dependency direction between services
Best Practices
Organizing Your Dependency Map
- Start with Core Services: Begin by mapping your most critical services
- Work Outward: Add dependencies layer by layer from core to peripheral services
- Keep It Current: Regularly update the map when services change or new dependencies are added
- Use Clear Naming: Ensure service names are descriptive and consistent
Troubleshooting with Dependencies
- Follow the Flow: Use the dependency map to trace issues from affected services to their root causes
- Check Upstream Health: When a service has issues, examine its upstream dependencies first
- Monitor Downstream Impact: Understand which services might be affected when making changes
Maintenance Considerations
- Regular Reviews: Periodically review and clean up outdated dependencies
- Team Coordination: Ensure all team members understand how to maintain the dependency map
- Documentation: Keep the dependency map aligned with your service documentation
Limitations and Notes
- Single Service Node: Each service can only be present once in the entire graph
- Real-Time Updates: Changes to the dependency map are saved immediately and visible to all team members
- Service Node Deletion: Removing a service node from the dependency map does not affect the actual service or its data, but removes connections and its connected service nodes from the graph
Troubleshooting
Getting Help
If you encounter issues with the Service Dependency feature:
- Check your user permissions with your team administrator
- Verify that all services are properly configured in their respective teams
- Contact Zenduty's administrator for technical support