3 ms·
Pretty cool. The biggest thing I think is missing from many popular diagramming tools is the ability to easily diff the architecture across changes. Although th
by sixstringtheory 4y ago
Pretty cool. The biggest thing I think is missing from many popular diagramming tools is the ability to easily diff the architecture across changes. Although that can already be done with graphviz source files.
However, these days I prefer to just have diagrams generated from the source code itself, like:
- https://github.com/cycloidio/inframap https://github.com/cycloidio/inframap
- https://graphviz.org/Gallery/directed/bazel.html https://graphviz.org/Gallery/directed/bazel.html
In order to make a compelling use case out of having to maintain a parallel definition like this, I think it needs to be able to contribute to analysis like formal verification or, despite them stating that it's not a goal, being able to create the described architecture. Or even generate something like a terraform plan. Otherwise it falls victim to the same problem as any other method of creating diagrams, that of them falling out of sync with the system.
They are a long way there already by providing a way to use a programming language backed by a large ecosystem of other tools that can be used to work with e.g. terraform, like python/go.
- beardedwizard 4y agoIsn't it too late for the diagram if the code is already written? I think many diagram use cases are about informing which code should be written to begin with. For understanding an existing thing, diagram from code seems great.
- sixstringtheory 4y agoDepends on the reason for having a diagram. If you need to work on a piece of existing code you’ve never seen before, it can be very helpful to have a diagram as a guide. If I’m prototyping, I’m probably just going to draw a diagram on a whiteboard, not write code to create one. That’s bringing way too much cognitive overhead into the process that will distract from the task at hand.