Browse our guides or talk to our team.
A C4 Model describes or defines software architecture at different levels of detail. A C4 Model is a set of diagrams representing the context, containers, components, and code of a piece of software. The hierarchy of these diagrams allows different audiences to understand the software architecture at the level of detail they need.
You can use a C4 model for microservices, to show how you’re planning to build a system, to describe an existing system, or visualize your enterprise cloud strategy. C4 diagrams are an alternative, simplified framework compared to UML diagrams and can describe multiple systems, unlike more specific AWS architecture diagrams, GCP architecture diagrams, or Azure architecture diagrams.
The C4 Model was created by Software Architecture for Developers author, Simon Brown.
To diagram key structures and processes directly alongside your software architecture documentation, you can sign up for a free trial of Gliffy for Confluence today.
There are four types of C4 models, each one for a different audience and containing a different level of detail. These are the context, container, components, and code diagrams that make up your C4 model.
Context diagrams are the most general description of what your system does, who will use it, and what other systems it will interact with. A context diagram will help you describe the scope of your project and help you pinpoint who the user is and what problem you’re going to solve.
The container diagram takes the first step into describing the software system and shows the APIs, applications, databases, and microservices that the system will use. Each of these applications or services is represented with a container and the interactions between them are shown at a high level.
One step deeper than the container diagram, the component diagram details groups of code within a single container. These components represent abstractions of your codebase.
This diagram type is comparable to a UML component diagram, but follows a less-strict set of “rules” in order to create the software architecture diagram.
The last level requires lots of detail to show how the code of a single component is actually implemented. To do this, you would want to make a UML class diagram or entity relationship diagram that describes the component.
Depending on your project and the containers or components you need to describe, you’ll end up having a set of four or more diagrams that represent your C4 model. If you make a C4 model in Gliffy, you can use links directly on shapes in your diagrams to allow users to double-click into deeper levels of your model.
In Gliffy, you’ll open a new diagram and use basic shapes to build your C4 Model. Drag and drop the shapes that represent your software system, including your user or persona and any software systems connected to the one you’re diagramming. As you drag and drop shapes, type to add text that labels or describes the components in your diagram.
Each shape in C4 Models usually includes:
For basic C4 modeling, you can use Gliffy to describe your architecture. Gliffy also supports drawing and diagramming for other types of software architecture diagrams or software engineering diagrams, likeUML diagrams, Entity-Relationship diagrams, and cloud architecture diagrams.
If you haven’t yet, be sure to sign up for a free trial to try it yourself.
TRY GLIFFY FOR CONFLUENCE TRY GLIFFY ONLINE