Are you migrating just a process tree / other contained environment, or the entire machine?
Are you using CRIU or similar? Do open TCP connections survive the transfer?
Are you migrating just a process tree / other contained environment, or the entire machine?
Are you using CRIU or similar? Do open TCP connections survive the transfer?
Custom container implementation, custom networking, custom storage.
It's just really good hardcore kernel engineering.
If you wanna talk more and you're in SF, come to our meetup on the 10th: machinelearningsf.eventbrite.com.
Edit: the whole machine including RAM cache, CPU instructions, IP connections, etc. is carried over. We can also resize your machine in seconds while it's running.
The difference is subtle, but important. VMs have overhead because of virtualizing the kernel, Containers don't (or rather containers benefit from kernel performance much more than VMs).
In other words, you can achieve the same thing with VMotion, but it's slower and more overhead and harder to manage.
Containers are really only part of the solution, there's a lot of other things you have to think about if you want to build a better mousetrap in the virtualization world (like networking and storage).
Or if the SDN of your cloud is good enough, even TCP_REPAIR might not be needed!