54 karma · joined July 14, 2011
1. The migration of your Applications & Dependencies: Let's say you have a bunch of web applications in different frameworks. I imagine you would install your favourite web server and language/framework dependencies, set up their database servers then clone in your applications from their source control, and install any db schemas. You could automate this entire process by using a tool like Ansible to define the entire process in code. It requires a little more investment initially but then in the future bootstrapping your entire stack elsewhere is as simple as running the Ansible configuration on a fresh VM.
2. Migrating Persistent Data: I would probably use a tool like Rsync to move any large data across providers to servers that have been configured as above.
As a Bonus, you could also use Terraform to provision the VMs in the new hosting provider (assuming there's a provider for your chosen company). This can fire API calls off to create the VMs, configure networking etc, then start the Configuration Management tool like Ansible).
Having said that, there's a bit of learning to do to use these tools so I could see some value in a simple tool for migrating VPS'. However, my gut feeling is that you'll need some form of templating/understanding of the changes between the old&new VPS' (even things as simple as IP address changes), so it could be easy to end up reinventing the wheel.
I moved to Kubernetes about 6 months ago and have been really enjoying it. My first production cluster was hand rolled on AWS, where I found the cloud-provider load balancer integrations extremely helpful (https://kubernetes.io/docs/user-guide/load-balancer/).
I'm now using Google Container Engine which is effectively just a hosted Kubernetes cluster on GCP, which has really been 0 effort setup, and have been deploying to it with Wercker (http://www.wercker.com) [Disclaimer: I currently work at Wercker as of the last few months, but was a fan/user for many years before joining]
One thing I noticed across Openshift, Mesos, and Kubernetes: none of them handle the Docker daemon on a node hanging particularly well, which in my experience happens fairly often.