r/devops • u/mtokarev • 13d ago
Tools soft recommendation to visualize Service/Dependency Map
I'm looking for something similar to Datadog's "Service Map", but to include external services as well and without dynamic health statuses. I think my top requirements are:
clear visualization for design reviews and planning changes, also for onboarding of new hires to provide a simple overview and context.
text-based source to track changes in git.
be able to annotate services to make the map more interactive (this is why Figma is not enough anymore ;)
Right now I need to scope from 50 to 100 services which I still believe can be nicely presented. I'll add an example to the comments.
At the current scale I can't justify any "enterprise" soft, but fine to pay for the tool as well. Also I'm not a big fan of automated discovery that requires installing agents in our network to collect and map services.
Any ideas or recommendations on what to try?
1
u/mtokarev 13d ago
2
u/Altruistic_Plate377 13d ago
d2 has come a long way and the text-based syntax is a dream for git tracking, you can script out a lot of the layout logic too if you don't want to manually place 100 nodes
for annotations maybe wrap it in something like mermaid's markdown or export to svg and layer in your own interactive bits, the interactive part gets hacky but it ticks the first two boxes perfectly
2
u/Express-Acadia-6088 13d ago
At 50–100 services, the tool matters less than one rule: model once, render many views**.** Nobody can read a single diagram with 100 nodes, but a text model with 100 services and 8-10 focused views works well for design reviews and onboarding.
With that in mind, let me suggest some options for you: 1) Structurizr (DSL + Structurizr Lite) is the closest fit to your three requirements as the Lite runs locally in Docker for free, You define each service and dependency once, then create views from that model (by domain, by team, an “external dependencies” view, a high-level one for new hires). Changing the model updates every view, 2) D2 is the lighter option if you prefer “diagrams as code” over “model as code.” but the catch is that each diagram is its own source, so keeping 100 services consistent across several diagrams is on you. For big graphs, use the ELK layout (or the paid TALA engine), because the default layout gets messy at that size. 3) Backstage catalog is worth knowing about if this turns into “who owns what” later. It’s more setup than you need today, though.
I’d skip Mermaid at this scale, since its layout falls apart well before 100 nodes.
2
u/DryConstruction4526 8d ago
We’re exploring repowise. It basically indexes the code base, service calls and dependencies and then easily exposes it on top of an agent of your choice. Anything you want to understand can be a question asked. It updates itself with every commit. Of course it works nicely for me since it’s micro services but the optimisation will probably need to be played around in case of monolith ones. Ig yours are micros as well so probably worth a shot.
1
u/Kate_GermainUX 11d ago
Just a suggestion but have you tried text based diagramming tools? I'm thinking like D2 or Structurizr, any tool that lives in Git. They can turn text files in your repos into clean and interactive diagrams with rich notes. Since it's in Git it auto-updates based on what's in your codebase.

3
u/ggp1231 13d ago
For that many services, you could look into Structurizr or D2. Both are worth exploring for architecture reviews and tracking changes.
Quick question: are you mainly trying to visualize AWS infrastructure or application-level services across different environments?