As elucidated in the previous section, an application built in containers can be easily deployed with a minimum level of configuration and maintenance. As many containers will be running across a fleet of servers, there should be a way to manage them effectively with less effort. To form the big picture of a containerized environment, many pieces should be gathered and connected to deliver a functional application that is highly available, resilient to failures, and portable. This is where orchestration comes into the picture. The rebirth of container technology has brought the initiative to develop a complete suite of tools and engines to manage containers assembled in one software platform.
Most of the prevailing and mature container cluster management platforms are Apache Mesos, Kubernetes, Docker Swarm, Rocket, and Nomad to name few. Giant cloud providers...