Software is eating the world
Marc Andreessen immortalized the phrase in his essay in 2011. An updated version of that statement today might be “cloud is eating software”.
Moving to the cloud (especially if you didn’t already start there) has become a no-brainer for an entire class of companies. Despite the challenges of the transition, it still makes sense for them because
- Software isn’t their core competency nor a key value driver for their business
- Costs of running in a datacenter are higher than the cloud, even accounting for uneven consumption (plus the CapEx versus OpEx argument)
This thread also raises excellent points about why the cloud model is so attractive.
However, operating in the cloud is expensive at scale. Most startups that start in the cloud also die in the cloud, and don’t see these costs blow up. For companies that find product-market fit and make it past the finish line, the cost of being in the cloud is eating into valuations (see also the article by a16z “The Cost of Cloud, a Trillion Dollar Paradox”).
This raises some interesting questions and opportunities. Startups, specifically, SaaS startups should start in the cloud – there’s no question about it. The overhead of a datacenter is simply not for them. However, once startups are on the quick road to success, repatriation is prohibitively expensive (especially when you account for the opportunity cost) and time consuming.
Well, this then begs the question, what if there is a way for startups to start in the cloud, while keeping the door open to moving into their own data centers (or to a different cloud)? While I have definitely consumed the Kool-Aid given my work at VMware, I think the idea has some merit. The a16z article talks about this briefly, but Kubernetes is the layer of abstraction that is creating a universal fabric across clouds and data centers.
This is a radical idea because in today’s world “nobody gets fired for buying IBM” is “nobody gets fired for moving to the cloud”.
People smarter than I am have thought about and dismissed the idea.
Thinking upfront about repatriation while still delivering agility and value is another lie we hear
But you know, maybe I’m a naive optimist. While Kubernetes today is leaps and bounds away from getting companies to this state of multi-cloud nirvana, over time, I believe the additional effort required to develop a service on the Kubernetes fabric is going to be negligible. The ecosystem is maturing at an incredible rate, and the cost for a company to purchase this option of flexibility is going to diminish over time.
The key value proposition that Kubernetes offers (among other things) is optionality. A company may not use or need the option, but if a cloud vendor goes rogue or if the cost model no longer makes sense, then building the optionality in from the get-go is worth it.
Moving from cloud to cloud, or cloud to data center should not be that hard, and whether or not Kubernetes is the solution; this is a technological problem the industry is poised to solve in the next decade.