Most Kubernetes monitoring tells you that a pod restarted. It rarely tells you whether a customer noticed, which customers were affected, or whether the business promise is now at risk.
That gap is a product and service-design problem as much as a monitoring problem. The people responsible for a payment journey need to know whether checkout works, how quickly it works, and which customer segment is paying the cost of an incident. The on-call engineer needs enough evidence to choose the right first action. The business needs a trustworthy way to decide when an error budget has been spent.
I wanted to see whether an Azure Monitor SLI could give the Azure SRE Agent enough context to investigate an Azure Kubernetes Service failure, rather than just react to a pod alert. I built a small payment service, chose signals around the customer journey, and deliberately broke it.
The result is an infrastructure-as-code deployment that runs with azd up. It measures availability, latency, the full request journey, the public path, and customer tiers. Azure Monitor alerts on those service-level signals, and the Azure SRE Agent investigates the incident and, when allowed, fixes it.
The important result is not the number of Azure resources. It is the chain from customer need to operational decision:
| Question | Evidence | Decision it supports |
|---|
| Can customers complete checkout? | Journey availability | Treat the incident as a service problem, not a pod problem |
| Who is affected? | Customer-tier dimensions | Prioritise impact and communicate with the right customers |
| Is the public entry point working? | External availability | Avoid restarting healthy workloads when DNS or TLS is broken |
| Is the budget being spent quickly? | Burn rate | Decide whether to wake someone or continue observing |
| Is a remediation safe? | Logs, metrics, RBAC, and audit evidence | Automate only actions with a bounded risk |
I got several things wrong. The corrections stay in the post because they expose the difference between a design that looks plausible and one that has been tested with the people, decisions, and failure modes it is meant to serve.