Understanding why your company should adopt Kubernetes begins with identifying how it can optimize value creation and align with your business goals.
The first question I ask my customers when they want to introduce Kubernetes is: “What goal do you want to achieve with it?” The answers can be varied. In my experience, they can always be broken down into the following three aspects:
- Faster time-to-market
- Saving costs through optimized processes
- Opening up new markets through new software
But in the end, it always comes down to clear, measurable facts, usually about making more money or spending less money. What does it look like in your company? Has your company been using Kubernetes for some time, or are you one of the first in the development team to use Kubernetes? Do you know the goals behind it?
You have likely experienced this yourself. You develop a prototype, and a decision is made from one day to the next: the project is canceled. Only if you as a developer know the company's goals in advance can you make sure that the project will become a success during development. You make a major contribution to the success of your company and can also prioritize your tasks much better thanks to the clarity of your goals.
The decision to use a platform such as Kubernetes usually has a greater impact on a company than a prototype. To avoid one project relying on Kubernetes, another on Amazon ECS, and a third one on Docker Swarm, it is necessary to set a standard.
What motivates your company to invest time and money to introduce Kubernetes?
To help you better understand the decisions in your company, I would like to briefly digress on the purpose of a company and the resulting value chain.
For us as computer scientists, the technological advantages are usually the most important elements—for example:
- Automated rollouts/rollbacks
- Service discovery/load balancing
- Horizontal scaling
- Memory orchestration
- Self-healing
Unfortunately, technical excellence is often not (only) important for decision-makers. It is our task to translate these technological advantages. In the end, they can always be broken down to the following: we save time and money using Kubernetes or can develop and deliver software faster.
Every company has a purpose and must create added value for society in order to survive. Try to imagine a village 5,000 years ago. Everyone in this village had a job. The miller ground the farmer's grain so that the flour could be processed into bread by the baker. The butcher processed the hunters' game. Everyone contributed to the village community to ensure its survival. In the worst case, anyone who was unable to contribute to the community was cast out.
Even back then, small chains of value creation emerged where several people worked on products to process them and turn them into something “more valuable.” For example, the chef could cook a dish from the butcher's meat. The figure below illustrates what such value chains looked like. Each individual contributed something to the village community and received something in return.
Today, value chains are much more complex than they were back then, but every company still has to contribute something to society in order to earn money. Money is the currency used to express how much value it has for society or for an individual. Money has enabled value chains to become larger and companies to grow. Unfortunately, money also contributes to the chains being forgotten. But our society can only function in this way today because every company works like a cog in a clockwork mechanism. We notice this above all when a cogwheel no longer runs smoothly.
The introduction of the monetary system made a growing society possible in the first place. Bartering was still possible in a village community, but imagine what it would be like if you spent months developing an application for a car company on the barter system. You would get a car in exchange—but you wouldn’t have any gas, food, or drink, and you wouldn't even be able to pay the rent or mortgage on your house.
There is also a value chain in your company, and you are part of it. The question is: Do you know what part you play in this? Because the better you understand it, the better you can pay into it. So if you're part of the value chain, then Kubernetes is a tool to optimize the value chain, and we're going to look at exactly how Kubernetes can do that.
Any software such as Kubernetes that you use in your company should be measured by how well it contributes to the optimization of value creation. This is the only way to determine whether it is a sensible business decision.
Editor’s note: This post has been adapted from a section of the book Kubenetes: Practical Guide for Developers and DevOps Teams by Kevin Welter.
Comments