What is Container Orchestration?
Orchestration is automated configuration, management and coordination of different computer systems, applications and services.
Container Orchestration is about managing lifecycle of containers. This is required when the infrastructure is to be scaled up. When there are thousands of systems running along with applications on them, there is a need to automate deployment, management, scaling, networking, availability of services.
How does it differ from Automation?
People use terms “automation” and “orchestration” interchangeably but there is a subtle difference between these two terms.
Automation is a step towards orchestration. Automation means that a task runs own it’s own without human intervention. It could be restarting a service upon application deployment or rotating logs if become huge, etc.
Orchestration on the other hand involves automation of lot of tasks in a defined workflow. Let’s consider a simple few steps workflow:
- Creating container
- Configuring network
- Deploying application on it
- Starting application service
- Exposing service to outside world
Above tells series of tasks to be done automatically. This is a basic workflow for auto scaling. Automation of such a workflow is called as Orchestration.
I have tried to keep the explanation simple and not providing deep details that could in turn lead to confusion. It is good for a beginner to start with this much detail and with experience, you will yourself feel the differences.