We’ve been falling for the containers hype for the past few months and Kubernetes has emerged as a leader among container orchestrator to help build solutions on a bigger scale than your own laptop.
Here are 10 reason why it’s won the war and become first choice for container orchestrator.
1. It’s from Google
Yes, it’s been invented by guys from Google and that’s stirs imagination of many who want to create infrastructure similar to one which runs Google search, Gmail and other of their services. What’s more even Google guys claim that it’s a better version of their own, internal orchestrator called Borg.
2. It’s vendor agnostic
Kubernetes hides complexity behind many abstractions layers (i.e. networking, storage, container runtime engine) to enable you to easily switch between technologies used underneath. Use single code to run your apps on any environment regardless if it’s on-premise bare metal, your private cloud or any public cloud provider.
3. It’s easy for product vendors to integrate with
There are many interfaces available for vendors to provide their products as a plugin for Kubernetes and that’s what encourages big companies with big budgets to invest in this technology, support the project and sell their products or services at the same time.
4. Great support from community
Dozens or even hundreds of open source projects around Kubernetes, many blog entries and presentations from people trying to help you understand and use it. And this is something which is very valuable, as with more features also comes more complexity.
5. Many hosted versions available
Major cloud vendors such as Google Cloud Platform, Microsoft Azure and AWS (although still in limited preview) provide hosted versions of Kubernetes on their platforms. Many more versions is going to emerge in the coming months and it would be easier, faster and cheaper to get your own Kubernetes cluster.
6. It’s free!
You can build your whole environment for you containers for free. It’s like you had a VMware vSphere with all these “enterprise” features available for you to use with no cost at all.
7. Modern and extensible API
Whole project is supervised by very smart people (not only from Google, but also from Red Hat, Microsoft and many more) who govern the code and it’s API to be one of the best allowing developers, products vendors and users to leverage it’s power for their needs. As some say you can assess software maturity by looking at it’s API - Kubernetes has one of the best available.
8. Incredible speed and frequency of new releases
In time of writing this article latest version available is 1.9 and it’s the fourth major release in 2017. All of these four versions brought new features presented in thoughtful and well organized manner (alpha, beta and stable api groups). That encourage more features to be included in each new release without unnecessary delay and haste either.
9. Sophisticated features controlled with simple configuration
That’s the real power of Kubernetes - it hides complexity of managing thousands of containers, providing resources for them, orchestrating nodes, gathering metrics in a really simple manner with plain yaml files. Many of complex scenarios can be achieved with just proper assignment of labels (almost every objects is able to have many) or annotations.
10. Battle tested and already used in production
Many companies have already adopted Kubernetes and implemented it in their production environments. It’s not a proof that it’s a perfect solution for everyone, but rather a promise it’s going to be developed, enhanced and bugs be resolved. They have also evaluated other alternatives and still they decided to bet on Kubernetes, probably because of the previous 9 reasons described here.
Kubernetes gained such huge momentum that it’s a snowball effect and it’s exciting to see what directions it’s heading. Plenty of features, excellent support and versatility makes it one of the most interesting project that could change the way we deliver and manage applications contributing to container revolution started by Docker.
If you plan to use containers in your current or future project then you’ll probably meet with it sooner or later. I expect it’s going to be the former one.