C4 at scale: make it efficient, then make it ambient

Introduction C4 (Context, Containers, Components, and Code) is a powerful and flexible approach to visualizing software architectures. In a previous article I explained how I created a DSL to describe my C4 as data thanks to the CUE language. On Wardley’s evolution axis the initial article was in stage I of evolution: making it work In this article, in a first part, we’ll explore how I effectively use the C4 tool based on CUE to organize my code, handle tags, manage versioning, and integrate with Continuous Integration and Continuous Deployment (CI/CD) systems to generate and update diagrams.

Rationale behind wardleyToGo

Wardley Maps are a way of expressing business, market, or any other system through sketching. The Map is a sketch that offers situational awareness on a certain topic. As a sketch, the obvious way to draw a map is with paper and pen. While it is an excellent starting point, a paper representation of a map has a problem: it is static. What I mean by this is that adjusting the placement of some components in the design phase can be tedious (even with a good rubber pencil).