That's mental.
Ideally you'd never upgrade your software in the usual way. You'd simply deploy the new version with automated tooling and tear down the older.
Also, "running a server for ten years" does not need to mean that it has ten years of uptime. I think that wasn't meant.
Do you have any idea how much effort it is to change everything over to "treating your servers as disposable"?! It's going to eat up a third (to half) of my "fun time" budget for the foreseeable future!
the 'usual way' is automated tooling