An article about architecture diagrams without a single example?
Architecture diagrams enable better conversations
71–80 of 141 posts
Re: Architecture diagrams enable better conversations
#72I introduced C4 into my org a few years ago after disparate and unfocused documentation (if there even was any) and a lack of organizational competency on our own systems. We’ve found that you get a lot of value out of the first two levels of C4 alone. If your shop is good at UML and keeping it up-to-date, awesome, that work snaps right in as the additional layers. But whether you do 3 and 4 or not, context and conta…
I really like diagramming, and I tend to do it whenever architecture comes up, but the best tools I've found are just pen and paper (or pen and whiteboard, or in a pinch Microsoft Paint). That way, you can draw exactly the relevant details for the discussion at hand.
This doesn't work great for "diagrams as code", i.e. anything you want to check into git. I've recently had some success with ASCII drawings - there are a couple of online tools that draw the basics, and you can get the fine details by hand - but that's more time consuming, particularly for quick sketches.
Re: Architecture diagrams enable better conversations
#73I've been using https://structurizr.com/ to automatically generate C4 diagrams from a model (rather than drawing them by hand). It works well with the approach for written documentation as proposed in https://arc42.org/ . It's very easy to embed a C4 diagram into a markdown document. The result is a set of documents and diagrams under version control that can be rendered using the structurizr documentation server (fo…
Recently been doing the same Structurizr consolidation since amongst our various teams we had a mish-mash of Lucidchart, Miro, and other collaborative design tools. One thing I was experimenting with (read: struggling with!) was a way to keep per-service (per-repo) architecture workspaces which are also synchronized on-commit to a central workspace and used !include to bind them together. The moving parts are not dif…
Re: Architecture diagrams enable better conversations
#74Like, at the highest level, we have the different nomad clusters with stuff around them, and how these are used at a business level, relevant regulations and such. This splits into a number of identically structured datacenters with a number of connections between them. Then, each datacenter consists of a number of software clusters, some deployed, some not deployed. It's pretty much the same code with the same toggles, just somewhat different due to different underlying cloud providers. What clusters are deployed or not deployed is a risk-management-decision, as well as a business decision. But that's when the highlevel overviews stop, because then you get into the weeds. And not just a little bit, that's when you need chops to manage postgres to manage some of those clusters.
But I'm putting a lot of hope into these diagrams and explanations for onboarding new colleagues, or maybe presenting the infrastructual ideas at meetups or conferences. Nothing against them, but a lack of an abstract understanding of a few high level ideas is really hurting a few new colleagues.
Like, if I have a ticket, what set of systems would be right to work with? What happens if the ticket specifies ... other systems? What if you follow a runbook and the runbook suddenly banks portside really hard and tells you to touch systems outside the cluster you're working upon? In most cases, this is going to be wrong. It might be hard to determine what would be correct here, but with a decent grasp, it usually ends up easy to determine if the path isn't correct.
Re: Architecture diagrams enable better conversations
#75I've been using https://structurizr.com/ to automatically generate C4 diagrams from a model (rather than drawing them by hand). It works well with the approach for written documentation as proposed in https://arc42.org/ . It's very easy to embed a C4 diagram into a markdown document. The result is a set of documents and diagrams under version control that can be rendered using the structurizr documentation server (fo…
Visual Studio has good support for MermaidJS. https://mermaid.js.org/intro/
Re: Architecture diagrams enable better conversations
#76I've had the idea that graph diagrams (including architecture diagrams) can be paged - you show a different set of links/vertices on each page of the same graph (show the same node but different enumeration of edges). Many codebase visualisations I've seen were too complicated to understand because the diagrams were so large. (I've seen some visualisations generated from code that were so small when panned around you…
> I've seen some visualisations generated from code that were so small when panned around you have to zoom in. It's not a great experience. I would love a Google-Maps-Like architecture diagram. Zoom out and you see high level flows, zoom in and you get the details you want to see. Different overlays to let you explore how systems are connected or how certain sub features work. Obviously this is hard to do and even ha…
Re: Architecture diagrams enable better conversations
#77I've been using https://structurizr.com/ to automatically generate C4 diagrams from a model (rather than drawing them by hand). It works well with the approach for written documentation as proposed in https://arc42.org/ . It's very easy to embed a C4 diagram into a markdown document. The result is a set of documents and diagrams under version control that can be rendered using the structurizr documentation server (fo…
I use MermaidJS for flow chart and Sequence diagram. They have C4 in beta. I tried and it is hard adjust the layout and many features are not supported for C4 yet. Visual Studio has good support for MermaidJS. https://mermaid.js.org/intro/
Re: Architecture diagrams enable better conversations
#78Re: Architecture diagrams enable better conversations
#79Earlier quoted context omitted.
> I've seen some visualisations generated from code that were so small when panned around you have to zoom in. It's not a great experience. I would love a Google-Maps-Like architecture diagram. Zoom out and you see high level flows, zoom in and you get the details you want to see. Different overlays to let you explore how systems are connected or how certain sub features work. Obviously this is hard to do and even ha…
I’m working on exactly this idea, if it goes well I’ll launch it as a product. I am trying to figure out the value proposition and who to sell it to and for how much. If anyone has ideas, please reach out. I would be very grateful.