I think it's more important that it be easy for "everyone" i.e. non technical users to transfer their data and apps from one host to another. I predict that literally running your own server will be a minority activity forever. But if the app hosting is properly commoditized, then the bulk of users retain similar levels of control over their digital lives as they would if they were fully self hosting, and can switch back and forth as desired.
That implies data portability first and foremost. Anyone should be able to sync their app state to a plain hard drive, and upload it to a different provider on a moment's notice. This further implies a certain independence from IP addresses. I'd like to see apps identified by the public keys of their owners rather than a thin veil over an IP address (yes, this means someone needs to solve asymmetric crypto usability).
But if all that works, putting up an app could be as simple as editing some of "your files/data", in a designated directory or whatever, and a general-purpose sync/backup algorithm deploys them, the same one that syncs files between your phone and laptop (data portability strikes again). Further deployment sophistication can be added later.
There are also security concerns if the software has state; some kind of sandbox abstraction will mostly do it while being user-friendly. I do expect that to be the fundamentally tricky part, though.