Cloud Repatriation
Cloud repatriation tends to be a pretty controversial topic.
What is it exactly? It’s when companies decide to move off public cloud to their own datacenters. It’s rare that this happens because the decision to be on cloud isn’t one that most companies make lightly. It’s also a significant amount of work to do this reverse migration.
With the economic downturn and valuation multiples for tech companies falling, all eyes are on lowering costs. Lowering cloud spend has become critical to the bottomline (see also rise of companies like Vantage) — and perhaps this is the year where we see a resurgence of repatriation. Or maybe the big three clouds will lower prices? (not likely!) Time will tell I guess.
To be clear, moving into a datacenter doesn’t make sense for a lot of companies. It really depends on the nature, size, and scale of workloads, availability and reliability requirements, where the company is in the tech stack, the stage of the company, level of engineering expertise, and so on.
While there are many detractors to the idea of repatriation, Martin Casado at a16z and DHH (of Ruby on Rails, Basecamp, HEY) are some of its loudest proponents. There was an article about from a16z about “The Cost of Cloud, a Trillion Dollar Paradox” that I shared my thoughts on a while ago. Dropbox led the repatriation movement in 2018, but more recently, DHH wrote about how they’re going to be saving $7M in over five years by exiting cloud. They did the math, found an alternative datacenter solution and decided to move. They also built a fairly simple software stack to deploy apps using Docker.
I must admit, I do remain unconvinced that this will pay off in the long run. On the one hand, there’s the opportunity cost of building and maintaining this infrastructure on their own… there’s also the question of what happens if you need to expand your product feature set or your customer base? Hypothetically, if HEY decided to train ML models on user emails, then they would need to figure out how to add GPUs to their infrastructure. In the cloud, it would be as simple as clicking a few buttons. In your own datacenter, this becomes more complex and can take valuable time in a cut-throat market. It’s hard to put a number on these types of things.
It’s basically the same argument as renting vs home ownership in my opinion. Yeah renting sucks, you have to pay landlords an exorbitant amount of money that they can decide to hike up at any point, and you end up with no equity and limited control. But home ownership is a huge pain in the butt also. You have to do your own maintenance, pay an exorbitant amount of money for HOA and property taxes, and if there’s an earthquake… goodbye house. As a renter, you’re paying for the privilege of flexibility and limited responsibility. As a cloud customer, you’re doing the same.
But look, I started my career at VMware, and on-premise datacenters will always have a piece of my heart. But the writing has been on the wall for a long time now. Most companies should run on the cloud, if they aren’t already. A very small subset of companies should build their own. It is no mean feat to do so though and for that very reason, I will be cheering on the Davids over the Goliaths for a long time to come.