In this short chapter, we learned about some important concepts that will help us understand Docker Swarm and Kubernetes. We reviewed the orchestration concept in general before taking a look at the features that orchestration provides. Thanks to orchestration, we are able to distribute application components cluster-wide on different nodes to provide better performance and availability. Application stability is also improved because we are able to execute many instances of one component. We can define an application component with the number of replicas required to be considered healthy. The orchestrator will manage the application's health and will deploy new instances if some of them die. We are also able to scale up and down components as required in our environment if the application permits this behavior.
Orchestration uses new cluster objects. They are stored in a distributed database for high availability. A component's status and other orchestration data will...