Skip to content

Orchestration

Orchestration

Orchestration means the automation of the entire runtimes of computers and programs, from configuration and deployment to management and coordination. An orchestration system, or orchestrator, can schedule, initiate, and monitor multiple processes, facilitating communication between processes, runtime event handling, and more. Orchestrators often accept a standardized file (kube yaml, docker compose) which contains instructions for how programs must be scheduled and managed.

Orchestration is a step beyond automation. Automating a task means replacing the human who manages the task with software which does the equivalent. However, orchestration involves scheduling groups of tasks which depend on each other, facilitating communication between those processes, monitoring, and more, often across multiple systems.

Kubernetes is an example of an orchestrator which manages deployment, autoscaling of process instances (adding or removing redundant instances according to demand), self-healing, zero-downtime rolling updates, and more.