As I was walking along a street one day, I accidentally overheard a short dialog between a young mother and her five of six year-old son. “Mom, what is Kubernetes?” He asked. She took his hand in hers and answered, “Ask your father, it is something related to cloud computing. A computer term, you know.”
Well, I was equally amazed by the fact that a boy of five is aware about cloud computing and by my own ignorance in the topic. All I knew about Kubernetes before today was that it is a a tool for container management that was open-sourced by Google and is used as a platform for scaling, automating deployment and something else, that altogether helps to make cloud computing less expensive and easier to operate. So I thought, how would I explain such a complex thing to a 21st century child? Back at home, I did some reading and here are a few things that I learned.
The name Kubernetes originates from Greek and means helmsman or pilot. The abbreviation K8s results from counting the eight letters between the “K” and the “s”. Google open-sourced the Kubernetes project in 2014 and has been used as the most convenient deployment tool since then.
Well, I proceeded with reading and finally ran across this wonderful resource, a guide to Kubernetes for kids: https://www.cncf.io/phippy/the-childrens-illustrated-guide-to-kubernetes/
Okay, I thought, if it can be explained to a kid, it can be explained to me as a business person. So I read more, and here is what I found.
In a super simple version, Kubernetes can help save money because it requires less IT manpower to manage. It also helps utilize the infrastructure that powers your apps and makes them a lot more portable, so you can easily move them between different clouds and internal environments. Pretty simple, isn’t it?
Kubernetes is a tool for automating the management of containers — a technology that provides an efficient way of virtualizing physical hardware. Containers allow pieces of code to be put into smaller, easily transportable pieces.
Quite often, the large apps live across a bundle of several containers — for example, you may run your database in one container, the web front end in another, a caching server in another, etc. In an enterprise that has a large number of apps this process can quickly get out of control of a human team: imagine a large warehouse with thousands and thousands of packages, which are impossible to track and move efficiently for a team of workers. You need a solution to automatically track, schedule and orchestrate all those items. And Kubernetes does just that. It does for containerized IT environments what autonomous mobile robots do for modern factories. Moreover, Kubernetes is capable of organizing multiple containers into units called “pods” — which helps you more efficiently scale containerized apps in an automated way, ramping resources up and down whenever it is needed. Putting it shortly, containers make your apps more portable and cost-efficient, and Kubernetes makes it much easier and less-resource intensive to manage a whole lot of these containers at scale.
Okay, I thought, but how can it help my business?
It seems that this whole technology has a number of advantages compared to all previous ones. First, it is its multi-cloud flexibility. Running multi-cloud environments has become a norm of life for enterprises and will continue to do so in the future. Kubernetes makes it much easier is to run any app on any public cloud service, or any combination of public and private clouds. In the long run, the simplified management will help you realize more ROI (short and longer term) from your IT investments: you can cut infrastructure costs — sometimes drastically, especially if you are operating at massive scale. It opens you a way to pack together apps using minimal resources to get the most out of your cloud and hardware investments. Your IT teams can manage large applications across many containers more efficiently.
Also, Kubernetes provides many abstractions and APIs that facilitate a “microservices” approach to building apps and organizing development teams. This allows you to keep a smaller team, which will be more agile and more highly specialized because each sub-group in your team can focus on a single, smaller microservice. An important detail is the fact that APIs between these microservices minimize the amount of cross-team communication required to build and deploy. So ultimately you can scale multiple small teams of specialized experts that each help support a fleet of thousands of machines.
Okay, so Kubernetes makes managing containers simpler, which means that I can reduce costs and provide more value to my customers. Great. But how can I manage the technology itself? I will probably need both internal team and partners who understand how the layers of abstraction work and who would take care of every process in the actively evolving ecosystem of Kubernetes tools. Like in a warehouse: having an army of warehouse robots is good, but it is even more important to have the right experts on hand to program and maintain them.
Well, now I realize that if I make a commitment to reduce complexity and cost related to managing my business infrastructure, Kubernetes is worth a serious look. I hope I managed to explain it a bit simpler than many publications offer. It cost me a whole night of learning, but now I understand — in general of course — how my business may benefit from the technology.
If you are planning to set up a digital transformation process for your business and have questions about the project, you are welcome to contact me for more information.

Leave a comment