Software Distribution Diagram
Break down a complex IT-landscape and show how your solution is hosted.
The purpose of this exercise is to create an overview of how your solution is hosted. Use this format if you find a complex landscape. With the Software Distribution Diagram, you outline how the solution components are distributed within the IT landscape. The IT landscape can be categorized into different areas, such as cloud or on-premise.
GOAL
Show how the architecture as well as solution building blocks of the solution are distributed across the IT infrastructure.
PARTICIPANTS
Enterprise Architect, IT
TIME NEEDED
Depends on the complexity of the solution (30min to multiple days)
PHASE
Design
Before You Start
- Describe your solution with functional components
- To understand where to host your solution it is crucial to understand how your architecture looks like in detail.
Materials you will need
Templates for Download
Steps
Identify deployment environments
In this step you identify the hosting and deployment environments of your solution components.
Ask yourself where your previously identified building blocks are deployed. This will later help you to outline how the building blocks are distributed over your IT infrastructure from a deployment point of view.
Structure your IT environment parts in boxes to allow to add the building parts in a later stage. Examples could be “Public-Cloud” or “On-Premise”. If you are leveraging different hosting-services make sure to note them down as well.
Completed Example
Use different colors to show which part of the environment is already there and which parts need to be custom developed in the project.
Map your building blocks to the deployment environments
Map the building blocks of your architecture to the previously in step 1 identified hosting and deployment environments. Start with the mapping of the building blocks to the respective environment. Note down every building block with its title inside the respective environment box. Also, you should add a short description for what the building block is used.
For further guidance have a look at the completed example.
In this guide you look at your architecture in a slightly different way than in other architecture diagrams like the Solution Concept Diagram, meaning the goal shifted from providing a high-level representation of your architecture to displaying how the blocks are distributed over the IT infrastructure. As a result, it’s likely that the structure of your previous diagrams will be disrupted. This does not mean this structure was wrong, it just shows a different point of view.
Visualize relationships between building blocks
To make your diagram more meaningful, add the data flow and the request-response relationships between the building blocks.
Use solid arrows for request-response relationships and dashed arrows for information flows.
Formally the relationships can be split into “Request-Response” and “Information flows” but from our experience and to avoid confusion, it is good enough to work with “Request-Response” only.
Verify your Software Distribution Diagram
Informing your stakeholders (e.g. project managers or other architects) and verifying the Software Distribution Diagram is very important to ensure the assumptions you made during the creation of your Software Distribution Diagram are correct.
Make sure to contact all stakeholders which are responsible for parts of the environment you plan to touch with the solution.
If you created a stakeholder matrix and communication plan, consult it to check how this verification should be done. (e.g. by email or as part of regular stakeholder meetings).
Often it makes sense to include the respective stakeholder and experts in the creation of the diagram instead of just informing them about the outcome.
You are done!
Make sure to take the Software Distribution Diagram into account whenever discussing the landscape & infrastructure.