- Orchestration (computing)
-
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.[1]
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 perform tasks that before could only be done by multiple administrators operating on their individual pieces of the physical stack. [2]
A somewhat different usage relates to the process of coordinating an exchange of information through web service interactions. (See also service-oriented architecture, and web service choreography). Applications which decouple the orchestration layer from the service layer are sometimes called agile applications.
Although appearing to make rather arbitrary use of language, 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).
With the popularity of Cloud computing it is now necessary to understand Service Orchestration in the context of this paradigm. Work flows and processes are used in different domains. At one level there are level inter-company business processes and at another level there are processes to get the wide area network operational. To keep matters simple, we will define an orchestrator as the entity that manages complex cross domain (system, enterprise, firewall) processes and handle exceptions. Since an orchestrator is valuable in the fulfillment, assurance as well as billing processes, in its most advanced service aware incarnation, should be capable of adjustments based on feedback from monitoring tools. At the most basic level an orchestrator is a human. The main difference between a work flow automation and orchestration is that work flows are processed and completed as processes within a single domain.[3]
Cloud Service orchestration therefore is the
- Composing of Architecture, Tools and Processes by humans to deliver a defined service
- Stitching of software and hardware components together to deliver a defined Service
- Connecting and automating of work flows when applicable to deliver a defined service
It is critical in the delivery of cloud services because
- Cloud is all about scale – automated work flows are essential
- Cloud Service delivery includes fulfillment assurance and billing
- Cloud Services delivery entails work flows in various technical and business domains
Examples
- ActiveVOS is built on the BPEL, BPEL4People and WS-Human Task open standards to allow developers the ability to orchestrate various systems and services.
- Apache ODE (Orchestration Director Engine) is a WS-BPEL 1.1 and 2.0 compliant business process management (BPM) engine that supports two communication layers: one based on Apache Axis2 (Web Services HTTP transport) and another one based on the Java Business Integration standard (using Apache ServiceMix). It is capable of Hot-deployment, and features a management interface for processes, instances, and messages.
- Oracle BPEL Process Manager provides a framework for easily designing, deploying, monitoring, and administering processes based on BPEL standards. BPEL Process Manager is the service orchestration solution on Oracle's SOA Suite.
- Intervoice Media Exchange contains an orchestration engine that has been designed to initiate and manage media interactions. It is the industry's first commercially available product that has implemented State Chart eXtensible Markup Language (SCXML) as the framework for building complex multi-modal interactions.
- TIBCO BusinessWorks is a very functional orchestration, integration and transformation tool that supports BPEL, Web Services, common integration activities and visual modeling of orchestration processes.
- Microsoft BizTalk Server contains an orchestration engine often used for business process management (BPM), allowing developers to quickly orchestrate complex business processes involving multiple disparate systems.
- The Orc language is an academic language for describing and implementing orchestrations.
- IBM WebSphere Process Server contains an orchestration engine, able to execute BPEL.
- Juju (software) is a next generation service orchestration framework for Ubuntu Linux.
References
- ^ Thomas Erl. Service-Oriented Architecture: Concepts, Technology & Design. Prentice Hall, ISBN: 0131858580.
- ^ Onisick, Joe, "Private Cloud Automation, Orchestration, And Measured Service," Network Computing, June 23, 2011.
- ^ Thomas Erl. Service-Oriented Architecture: Concepts, Technology & Design. Prentice Hall, ISBN: 0131858580.
Categories:- Enterprise application integration
- Business terms
- Computing terminology
Wikimedia Foundation. 2010.