Companies that have more than 1K containers and 300 services do need container orchestration. So what is container orchestration?
Orchestration is a set of operations that are used for selection, deployment, monitor and control the configurations of resources by cloud providers or application owners to guarantee a quality service.
Container orchestration enables cloud and application providers to define how to select, deploy, monitor or control the configurations of applications that have multiple containers in the cloud.
Container orchestration doesn’t limit with the deployment of multi-container applications but also includes the followings:
- Scaling multi-container applications as a single entry
- Controlling multi-tenant container-based applications
- Composing containers in high available software architectures
- Optimizing the networking of the application, e.g. executing computation near the data
Containers operate in the highly dynamic and complex environment hence the reason why container orchestration must be automatically adapted at run time, there should be zero human intervention, this entails autonomic orchestration mechanism.
Docker Orchestration Tools
Before docker orchestration tools didn’t include any automation feature, today, tools like Kubernetes, Docker Swarn or AWS Elastic Container Service tools offer automation.
- AWS Elastic Container Service
- Docker Swarm
- Docker Compose
- Marathon on Apache Mesos
- Giant Swarm