Skip to content

Commit

Permalink
#1 Update 07_deployment_view.adoc
Browse files Browse the repository at this point in the history
  • Loading branch information
AlvaroGlezC authored May 13, 2024
1 parent 329075d commit 2276129
Showing 1 changed file with 14 additions and 79 deletions.
93 changes: 14 additions & 79 deletions docs/src/07_deployment_view.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -5,90 +5,25 @@ ifndef::imagesdir[:imagesdir: ../images]

== Deployment View

[role="arc42help"]
****
.Content
The deployment view describes:
1. technical infrastructure used to execute your system, with infrastructure elements like geographical locations, environments, computers, processors, channels and net topologies as well as other infrastructure elements and
2. mapping of (software) building blocks to that infrastructure elements.
Often systems are executed in different environments, e.g. development environment, test environment, production environment. In such cases you should document all relevant environments.
Especially document a deployment view if your software is executed as distributed system with more than one computer, processor, server or container or when you design and construct your own hardware processors and chips.
From a software perspective it is sufficient to capture only those elements of an infrastructure that are needed to show a deployment of your building blocks. Hardware architects can go beyond that and describe an infrastructure to any level of detail they need to capture.
.Motivation
Software does not run without hardware.
This underlying infrastructure can and will influence a system and/or some
cross-cutting concepts. Therefore, there is a need to know the infrastructure.
.Form
Maybe a highest level deployment diagram is already contained in section 3.2. as
technical context with your own infrastructure as ONE black box. In this section one can
zoom into this black box using additional deployment diagrams:
* UML offers deployment diagrams to express that view. Use it, probably with nested diagrams,
when your infrastructure is more complex.
* When your (hardware) stakeholders prefer other kinds of diagrams rather than a deployment diagram, let them use any kind that is able to show nodes and channels of the infrastructure.
.Further Information
See https://docs.arc42.org/section-7/[Deployment View] in the arc42 documentation.
****

=== Infrastructure Level 1

[role="arc42help"]
****
Describe (usually in a combination of diagrams, tables, and text):
* Motivation:
This diagram helps to point out the different components that we will have to use and their dependencies. It helps us to visualise the deployment path for the system to work.

* distribution of a system to multiple locations, environments, computers, processors, .., as well as physical connections between them
* important justifications or motivations for this deployment structure
* quality and/or performance features of this infrastructure
* mapping of software artifacts to elements of this infrastructure
For multiple environments or alternative deployments please copy and adapt this section of arc42 for all relevant environments.
****

_**<Overview Diagram>**_

Motivation::

_<explanation in text form>_

Quality and/or Performance Features::

_<explanation in text form>_

Mapping of Building Blocks to Infrastructure::
_<description of the mapping>_
* Quality and/or Performance Features:
To improve the quality of the system we have used the best technologies at our disposal, trying to minimise waiting times for user requests.

* Mapping of Building Blocks to Infrastructure:
image:07_deployment_view_L1.png["Deployment View Level 1"]


=== Infrastructure Level 2

[role="arc42help"]
****
Here you can include the internal structure of (some) infrastructure elements from level 1.
Please copy the structure from level 1 for each selected element.
****

==== _<Infrastructure Element 1>_

_<diagram + explanation>_

==== _<Infrastructure Element 2>_

_<diagram + explanation>_

...

==== _<Infrastructure Element n>_
* Motivation:
This second diagram details the launching of the layers.

_<diagram + explanation>_
* Quality and/or Performance Features:
As we can see in the following image, we are going to use Azure to deploy the application, serving as a remote server. We will also use Docker to launch each part of the system.

* Mapping of Building Blocks to Infrastructure:
image:07_deployment_view_L2.png["Deployment View Level 2"]

0 comments on commit 2276129

Please sign in to comment.