- Matt's Memos
- Posts
- Does TF Help You Move Between Cloud Providers?
Does TF Help You Move Between Cloud Providers?
When you use Terraform or OpenTofu to manage your infra, are you getting cloud portability for free?
Hey folks,
Someone in my CTO network asked the following question:
"One of the promises of TF is that you can easily move between different cloud providers. I'm curious to hear from this community about such experiences. Any risks or gotchas to keep an eye out for?"
It's a good question.
I think without being familiar with hyperscaler clouds, TF, or IaC in general, you could easily think that such a move between two different clouds would be a simple operation.
But there are devils in the details.
Without serious expertise in the cloud that you're switching to, you're gonna have a bad time.
I like to think about this question in terms of a house building analogy.
In this analogy, TF created a standard blueprint to enable vendors like Makita, Dewalt, and Ryobi (AWS, Google Cloud, and Azure) to create tools like drills, saws, and nail guns (networks, databases, and application clusters).
Those tools from different vendors are largely similar in their construction and purpose. But they are not exactly the same.
For example:
different tools have different attachments
the safety button is not located in the same place
one set of tools doesn't even support metric system measurements(?!?)
Even though the tools all do similar tasks, there are differences. And they matter.
Your team can move from using all Makita to all Ryobi tools and the blueprints will be helpful. But the switch isn’t risk free. It is possible that:
someone might lose a finger
the project will be delayed
the framing for the house is going to be a bit out of spec
Not having blueprints would make the transition from Makita to Ryobi even more complicated, but they are not enough. Even with all your infra managed by TF, you don’t get cloud portability for free.
May your tools all support the metric system,
Matt @ Masterpoint
PS PS: Do you use Tailscale? We write a lot of open source TF modules, including this one for a simple, autoscaled Tailscale Subnet Router on an EC2 instance. Check it out.