Why an observability bill outgrows the infrastructure it watches
Every other line item on a cloud bill scales with something you decided on purpose: more instances, more storage, more traffic. Observability spend scales with something nobody decided on purpose at all: the number of unique tag values a metric happens to see, the length of a debug log statement a developer left in, how many hosts an autoscaler briefly spun up at 3 a.m. None of those are provisioning decisions. They're side effects of normal operation, which is exactly why nobody's watching them the way they'd watch an EC2 fleet.
The tools built to catch cost surprises everywhere else in the stack rarely point at themselves. A team that diligently rightsizes instances and cleans up orphaned volumes can still let its own monitoring bill triple, because the meter that's growing lives inside the observability platform, not the infrastructure it's watching, and it takes a specific kind of attention to notice a bill that's rising for reasons unrelated to the traffic it's monitoring.
How the calculator works
The Datadog panel prices four meters that move independently: infrastructure hosts (billed at a high-water mark, not an average), custom metrics (billed on cardinality, with a real multiplier for histogram and distribution types), APM (a per-host charge plus indexed spans beyond an included allotment), and logs (ingestion and indexing priced completely separately). Every total is computed twice, once at Datadog's annual/committed rate and once at its on-demand rate, so a list-price comparison doesn't require guessing which one applies to you.
The CloudWatch panel prices the AWS-side equivalent: log ingestion and storage (each with a cheaper Infrequent Access class), custom metrics (billed on a volume-tiered ladder, not a flat rate), and the GetMetricData API calls every dashboard refresh generates.
Below both panels, a ranked set of levers computes what each concrete fix is worth at your own numbers: capping autoscale-driven host peaks, cutting the histogram fan-out on high-volume metrics, moving logs to a cheaper access tier, setting an actual retention policy, killing unused custom metrics, and sampling APM traces instead of indexing every one. Each figure is driven entirely by values you enter, so nothing here rests on an assumption you can't see. They don't stack cleanly, though: the two CloudWatch log levers both bill against the same stored volume, so applying both saves less than adding them suggests.