Insight
The hidden cost of skipping monitoring early
Monitoring is one of the easiest things to deprioritise early on. It doesn’t ship a feature, customers don’t see it, and for the first few months a small platform’s problems are often small enough to notice manually anyway. So it waits — and then usage grows past the point where “we’d probably notice” is actually true.
What actually gets skipped
It’s rarely “no monitoring at all.” It’s usually partial monitoring: uptime checks on the homepage, but nothing on the API. Error logging that exists but nobody’s actively watching. No alerting on the metrics that would predict a problem before it becomes visible to users — connection pool exhaustion, queue depth, disk space, slow query counts creeping upward.
The gap isn’t obvious because the platform mostly works. It’s only obvious in hindsight, after an incident, when the question “how long was this happening before we noticed” gets an uncomfortable answer.
Why the cost is bigger than it looks
The direct cost of an incident is usually the smaller part. The bigger cost is the diagnostic time — trying to reconstruct what happened after the fact, with logs that weren’t structured for this, and no historical baseline to compare against. Good monitoring doesn’t just catch problems faster; it makes them dramatically cheaper to actually diagnose, because the data needed to understand “what changed” already exists.
What’s actually worth setting up early
Not everything, and not all at once. A reasonable early baseline is: uptime and error-rate monitoring on every user-facing path (not just the homepage), alerting tied to an actual person for the handful of failure modes that would hurt most, and structured logs from day one — retrofitting structured logging after an incident, when you actually need it, is much harder than starting with it.
This doesn’t need to be sophisticated to be valuable. It needs to exist, and someone needs to actually be looking at it — which is as much a process commitment as a technical one.