C4 Models as Code • Simon Brown • YOW! 2022

preview_player
Показать описание
This presentation was recorded at YOW! 2022. #GOTOcon #YOW

Simon Brown - Author of "Software Architecture for Developers" & Creator of the C4 Software @simonbrown4821

RESOURCES

Simon

ABSTRACT
"Diagrams as code", as featured on the ThoughtWorks Tech Radar, is becoming a popular way to create software architecture diagrams for inclusion in long-lived documentation. The benefits of creating diagrams from text are well understood - text is version controllable, easy to diff, easy to integrate into build pipelines, and automatic layout facilities allow authors to focus on content. The majority of these tools (e.g. PlantUML and Mermaid) are focussed on diagramming though, and require you to create one text file per diagram, with only a limited ability to reuse diagram elements across multiple diagrams. At scale, this causes maintenance problems, and leads to inconsistencies between diagrams.

This talk will introduce and demonstrate the open source Structurizr DSL - a way to create a model of your software architecture using a textual DSL that's specifically targeted towards the C4 model. We'll also see how the DSL separates content from presentation, allowing you to render your diagrams with a number of tools, which in turn offers some answers for the tricky question of how to use the C4 model at scale. [...]

TIMECODES
00:00 Intro
00:27 C4 Model
03:18 Tooling
08:27 Demo
42:14 Get started
43:17 Q&A
51:30 Outro

Download slides and read the full abstract here:

RECOMMENDED BOOKS

#SoftwareArchitecture #DevOps #SimonBrown #Microservices #Monolith #ModularMonolith #Complexity #BoundedContext #C4Model #SoftwareEngineering #Programming #SoftwareDevelopment #UML #DRY #Structurizr #SimonBrown #YOWcon

Looking for a unique learning experience?

SUBSCRIBE TO OUR CHANNEL - new videos posted almost daily.
Рекомендации по теме
Комментарии
Автор

The tool and concept looks good and accessible.

brnto
Автор

For Structurizr, can we break the dsl file into multiple files and use import to bundle them together? And how can we break down these files into multiple repositories and put them together?

FaustoOliveiraFilho
Автор

LSP support will be crucial for adoption. thx for the "dont use visio" ... our architects love visio just because "it's there so i use it" and of course 95% of the funny boxes and lines pictures they conjure up are lightyears away from "self explanatory"

animanaut
Автор

So nice, I'm drooling. At my company, i dont see adoption rise unless people have the liberty to hand-fine-tune box positions and links shapes (node view is nifty, but not the kind of stuff you can present to senior management). Shame, because having all the rest "done for you" is such a timesaver ..

Charles-tqtc
Автор

12:00 oooff… why JSON? If it’s meant to be human readable and version controllable, YAML or similar be a better choice.

brnto