The workload got several times faster. The customer’s only concern was that they might be accidentally running on a more expensive instance.
In every system I’ve worked on, the agreement is in terms of an SLO. We never gave our customers any sort of expectation (or guarantee) that we wouldn’t suddenly wildly beat our SLO targets (and, in fact, we often did, due to routine upgrades).
Having said that, certain customers dictate production freezes during launches, or only want to run stuff that’s been baked in production elsewhere for 3-6 months. Upgrading those customers behind their backs would be unacceptable, especially because they pay extra for a crappier but more stable setup.
The VM change was sufficient enough to alter the runtime of a task by several times. This is NOT a small inconsequential change.
You _have_ to warn your clients when you do stuff like this.