3 ms·
I'm in this boat also. Being able to migrate at low cost (and in little time) should be a high priority for any software infrastructure with availability expec
by sshine 1y ago
I'm in this boat also.
Being able to migrate at low cost (and in little time) should be a high priority for any software infrastructure with availability expectations.
Especially with providers with very reasonable bandwidth costs (~€1.19/TB at Hetzner) beyond the first 20TB.
I also use Terraform, and it does lock you to one provider. Switching provider means switching the complete set of resources. They probably have the fundamental concepts in place (a DNS record, a VPS), but things diverge somewhat quickly, e.g. when it comes to virtual networking, SSH key management, external storage.
Keeping a redeployment script to a secondary cloud in your back hand means you don't have to sit and translate Terraform once the shit hits the fan.
I'm currently migrating my Terraform to Terranix, which just replaces the HCL with Nix expressions; since they both compile to JSON, using Nix lets you generalise across providers at the cost of a more complex language. But you also get things like arbitrary conditionals, e.g. "if X then provision Y else provision Z".
Ansible sounds neat for bootstrapping the servers, but it runs a little short on the ongoing maintenance because it isn't declarative, so you get runaway state divergences.
Also, sorry for hijacking this thread to talk about our lord and savior. :-D