Ask HN: Tool for Moving Hosting Providers (VPS's)
2 comments
Tools for these kinds of migrations do exist, but the problem is split in to:
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.
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.
This is usually to make use of their ever shifting pricing savings.
Each time I have to move all the services and applications, crontabs, databases and data between machines. Not a terribly hard task, but a repetitively annoying task that can take a few hours each time.
Is there a tool around that can do this for me, correctly?
Alterantively, what's everyone's feel for a tool like this should I make one. As I will definitely put together something in order to solve this problem for myself.