Distributed System Component Explorer¶
Run the Distributed System Explorer MicroSim Fullscreen
Edit in the p5.js Editor
About This MicroSim¶
This MicroSim shows a realistic distributed-system topology: external clients, a load balancer and API gateway (ingress), four services each with a sidecar proxy inside a service-mesh envelope, a mesh control plane, a message broker, a service registry, and a database per service. Components are color-coded by category. Click any component to read its definition, the quality attributes it supports and threatens, and the ATAM question you would ask about it.
How to Use¶
- Click any component to open its detail panel — definition, what it supports, what it threatens, and an ATAM question.
- Toggle Service Mesh: ON/OFF to add or remove the sidecar proxies and control plane, and read how that changes security and observability coverage.
- Turn on Failure Mode, then click a service to take it down — the diagram marks it DOWN and the detail panel explains how health propagates (registry marks it unhealthy, the load balancer stops routing to it).
Iframe Embed Code¶
You can add this MicroSim to any web page by adding this to your HTML:
<iframe src="https://dmccreary.github.io/atam/sims/distributed-system-explorer/main.html"
width="100%"
scrolling="no"></iframe>
Lesson Plan¶
Grade Level¶
Undergraduate / Professional
Duration¶
15-20 minutes
Prerequisites¶
None beyond a basic idea of services and databases.
Bloom's Taxonomy Level¶
Understand (L2)
Learning Objective¶
Students will be able to identify the major infrastructure components of a distributed system, explain each component's purpose, and describe the quality attribute implications of each component's design choices.
Activities¶
- Name the roles (6 min): Students click every component and write a one-line role for each.
- Mesh or not (5 min): Students toggle the service mesh and list what is gained and lost.
- Failure walk (5 min): In failure mode, students take down a service and trace which components must react.
Assessment¶
Give students a component and ask them to state one quality attribute it supports, one it threatens, and one ATAM question to ask about it.
References¶
- Bass, L., Clements, P., & Kazman, R. (2021). Software Architecture in Practice (4th ed.). Addison-Wesley.
- Richardson, C. (2018). Microservices Patterns. Manning.