In the previous chapters, we focused on containerization and Docker support on the Windows platform. These concepts were mainly limited to single-machine scenarios, where the application requires only one container host. For production-grade distributed container systems, you have to consider different aspects, such as scalability, high availability, and load balancing, and this always requires orchestrating containers running on multiple hosts.
Container orchestration is a way of managing the container life cycle in large, dynamic environments – it ranges from provisioning and deploying containers to managing networks, providing redundancy and high-availability of containers, automatically scaling up and down container instances, automated health checks, and telemetry gathering. Solving the problem of container orchestration is non...