Failure without an error
Google's MLOps guidance puts the distinction plainly: models can decay in more ways than conventional software systems, and they do it because of constantly evolving data profiles rather than because of bad code.
This is the reason ML needs its own observability story. A web service that breaks returns a 500, and your existing alerting catches it. A model that breaks returns a confident, well-formed, wrong prediction, at normal latency, with no exception in the logs.
So the monitoring question is not the usual one. Uptime, latency and error rate can all be perfect while the model is worthless. You need signals that describe what the model is being asked and what it is answering, not just whether the service responded.

