Cloud providers can sometimes argue about who was the first provider offering Infrastructure As A Service (IAAS). No matter who was first we can all agree Amazon Web Service (AWS) made it mainstream. AWS were winning and the other providers had to catch up. They had become the first choice for customers looking to outsource their infrastructure. Today, 20 years later, the gap is smaller even though AWS still has the biggest share of the market. Some numbers I have seen shows AWS in 2023 has about 30% of the market value. How did the gap shrink between the cloud providers in terms of market share? Obviously, it is not a single answer question but I do believe one answer to the question is Kubernetes.

Let’s step back a bit and look at the history of Kubernetes. It was open sourced in 2014 and was in fact built using inspiration from Google’s own internal container orchestration tool Borg. The story goes that some engineers realised they will not work at Google forever which also meant they wouldn’t be able to use Borg. They started to lobbying to open source it. However, I do think there is a business side to this story as well. What can Google get from spending internal resources on building a new open source container orchestrator? My answer: it makes you cloud agnostic. You can easily switch between cloud providers when you use Kubernetes as your platform. Remember, back in 2014 Google were even more behind AWS in terms of market share and this was a way of catching up. Now, there was an opensource tool and it made it easy to switch cloud provider; and the vendor lock in is all of a sudden gone.

Today, every single cloud provider offers a managed Kubernetes, and I’m not only talking about the big cloud providers; also your local hosting provider has a managed Kubernetes service available. It has become the de facto container orchestration platform, but Kubernetes is not only an orchestration platform it also exposes an API; and the API is the same on every managed Kubernetes cluster you use. It doesn’t matter if it runs in Azure, Google or your local provider - it will expose the same API everywhere. This is very powerful - make sure you take advantage of it.

As an engineer I would argue to use Kubernetes as your API and don’t fall in the trap of using the cloud provider’s own tech solutions. Especially, in the startup phase of your company it becomes even more important. In terms of the tech stack between cloud providers they don’t differ much unless you have very specific needs. Usually, what it comes down to is business, which provider can help attract the right customer, offer a better price, cost efficient, increase your business value and so on. Your customers might even have specific needs if you work in a more regulated industry and want your platform on-premise. These are all questions impossible to ask in the startup phase so please build your application cloud agnostic. Make your CFO happy when he comes knocking on your shoulder asking how hard it would be to migrate to another hosting provider. Make life easier for yourself as well and use an API which is 100 % cloud agnostic.

There is still a cloud war going on where they compete for your attention, take advantage of it and be cloud agnostic by using Kubernetes.

That’s it! Thank you for reading!