Distance is latency
If every image, script, and page has to travel from one origin server, users far away pay for geography. A CDN stores copies at edge locations so repeated requests take a shorter path.
The useful signal is usually already there.
Systems stories get more interesting when you can feel the pressure move through the stack.
Version the things you can cache forever
Static assets love long cache lifetimes when the filename changes with the content. User-specific pages need stricter rules.
Hashed filenames turn cache invalidation into deployment math.
Inspect the headers
CDN bugs usually show up in headers: cache status, age, vary, and cache-control. Read those before blaming the app.
Flip the switches and watch the story turn into a tiny operating model.
The edge is part of the app
A CDN is not just hosting plumbing. It is where performance, correctness, and cache policy meet.