In this module, you will learn how to:
- Streamline web application
deployment
views - Leverage
infrastructure node
to materialize entry point
⌛ Estimated time to complete: 15 min
Web applications come with many flavors, including:
Deployment diagrams can become noisy. To mitigate this, it's perfectly fine to deploy at the software system
level, instead of zooming in at the container
one. To do so, we leverage software system instance
elements. Those software system instances
land remotely. They are likely to be articulated leveraging a bunch of infrastructure nodes
. To keep it simple, we only materialize one of them here, namely a load balancer
.
Because your deployment is likely to grow and complexify, and because you have to accommodate heterogenous audience, it is a good habit to materialize entry point right now. Here, personas will interact with software systems
through a proxy, namely their favorite web browser. Materializing it via a dedicated infrastructure node
makes perfect sense.
Deployment can be complemented using:
- a brand-new
deployment node
to host thisinfrastructure node
and materialize user realm. - a brand-new
relationship
between the browser and the load balancer to materialize the coupling between the two realms. - a
browser
shape to tag theinfrastructure node
with.
In case we want to surface web application internals, we have to zoom in and deploy stack leveraging container instances
. Once again, supporting user to effectively read and grasp intent is key.
Deployment can be expressed using:
- 2
container instances
, properly containerized through matchingdeployment nodes
, landing on server realm. - an
infrastructure node
to materialize the browser entry point, landing on user realm. - a
browser
shape to tag theinfrastructure node
with.
Deployment can be expressed using:
- a
container instance
, properly containerized through adeployment node
, landing on server realm. - an
infrastructure node
to materialize the browser entry point, landing on user realm. - a
browser
shape to tag theinfrastructure node
with.
WASM - standing for Web Assembly
language - is a relatively new way of deploying a web application. This said, WASM
application is far beyond the plain old SPA
usage only and new usages on the backend side - services & databases integration - are gaining traction.
In this paradigm, .NET
code is directly executing inside the browser.
Deployment can be expressed using:
- a
container instance
to materialize the application, landing on user realm. - a
browser
shape to tag thecontainer instance
with, and enforce fact that application is fully embedded.
Docker
is promotingWASM
technology as a viable alternative to Linux container.
Deployment can be expressed using:
- a
container instance
, properly containerized through adeployment node
, landing on server realm. Notice how we usedeployment node
name to surfaceruntime
&platform
insights. - an
infrastructure node
to materialize the browser entry point, landing on user realm. - a
browser
shape to tag theinfrastructure node
with.
📘 Completing this stage should lead to this final workspace.
You see how one could leverage Structurizr
semantic to accuretaly materialize how a web application is deployed.