Model Cloud CDN cost and savings from a cache hit ratio, cache fill, lookup requests and invalidations.
Cloud CDN is cheaper per GiB than origin egress, but it adds two meters origin serving does not have: cache fill and per-request lookups. The saving is therefore the price gap multiplied by the hit ratio, minus that overhead — and a short time-to-live can push cache fill above 100% of misses because the same object is fetched into many caches. A CDN with a poor hit ratio can cost more than no CDN at all, and hit ratio is driven by cache keys, query strings and time-to-live rather than by anything you buy. Confirm cache egress, fill and lookup prices for the destination continents you serve in the Google Cloud pricing calculator.
Cloud CDN
cost = hit GiB × cache egress price + miss GiB × origin egress price + fill GiB × fill price + lookups ÷ 10,000 × lookup price; saving = all GiB × origin price − that total.
cost = hit GiB × cache egress price + miss GiB × origin egress price + fill GiB × fill price + lookups ÷ 10,000 × lookup price; saving = all GiB × origin price − that total. Cloud CDN is cheaper per GiB than origin egress, but it adds two meters origin serving does not have: cache fill and per-request lookups. The saving is therefore the price gap multiplied by the hit ratio, minus that overhead — and a short time-to-live can push cache fill above 100% of misses because the same object is fetched into many caches.
A CDN with a poor hit ratio can cost more than no CDN at all, and hit ratio is driven by cache keys, query strings and time-to-live rather than by anything you buy. Confirm cache egress, fill and lookup prices for the destination continents you serve in the Google Cloud pricing calculator.
This calculator takes 10 inputs: Content delivered to users, Cache hit ratio, CDN egress price per GiB, Origin egress price per GiB, Cache fill price per GiB, Cache lookup requests, Lookup price per 10,000 requests, Cache invalidations issued, Price per invalidation, Cache fill as a share of misses. The pre-filled defaults are a realistic starting point — replace them with figures from your own environment for a result you can act on.
Strip query parameters that do not change the response from the cache key, set a longer time-to-live with explicit Cache-Control headers, and version asset filenames so you can cache them for a year and invalidate by deploying a new name rather than by purging.