Orchestration
Formal
Orchestration describes the automated arrangement, coordination, and management of complex computer systems, middleware, and services. Type of composition where one particular element is used by the composition to oversee and direct the other elements.
Practical
Orchestration describes the automated arrangement, coordination, and management of complex computer systems, middleware and services. It is often discussed as having an inherent intelligence or even implicitly autonomic control, but those are largely aspirations or analogies rather than technical descriptions. In reality, orchestration is largely the effect of automation or systems deploying elements of control theory. This usage of orchestration is often discussed in the context of service-oriented architecture, virtualization, provisioning, Converged Infrastructure and dynamic datacenter topics. Orchestration in this sense is about aligning the business request with the applications, data, and infrastructure. It defines the policies and service levels through automated workflows, provisioning, and change management. This creates an application-aligned infrastructure that can be scaled up or down based on the needs of each application. Orchestration also provides centralized management of the resource pool, including billing, metering, and chargeback for consumption. For example, orchestration reduces the time and effort for deploying multiple instances of a single application. And as the requirement for more resources or a new application is triggered, automated tools now can perform tasks which, previously, could only be done by multiple administrators operating on their individual pieces of the physical stack. A somewhat different usage relates to the process of coordinating an exchange of information through web service interactions. Applications which decouple the orchestration layer from the service layer are sometimes called agile applications. A distinction is often made between orchestration (a local view from the perspective of one participant) and choreography (coordination from a global multi-participant perspective, albeit without a central controller).