HACKER Q&A
📣 0x008

Do you create Architecture Diagrams? If so, which tool do you use?


I have to draw architecture Diagrams from time to time but I am in this weird position that I never learned how to do it properly, so I will just wing it mostly using a mix of draw.io or Powerpoint.

How do you do it? What is the best way to draw these diagrams in 2021? I know there is Enterprise Architect, but I don't feel like learning an ancient tool that creates ugly diagrams.


  👤 simon_brown Accepted Answer ✓
I created the C4 model (https://c4model.com) as a way to help teams agree upon a set of abstractions and diagram types to describe software architecture. That website also has a tooling section with some suggestions, but you might start with the open source Structurizr CLI and DSL combo ... it provides a way to create multiple diagrams from a single model, and those diagrams can be rendered with a number of tools. See https://structurizr.org for more.

👤 dgellow
PlantUML is still the best tool I know: https://plantuml.com/. And you can easily add the diagram source file to a git repository.

👤 rcarmo
It depends on the level of detail. PowerPoint is great for block diagrams and high level layouts (just drag SVGs in and add arrows). Visio (if you’ve got it) can be overkill until you reach “swimlane” territory.

Draw.io is nice if you need to have an open format or share across orgs, but lacks Visio’s libraries.

So it’s a toss-up either way. I tend to avoid Visio since it’s not readily available to most people, but wish there was something like it in general (cross-platform) use.


👤 obayesshelton
I have tried Lucid and Miro neither quite cut it but given what types of things I have been doing lately I need flexibility and both do it.

Lucid doesn't output pretty though, I love things snapping and having equal spacing.


👤 __d
I've used Visio, Dia, OmniGraffle, and lucidchart.com.

Dia is pretty terrible, sadly. OmniGraffle seems to be fading away. Lucidchart is ok, the sharing is good, and the Confluence integration is widely used.

Visio is kinda the best. I've even used it under WINE on macOS.

I don't use UML much. I tend to do basic ER diagrams for database stuff, and higher-level "boxes and lines" otherwise.


👤 sdfhbdf
We use draw.io at have a agreed upon way of defining structures like circles are services in our own infra, square is a cloud service and diamond is something else and so on.

There is also some color coding going on but in the end draw.io is just the easiest to use and integrates well with confluence


👤 armonraphiel
Mostly working with https://miro.com/

👤 dave_sid
MS Paint