1. 程式人生 > >Ask HN: What do you use as network diagram software?

Ask HN: What do you use as network diagram software?

Though this in no way addresses your question, I hope it may still be of use.

I regularly create extremely information-dense graphs for highly distributed, stateful systems. The result is effectively a high-level specification for effecting some critical set of global behaviors. Lower-level details may then be represented in subsequent diagrams, but these rarely convey much insight beyond what tabular data can. Indeed, tabular data is readily amenable to computation, allowing relationships to be queried without manually consulting a diagram.

For distributed services, simple (name, URI) tuples can be associated with their respective dependencies in a database or document. This flat, non-overlapping structure ensures dependencies always remain easy to identify, no matter how complex they become. IPC dependencies can be documented in a similar way, and even indirect dependencies, such as when one program writes some data which another program must read, are easily obtained from lists of adjacencies.

Crucially, storing dependencies as data does not preclude visualization but makes it possible to generate a wealth of visualizations without manual intervention. Consider that even an intermediate graph representation, such as dot, does not force you to use GraphViz, and the simple adjacency list format is easily parsed and reformatted for use with other tools.

All that said, I do use Visio for the aforesaid design specification style of diagrams. I find every other program out there to be endlessly frustrating for my use case. But if I need to document some system in full, I do so with data to ensure it can be monitored, verified, or simply queried.

Best of luck to you!