I’ve had this discussion several times now. Kubernetes is a trend, a fad, only applies to massive companies are points against it. Time and time again individuals promote their predictions of it’s demise. Here’s my take on why Kubernetes is not going anywhere and how it’s helping us move forward.
It’s obvious now that the biggest tech companies in the world (and some non-tech companies) have doubled down on Kubernetes as it’s container orchestrator for most, if not all of there services. I’m talking about the Azures, Google Clouds, and AWS’. After Kubernetes was donated to the CNCF as it’s seed project the other big open source supporters including Microsoft jumped on it as well. SAP released a cluster-as-a-service contribution to Kubernetes called Gardener. Many of the core contributers (and creators) are highly visible industry professionals who have huge influence.
This is all well and good but (and there is a big but) all of those reasons are not actual reasons at all. This type of reasoning, that we must do what the big guys are doing is proven to be flawed and trend following which can be disastrous. Consider that these companies have tens of thousands of employees to main these complex clusters and servers that are utilized by all of this orchestration magic. It seems economically ineffecient for smaller businesses to get in on this new trend, right?
Kubernetes works well for these big companies for several reasons. Topics like developer driven deployments and management, automated infrastructure provisioning, and low impact deployments of new or maybe just different technologies make the developer operations relationship tense. Kubernetes remedies most of these pain points.
The real taking off point of Kubernetes is when developers and operations agreed that this strategy was a good one. The relationship between dev and ops has been a stressful one. The Kubernetes strategy enabled both developers and operations to achieve their own goals by siloing their responsibilities. Operations can now maintain a system at a high level without having to provision special databases and maintain that custom software for developers. Developers can now deploy their customized containers instantly. Overnight software started shipping faster. This is what DevOps culture should be.
This is where things get interesting. The Kubernetes systems worked so well, with such high reliability and speed internally that it was very much a production service that the operations teams we providing to developers across these organizations. To boot, they hosted core systems and developers managed their applications and all the funky customization these services might need. A new door opened of Kubernetes as a service.
All of the major public clouds provide managed Kubernetes services at the time of writing this. Customers pay for the resources they use. The Kubernetes infrastructure comes free. All of the orchestrating of your services is provided; you pay for compute, memory, and storage of what your actual application is using. This changes the game for small companies and individuals.
A solo entrepreneur can build our their service and scale it as needed with no problems. They get blue-green deployments for 100% uptime for free, load balancing for free, high availability deployments across servers and even databases for free. With these services they get to play on the same field as their biggest competitors. That is a pretty big accomplishment. Kubernetes works for big companies with big budget, and small companies with big ambitions.
A final point is that Kubernetes is open source, managed by the CNCF, contributed to by many amazing organizations and individuals world wide. No pivot, acquisition, or collapse will ever rip this service from the community. Kubernetes is here to stay.