Good points about TCO being something a company needs to assess for themselves, rather than "cloud is always cheaper" or "on-site is always cheaper". It's not my field but I'd hope there are approaches that let a company first use the cloud to figure out how much they really need, then later switch to on-premises and not have to reconfigure things (i.e. they can have their machines present the same cloud interface).
approaches that let a company first use the cloud to figure out how much they really need, then later switch to on-premises and not have to reconfigure things
There is. As an org seeks out a cloud solution, they will meet with a sales engineer and/or a solutions architect to complete a 'right-fit' type interview - costs for a length of time will most likely be discussed at that time. Of the 'big 3' (AWS, Azure, Google), AWS does offer a 'free tier' for one year for some services if one knows what they want upfront - I can only speak to AWS on the free tier thing. During this time, an org could build out the environment they want to mimic what they get in the cloud and use a method called 'forklifing' their data right back into their own environment - best to run operational tests here before any divestment decisions!
Before all of that though, the org needs to ensure no vendor lock-in for services (meaning the org cannot operate without that service that is wholly owned by another entity) and the org will need to honor any length of service - whatever is defined in the Statement of Work (SOW) and/or any other contractual documentation, lest they face a penalty - such as buying out the term remaining, etc.
Personally, I think medium to large cloud environment are best fitted to medium to large enterprises, especially those that are decentralized and for e-commerce that require traffic bursting scalability.