2.3 KiB
2.3 KiB
7. Deployment View
Describes:
- Technical infrastructure used to execute your system, with infrastructure elements like geographical locations, environments, computers, processors, channels and net topologies.
- Mapping of (software) building blocks to that infrastructure elements.
Infrastructure Level 1
┌─────────────────────────────────────────────┐
│ Host / VM │
│ ┌─────────────┐ ┌─────────────────────┐ │
│ │ frontend │ │ backend │ │
│ │ (Flask) │ │ (FastAPI) │ │
│ │ :5000 │ │ :12000 │ │
│ └──────┬──────┘ └──────────┬──────────┘ │
│ │ │ │
│ └────────┬──────────┘ │
│ │ │
│ ┌───────▼────────┐ │
│ │ db (DuckDB) │ │
│ │ data/app.db │ │
│ └────────────────┘ │
└─────────────────────────────────────────────┘
Motivation: All three components run on a single VM (or as Docker containers) for simplicity and low operational overhead.
Quality and/or Performance Features: The frontend and backend are stateless; DuckDB persists data on the host filesystem.
Mapping of Building Blocks to Infrastructure:
| Building Block | Container / Process | Port |
|---|---|---|
| Flask frontend | frontend |
5000 |
| FastAPI backend | backend |
12000 |
| DuckDB | File on host (data/app.db) |
— |
Infrastructure Level 2
Docker Compose (alternative)
All three services can be run with docker compose up. The backend mounts the data/ volume for DuckDB persistence.