Any application that has internal state that can’t be easily checkpointed/restored but has to be moved to a different node. For example an ffmpeg process that is running a long transcode and you want to utilize cheap spot instances
Aside from all the ones mentioned, one idea I’ve considered is what if the machine containing data you’re retrieving is elsewhere and there’s a lot of it. Rather than having the inbound machine be responsible for proxying all that data (and all the round trips to the user space proxy process), what if you just migrate ownership of the TCP connection to the other machine instead to do Direct Server Return (DSR)? Then you can cut a huge amount of overhead out.
In practice of course that’s easier said than done (eg what if there’s a proxy in between that had some data buffered in application buffers), but it’s a neat idea I want to revisit some day. And it’s totally possible that using something like QUIC is a better model than relying on migrating TCP kernel stack.
I don't have much context here, what's the use case where one would migrate a running container from one physical host to another?