I have been noodling over something recently with a few people about application portability across clouds. I have defined it as a non-functional requirement:
Portability Time Objective
This is an NFR in a similar vein to RTO. What I mean is that you need to be considering the PTO upfront like you do with RTO as the solution will be radically different if things need to be portable between platforms in hours or days vs portable in months.
High portability means you need some form of data replication (to avoid lengthy migrations), a likely avoidance of application dependencies on underlying cloud platform services, and a big budget to pay all of the cloud egress costs.
That said, I have spoken to clients and get a mixed view of “oh blimey that is going to give us a problem downstream because we are planning to move vendors” and “nah, not an issue we’ll just built it again if we need to move it”. The latter sometimes backed up by the fact (assumption?) that because something can be built using cloud native platform services then it is inherently cheaper to rebuild somewhere else. I think, like most IT architecture answers, it depends!