The Kubernetes and cloud-native ecosystem has become very complex over time. I will describe some advantages that simple Kubernetes cluster setups have compared to more elaborated ones.
Kubernetes and its massive ecosystem can easily overwhelm people but often, a simple Kubernetes cluster setup is already enough.
The Kubernetes and cloud-native ecosystem has become very complex over time. The best illustration for this is probably the CNCF Landscape that currently contains about 1,500 cards. This huge amount of different cloud-native projects and tools has led some people to complain about the overwhelming complexity of the ecosystem recently, while others took it with humor and started to create memes about it.
However, there is not only the CNCF Landscape that can lead to some confusion, there are also CNCF sandbox, incubating, and graduated projects as well as many additional startups and other vendors developing solutions without being part of the CNCF.
Therefore, you have almost endless options for tools, add-ons, and configurations and I would expect that there will be even more in the future. All of this can even make it difficult to get easy things done right and to keep focus, which was jokingly summarized in a tweet by Kelsey Hightower:
“By 2025 it will take 64 CPUs and 1TB RAM to deploy a modern “Hello, World!” application.”
Still, I believe that only because there are many things you CAN do, this does not mean that you SHOULD do all of them. Often, it is better and sufficient to keep it simple, so you can focus on the things you actually need. For this, I will describe some advantages that simple Kubernetes cluster setups have compared to more elaborated ones.
The first advantage of a plain Kubernetes cluster is that it is easier to manage. This starts with the initial setup which is much faster and easier if you do not have to install many things.
However, it also continues during the normal operations of the cluster: If you have many tools and other things installed on a cluster, there also will be more upgrades for all these tools. In general, one could expect this effort to grow proportionally to the number of tools. Additionally, you also need to monitor the tools continuously. This does not only include monitoring that they are still working but also looking for critical upgrades, fixes, and potential bugs.
Finally, having a complex setup also means that there are many options for problems. For example, if you install one tool, it may require a certain configuration and then you need to make sure that this configuration change is not conflicting with any other tool and does not lead to any negative side-effect. The same goes for general Kubernetes version upgrades, which can be more complex if not every tool is compatible with it.
Therefore, you should be careful that the tools that are supposed to help you to manage and control your cluster will not become a burden instead of providing actual help.
One central advantage of Kubernetes is its scalability. Since it was originally made for this, “pure” and simple Kubernetes is already quite scalable. Of course, if you want to max out the full scalability of it, you may need some advanced Kubernetes configuration but for many standard scenarios, this may not be essential.
Here, it can be more of a problem if you have too many add-ons and a very complex configuration as the scalability is often associated with running many clusters. In this case, you either need to replicate your setup and install all tools on every cluster or you need to configure the tools in a way that they work across clusters. Both solutions can be challenging and may lead to more effort and thus cost than just adding another simple cluster.
Hyper-complex cluster setups can destroy part of the core value of Kubernetes.
Our original Kubernetes tool list was so popular that we've curated another great list of tools to help you improve your functionality with the platform.
Mismanagement of multi-cloud expense costs an arm and leg to business and its management has become a major pain point. Here we break down some crucial tips to take some of the management challenges off your plate and help you optimize your cloud spend.
This article explains how you can leverage Kubernetes to reduce multi cloud complexities and improve stability, scalability, and velocity.
DevOps and Cloud computing are joined at the hip, now that fact is well appreciated by the organizations that engaged in SaaS cloud and developed applications in the Cloud. During the COVID crisis period, most of the organizations have started using cloud computing services and implementing a cloud-first strategy to establish their remote operations. Similarly, the extended DevOps strategy will make the development process more agile with automated test cases.
To move or not to move? Benefits are multifold when you are migrating to the cloud. Get the correct information to make your decision, with our cloud engineering expertise.