Microservice
An independently deployable service owning one business capability and its data.
Problem it solves: Lets teams scale and deploy parts of a large system independently.
Where it sits: Called by other services or the gateway.
When to use
- Clear domain boundaries and independent scaling or team ownership.
When not to use
- Small teams or early products, where a modular monolith is simpler.
Failure modes
- Network calls replace function calls: more latency and partial failure.
- Distributed transactions become necessary.
Metrics to watch
- Per-service SLO burn
- Dependency latency (ms)
Alternatives
- Modular monolith
Configuration in Labs (illustrative defaults)
- Instances (count) = 2 — Identical copies behind this logical component. Capacity scales linearly in this model.
- Capacity per instance (req/s) = 800 — Maximum requests one instance completes per second before it saturates.
- Base service time (ms) = 15 — Processing time per request at zero load. Queueing adds to this as utilisation rises.