TL;DR: monitor the customer journey with synthetic checks, monitor each dependency with heartbeat endpoints, and make every failed observation carry enough service, region, run, and cost metadata to recover without guessing. A red check is evidence of an observation failure, not proof that the whole SaaS application is down. In a marketplace data pipeline, that distinction prevents a slow catalog worker from being charged to the search API, and it keeps retries from turning one incident into several false ones.
Decision record: what counts as downtime?
The decision rule is simple: use a synthetic check for availability as a user experiences it, a heartbeat for the health of a particular service, and a dependency-aware rollup for the application-level status. Keep those signals separate.…