Relationship Graph: Azure Infrastructure Explorer
Overview
The Relationship Graph in Spotto is an interactive visual explorer for your Azure infrastructure. It renders subscriptions, resource groups, networks, and individual resources as a navigable graph — showing how they relate through hierarchy, network connections, and dependencies. If you've ever traced a dependency chain across resource groups by opening twelve portal tabs, this is the alternative.
Why use this? (Jobs, pains, gains)
Jobs to be done
- When I'm assessing blast radius, I want to see what depends on a resource, so I can understand the impact before making changes.
- When I'm reviewing infrastructure, I want a visual map of how resources connect, so I can spot misconfigurations and orphaned resources.
- When I need to tag resources across groups, I want to select and tag multiple resources at once, so I'm not clicking through them one by one.
Common pains
- Azure Portal shows resources in flat lists — understanding how they connect requires jumping between blades and mentally stitching the picture together.
- Cross-resource-group dependencies are invisible unless you already know they exist.
- Network topology (which subnet a VM sits in, what's behind the load balancer) is scattered across multiple views.
- Tagging at scale means repetitive work across dozens of resources.
What you gain
- A single, interactive view of your Azure topology from subscriptions down to individual resources.
- Visible dependency and network relationships, including cross-resource-group connections.
- Cost and security signals surfaced directly on the graph — no context switching.
- Bulk tagging through multi-select, so you can classify resources without leaving the graph.
Key capabilities
Where to find it
In the Spotto Portal, open your company and navigate to Relationship Graph (or access it via the sidebar).
Drill-down navigation
The graph uses a hierarchical drill-down model. Click into a subscription to see its resource groups, then into a resource group to see its resources. A breadcrumb bar at the top tracks your path (e.g., Subscription > Resource Group > Resource) and lets you jump back to any level.
| Level | What you see |
|---|---|
| Subscriptions | All selected Azure subscriptions with name and cost |
| Resource Groups | Resource groups within a subscription, organized by name, cost, or resource count |
| Resources | Individual resources (VMs, databases, storage, app services, etc.) grouped by type |
| Supporting resources | Sub-resources like disks, snapshots, and monitoring agents — expandable on demand |
View modes
When you're inside a resource group, two view modes are available:
- Architectural view (default): Resources grouped by type and separated into swim lanes by Azure region. Cross-resource-group dependencies are flagged with badges so you can see when something reaches outside the current group.
- Network view: A three-layer topology layout showing external connectivity (public IPs, VPN gateways) at the top, security resources (firewalls, application gateways, load balancers) in the middle, and virtual networks with subnets and their resources at the bottom. Resources are positioned within their actual subnets, with edges showing traffic flow between layers.
Organization modes
At the subscription level, you can change how resource groups are organized:
- Default: Grouped by name prefix (alphabetical).
- Cost tiers: Grouped by monthly spend (high, medium, low).
- Resource count: Grouped by number of resources.
Resource details panel
Clicking a resource opens a details panel with five tabs:
- Details: Resource metadata (type, location, SKU), dependency statistics, blast radius score, and cross-resource-group dependency lists.
- Cost: Current month spend, percentile ranking, potential savings, and cost hotspot indicators.
- Security: Security recommendations with severity badges (Critical, High, Medium, Low).
- Recommendations: Non-security optimization recommendations with potential monthly savings.
- Tags: Azure tags and Spotto tags with the ability to add new tags or enter multi-select mode for bulk tagging.
Visual indicators
The graph uses visual cues to surface important signals directly on nodes:
- Flame icon: Cost hotspot (top 10% of spend).
- Dollar sign icon: Savings opportunity available.
- Orange badge: Cross-resource-group dependency.
Edges between resources are color-coded by relationship type (network, security, dependency, cross-resource-group, etc.) and can display metadata tooltips showing relationship details and confidence scores.
Search and filtering
- Search: Type 4+ characters to filter by name, type, resource group, location, or tags. Results are hierarchical — parent nodes stay visible when children match.
- Resource type filter: Show only specific Azure resource types.
- Tag filter: Filter resources by specific tags.
- Subscription selector: Choose which Azure subscriptions appear in the graph.
All filters combine with intersection logic (all conditions must match).
Multi-select and bulk tagging
Toggle multi-select mode from the Tags tab in the details panel. Drag on the canvas to draw a selection box around multiple resources, then use the floating Apply Tags button to tag them all at once. Selected resources are highlighted with a blue ring.
Graph controls
The canvas includes zoom controls, a minimap for orientation in large graphs, and an automatic fit view on load. You can pan by dragging the background and zoom with the mouse wheel or pinch gesture.
Technical reference
| Component | Details |
|---|---|
| Inputs | Azure resource and relationship data fetched per subscription, including hierarchy, network topology, dependencies, and cross-resource-group references. Supports 60+ Azure resource types across compute, networking, storage, databases, platform services, monitoring, and security. |
| Outputs | Interactive graph visualization with drill-down navigation, resource details panel, cost and security signals, and bulk tagging. |
| Defaults | Data uses a 2-minute stale time with 30-minute cache retention. All filtering, search, and organization are applied client-side. The graph auto-fits on initial load. |
How it differs from Azure Resource Graph
Azure Resource Graph is a powerful query engine, but it's designed for programmatic access and tabular results — not visual exploration. Spotto's Relationship Graph is built to:
- Show visual topology so you can see how resources connect without writing queries.
- Surface cross-resource-group dependencies that are difficult to discover through flat resource lists.
- Overlay cost, security, and recommendation signals directly on the infrastructure map.
- Support bulk tagging from the same view where you're exploring resources.
It's not a replacement for Resource Graph queries; it's the visual layer you use when you need to see the infrastructure rather than query it.
How it works (high level)
- Spotto fetches relationship data per subscription from its enrichment pipeline, which normalizes resource IDs, infers cross-resource-group dependencies, and detects network topology.
- The graph renders using a hierarchical drill-down model — each level loads the relevant resources and their relationships.
- Multiple subscriptions are fetched in parallel and merged into a single graph view.
- Filtering, search, and organization modes are all applied client-side for fast interaction.
Limitations (honest, boring, useful)
- Azure only: The relationship graph currently supports Azure resources. Other cloud providers are not included.
- Not real-time: Resource and relationship data updates on sync cycles, not live.
- Large estates can be dense: Subscriptions with hundreds of resource groups will produce busy graphs — use filters and organization modes to keep things navigable.
Troubleshooting
Graph shows "No Graph Data Available"
What you're seeing: The graph area is empty with a "No Graph Data Available" message. Likely causes:
- No subscriptions selected.
- Selected subscriptions haven't completed their initial data sync.
- No relationship data exists for the selected subscriptions.
How to fix:
- Confirm at least one subscription is selected in the subscription selector.
- If subscriptions are newly connected, wait for the next successful sync and refresh the page.
Resources or relationships are missing
What you're seeing: You expect to see a resource or dependency, but it doesn't appear in the graph. Likely causes:
- The resource type may not be supported yet (60+ types are covered, but not every Azure resource type is included).
- Active filters may be hiding the resource.
- Relationship data may not have been detected during the last sync.
How to fix:
- Clear all filters and search terms.
- Check whether the resource appears in the Spotto Resources view.
- If the resource exists but relationships are missing, they may appear after the next data sync.
Graph is slow or unresponsive
What you're seeing: The graph takes a long time to load or interactions feel sluggish. Likely causes:
- A large number of subscriptions selected simultaneously.
- A resource group with a very high resource count.
How to fix:
- Reduce the number of selected subscriptions.
- Use filters to narrow down visible resources.
- Use organization modes (cost tiers, resource count) to find the specific group you need without loading everything.
Looking to enhance your cloud setup for cost efficiency, performance, reliability, or security?
Talk to a cloud expert! Email us or schedule a 30-minute consultation and let's optimize your cloud environment together.
Book a Free Consultation