Skip to content
Infrastructure

Observability for small product teams

Traces, metrics, and alerts sized for a team that still ships features every week

August 19, 2025
By Manweba

Small teams do not need an observability platform that takes a platform team to run. They need a short list of signals that answer “is it broken?” and “where?” without drowning on-call in decorative dashboards.

Three questions, not thirty panels

Bias toward golden signals per critical path: traffic, errors, latency, and saturation for the API that takes money or bookings. Everything else is optional until those are trustworthy.

One service map that lies is worse than no map. Prefer a few RED/USE charts you trust over auto-generated walls of widgets.

Traces where requests cross boundaries

Add distributed tracing when you have more than one service or a queue in the path. Propagate a trace id from the edge. Sample thoughtfully in production—100% forever is a bill, not a virtue.

Minimal request logging with correlation

typescript
Loading code…

Alerts that earn a wake-up

Alert on symptoms users feel: elevated 5xx rate, checkout latency past SLO, queue depth that will not drain. Do not page on CPU being “interesting.” Attach a runbook link to every alert—or delete the alert.

If an alert fires and the right response is “watch a graph,” it should be a ticket, not a page.

Keep the cost of knowing low

Structured logs with a request id beat sprawling debug dumps. Cap cardinality on custom metrics. Review dashboards quarterly and delete the ones nobody opened during the last incident.

Final thoughts

Observability for a small product team is restraint: a few honest signals, traces on the critical path, alerts with runbooks, and the discipline to delete noise. Clarity beats coverage.

Ready to build something this considered?