A good architecture design is fundamental to build a stable, scalable and sustainable software system. Documenting this architecture such way that we provide required level of information to all stakeholders had always been a challenge. Thus, C4 model had been introduced as an abstraction-first approach for sketching architecture. In addition, to easily maintain and keep this documentation up to date, a second approach, named architecture as a code, enables to document the architecture design based on textual model. The combination of both brings a robust strategy for documenting and maintain any architecture design.
Ubiquitous language
Design and read a system architecture documentation based upon C4 model.
Code-first approach
Use a textual Domain Specific Language leveraged by Structurizr to document an overall architecture as a code.
Powerful toolchain
Use a set of tools, namely Cornifer & Structurizr, to easily design an overall architecture.
During our journey, we stressed all the benefits one could expect from moving towards architecture as code or code-first approach. However, most of the journey focused on what one could expect to gain from a single model defined as code, without dwelling on how authoring this model for too long. It is now time to address this point...