<p>If you are only running a single container or two containers together you are correct in that an orchestrator may be unnecessary and add unneeded complexity.  However, these tools do solve several issues when you running several containers together (especially in production).</p>

<blockquote>
  <p>What are the common problems with containers that must be solved by these orchestration solutions</p>
</blockquote>

<p>Containers run in an isolated process (usually in it's own <a href="https://www.toptal.com/linux/separation-anxiety-isolating-your-system-with-linux-namespaces" rel="noreferrer">namespace</a>).  This means that by default the container will not be aware of other containers.  Additionally, it will not be aware of the systems files, network interfaces, and processes.  While this can greatly help with portability of the software it does not solve several production issues such as <a href="https://en.wikipedia.org/wiki/Microservices" rel="noreferrer">microservices</a>, container discovery, scalability, disaster recovery, or upgrades.</p>

<blockquote>
  <p>What is the benefit of adding such a complex system in your production?</p>
</blockquote>

<p>Adding a container orchestrator can greatly <em>reduce</em> the complexity in production as these tools are designed to resolve the issues outlined above.  For example, Kubernetes is built to allow containers to be linked together, deploy containers across an entire network, scale and load balance the network based on container resource consumption, and allow upgrades of individual containers with no downtime.</p>

CC BY-SA 4.0
2019-12-26T13:59:35.083Z
2019-12-26T13:59:35.083Z
Wesley Rolnick
<p>Every company who has anything to do with containers these days, including public cloud providers, is creating their own solution for container orchestration.</p>

<p>These include:</p>

<ul>
<li><a href="https://kubernetes.io/" rel="noreferrer">Kubernetes</a></li>
<li><a href="https://www.docker.com/products/docker-swarm" rel="noreferrer">Docker Swarm</a></li>
<li><a href="https://aws.amazon.com/ecs/" rel="noreferrer">Amazon EC2 Container Service</a></li>
<li><a href="http://mesos.apache.org/" rel="noreferrer">Apache Mesos</a></li>
<li><a href="https://mesosphere.com/product/" rel="noreferrer">Mesosphere DCOS</a></li>
<li><a href="https://www.nomadproject.io/" rel="noreferrer">HashiCorp Nomad</a></li>
<li>other</li>
</ul>

<p>What are the common problems with containers that must be solved by these orchestration solutions? What is the benefit of adding such a complex system in your production?</p>

CC BY-SA 3.0
2018-02-12T03:55:56.013Z
Why did the moderators close this question? I too want to know what problem Kubernetes is solving. I don't have devops experience or experience managing apps/containers in production. Answers to this question would have helped me and many others in similar boat understand the problem Kubernetes is solving.
user281693
CC BY-SA 3.0
2018-02-13T13:48:49.013Z
@user281693 Because it is utterly broad and answers fitting within the post limit will only scratch the surface, specially when asking about different things like mesos and kubernetes. Moreover sites for each of them describe why they've been conceived and what they address.
Tensibai
CC BY-SA 3.0
2018-02-16T21:48:59.083Z
So what? Does having answers to this kind of questions bring down the quality of StackExchange or will it bring down the site since it can't cope with the number of answers? Let people answer the questions. And moderators will come into play when there is toxicity in the answers.  It is annoying when stack overflow results show up first on google search and then you see that 5 moderators thought that question deserves no answer.  Sorry if I come across as ranting but this has been my peeve with Stackoverflow moderators forever.
user281693
CC BY-SA 3.0
2018-02-16T21:52:34.657Z
I suggest that questions closed by moderators even before any answers have been added, be deleted from the site so that they don't pollute google results. Also, if you think other sites have better information about Kubernetes and various other topics, I am struggling to understand the purpose of stack overflow community. Every question asked in this community has the answer elsewhere too, so by that standard every question needs to be closed.
user281693
<containers><orchestration>
Which problems does a container orchestration solve?
Evgeny Zislis
# Which problems does a container orchestration solve?

(Asked by: username_0 on 2017-02-28)

Every company who has anything to do with containers these days, including public cloud providers, is creating their own solution for container orchestration.

These include:

* [Kubernetes](https://kubernetes.io/)
* [Docker Swarm](https://www.docker.com/products/docker-swarm)
* [Amazon EC2 Container Service](https://aws.amazon.com/ecs/)
* [Apache Mesos](http://mesos.apache.org/)
* [Mesosphere DCOS](https://mesosphere.com/product/)
* [HashiCorp Nomad](https://www.nomadproject.io/)
* other

What are the common problems with containers that must be solved by these orchestration solutions? What is the benefit of adding such a complex system in your production?

**Tags:** containers, orchestration

> **Comments:**
> **username_1**: Why did the moderators close this question? I too want to know what problem Kubernetes is solving. I don't have devops experience or experience managing apps/containers in production. Answers to this question would have helped me and many others in similar boat understand the problem Kubernetes is solving.  
> **username_2**: @username_1 Because it is utterly broad and answers fitting within the post limit will only scratch the surface, specially when asking about different things like mesos and kubernetes. Moreover sites for each of them describe why they've been conceived and what they address.  
> **username_1**: So what? Does having answers to this kind of questions bring down the quality of StackExchange or will it bring down the site since it can't cope with the number of answers? Let people answer the questions. And moderators will come into play when there is toxicity in the answers.  It is annoying when stack overflow results show up first on google search and then you see that 5 moderators thought that question deserves no answer.  Sorry if I come across as ranting but this has been my peeve with Stackoverflow moderators forever.  
> **username_1**: I suggest that questions closed by moderators even before any answers have been added, be deleted from the site so that they don't pollute google results. Also, if you think other sites have better information about Kubernetes and various other topics, I am struggling to understand the purpose of stack overflow community. Every question asked in this community has the answer elsewhere too, so by that standard every question needs to be closed.  

---

## 1 answers

### Answer by username_3 on 2019-12-26. Score: 5

If you are only running a single container or two containers together you are correct in that an orchestrator may be unnecessary and add unneeded complexity. However, these tools do solve several issues when you running several containers together (especially in production).

> What are the common problems with containers that must be solved by these orchestration solutions

Containers run in an isolated process (usually in it's own [namespace](https://www.toptal.com/linux/separation-anxiety-isolating-your-system-with-linux-namespaces)). This means that by default the container will not be aware of other containers. Additionally, it will not be aware of the systems files, network interfaces, and processes. While this can greatly help with portability of the software it does not solve several production issues such as [microservices](https://en.wikipedia.org/wiki/Microservices), container discovery, scalability, disaster recovery, or upgrades.

> What is the benefit of adding such a complex system in your production?

Adding a container orchestrator can greatly *reduce* the complexity in production as these tools are designed to resolve the issues outlined above. For example, Kubernetes is built to allow containers to be linked together, deploy containers across an entire network, scale and load balance the network based on container resource consumption, and allow upgrades of individual containers with no downtime.


---

