Everyone likes to talk about Kubernetes, the container orchestrator. We spend less time, however, discussing whether there is a reason to use Kubernetes or another orchestrator in the first place for a given workload. That’s too bad, because the reality is that you don’t need to think about orchestration in a fair number of situations.
To be clear, I’m not out to knock Kubernetes or container orchestration in general. Orchestrators are essential tools in many containerized environments.
However, I’m not sure that all of the time we spend these days hyping Kubernetes is a fair reflection of the importance of orchestration tools within the container ecosystem. To explain why, let’s take a look at the use cases in which you would need an orchestrator, and those in which you don’t.
When to Use a Container Orchestrator
Put simply, you need an orchestrator if both of the following factors are true:
- You have a large-scale container environment. By large-scale, I mean you have more than a half-dozen or so containers to manage.
- The environment that hosts your containers lacks a built-in or automated orchestration solution.
These characteristics describe most on-premises container deployments.
When Not to Use a Container Orchestrator
Yet, I’d bet that a majority of container deployments don’t fit the criteria described above. They instead fall into one of the following categories:
- You are deploying containers using a containers-as-a-service platform, such as AWS ECS, that has a built-in orchestration solution.
- You are a developer and are running containers only for testing purposes. You don’t need to run them at a large scale.
- You are a small organization running a small-scale container deployment. You have only a few containers to manage, and little traffic to balance.
In any of the above scenarios, the IT team that deploys containers doesn’t need to think much about using a third-party orchestration tool like Kubernetes. Instead, they can manage containers manually from the CLI, or rely on the automated orchestration tool that comes with their platforms.
Why Are We So Obsessed with Kubernetes?
Again, given all of the passionate chatter about Kubernetes, it can be difficult to appreciate that there are lots of use cases in which you don’t need to use Kubernetes or another open source orchestrator at all.
That begs the question: Why is everyone so excited about Kubernetes, even though they are probably not actually using it all the time?
The answer, I think, is that Kubernetes is a symbol of everything people want the container ecosystem to be: open source, user-friendly, standards-compliant and simple to deploy. Not all other major container orchestrators or other tools fall into these categories.
By hyping Kubernetes, then, what folks are really doing is seeking to cultivate a certain image of the container ecosystem. That’s why they like talking about Kubernetes so much.
So, yes, Kubernetes is a great tool. And sometimes, it’s a necessary one. But container orchestration is not actually as crucial to many deployments as you might think, given the press Kubernetes gets these days.