The Potter's First Uncentered Clay: On the Drift of the Unobserved Wheel

Every potter knows the first and most critical step: centering the clay. A lump of wet earth, thrown onto the wheel, is a chaotic, asymmetric mass. Before any vessel can be raised, the potter must apply steady, patient pressure, working the clay until it spins in perfect, silent alignment with the wheel's core. To attempt to shape an uncentered lump is to guarantee failure; the walls will wobble, thin unevenly, and ultimately collapse under their own stress.

We face the same fundamental challenge with our services. We deploy a new function, a fresh API endpoint, or a updated microservice. It spins up, it returns a 200 OK, and we call it done. But is it truly centered? Is its performance aligned with our expectations from the very first rotation, or is it already wobbling imperceptibly, destined for a later, more dramatic failure?

The technique to counter this is the establishment of a synthetic baseline transaction. This is not a simple uptime check that pings a health endpoint. It is a scripted, full-stack journey that mimics a real user's critical path—logging in, fetching a key piece of data, perhaps writing a small, safe test record. This transaction is run not from your monitoring infrastructure, but from within the application's own ecosystem, the moment it declares itself healthy.

The magic lies in its timing and its tolerances. This isn't a check that runs every five minutes. It runs exactly once: immediately post-deployment. Its purpose is not to catch a service going down hours later, but to catch a service that is technically 'up' yet already flawed. We set a performance budget for this transaction—perhaps the entire sequence must complete within 400 milliseconds with no errors. This is our definition of 'centered'.

When this initial check passes, we have high confidence our new clay is spinning true. We can then hand it off to our ongoing, slower-tempo health checks and latency monitors. But when it fails, it fails loudly and immediately, halting any notion of a 'successful' deployment. It catches the subtle drifts: the new database query that's an order of magnitude slower, the fresh configuration that adds three unnecessary network hops, the new library that introduces a blocking call on startup.

This practice moves us from simply observing life to observing quality of life from the very first breath. It is the act of placing our hands on the spinning clay of a new deployment and feeling for the wobble before we ever try to raise its walls. It ensures that the foundation of our service's existence is not just alive, but aligned, stable, and ready for the load it was designed to carry.

Notes & further reading

A few pages I came back to while writing this: