C4 model poster

A few people have recently asked me for a poster/cheat sheet/quick reference of the C4 model that I use for communicating and diagramming software systems. You may have seen an old copy floating around the blog, but I've made a few updates and you can grab the new version from http://static.codingthearchitecture.com/c4.pdf (PDF, A3 size).

Software architecture and the C4 model


About the author

Simon is an independent software development consultant specialising in software architecture and the author of Software Architecture for Developers. Simon lives in Jersey and regularly speaks to audiences around the world. You can find Simon on Twitter at @simonbrown and .

Re: C4 model poster

Hello Simon, what do the arrows actually mean? Does it make sense for example, to have an arrow coming from an external system to an application server on the containers diagram?

Re: C4 model poster

Hi Edrisse ... when I draw arrows, I usually draw them from active thing to passive thing. For example, "A calls B", or "A uses B". There's nothing to prevent you from drawing arrows the other way around though (e.g. "data flows from B to A") if you like, just make sure that you annotate the arrow to describe the intent.

To answer your specific question, sure, why not. For example, perhaps your external system is providing data to a container (e.g. an application server). Or maybe that external system is calling an API or sending messages, to which your application server is subscribing. As I said, just make sure you annotate the arrow to describe the intent. Hope that helps!

Re: C4 model poster

Awsome Simon, thanks a lot.

Re: C4 model poster

Hello, Which tool are you using to sketch your diagrams? You mentioned Structurizr in the past but it is still marked as "work in progress"..

Re: C4 model poster

For the diagrams on the poster, I used OmniGraffle for the Mac (it's basically a Visio clone). Structurizr *is* still a work in progress, but it *will* produce some pictures for you. :-)

Re: C4 model poster

OK, Thanks a lot

Add a comment Send a TrackBack