Jump to content

Orchestration (computing): Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
defluff
Line 1: Line 1:
'''Orchestration''' is the automated [[Configuration management|configuration]], coordination, and management of computer systems and [[software deployment|software]].<ref name="Erl">''Thomas Erl''. Service-Oriented Architecture: Concepts, Technology & Design. ''Prentice Hall'', {{ISBN|0-13-185858-0}}.</ref>
{{multiple issues|

{{refimprove|date=September 2016}}
A [[:Category:Orchestration software|number of tools exist]] for automation of server configuration and management, including [[Ansible (software)|Ansible]], [[Puppet (software)|Puppet]], [[Salt (software)|Salt]] and [[Terraform (software)|Terraform]].<ref>{{cite web|url=https://blog.gruntwork.io/why-we-use-terraform-and-not-chef-puppet-ansible-saltstack-or-cloudformation-7989dad2865c|title=Why we use Terraform and not Chef, Puppet, Ansible, SaltStack, or CloudFormation|author=Yevgeniy Brikman|date=2016-09-26}}</ref>
{{expert needed|date=September 2016}}
}}
'''Orchestration''' is the automated arrangement, coordination, and management of computer systems, [[Middleware (distributed applications)|middleware]], and services.{{citation needed|date=September 2016}}


==Usage==
==Usage==
Orchestration is often discussed as having an inherent [[intelligence (trait)|intelligence]] or even implicitly [[Autonomic Computing|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]].<ref name="Erl">''Thomas Erl''. Service-Oriented Architecture: Concepts, Technology & Design. ''Prentice Hall'', {{ISBN|0-13-185858-0}}.</ref>


This usage of ''orchestration'' is often discussed in the context of [[service-oriented architecture]], [[Platform virtualization|virtualization]], [[provisioning]], [[Converged Infrastructure|converged infrastructure]] and '''dynamic datacenter''' topics. Orchestration in this sense is about aligning the business request with the applications, data, and infrastructure.<ref>{{Citation | title = A Business Resolution Engine for Cloud Marketplaces | series = IEEE Third International Conference on Cloud Computing Technology and Science (CloudCom) | year = 2011 | pages = 462–469 | publisher = [[IEEE]] | url = https://dx.doi.org/10.1109/CloudCom.2011.68 | doi = 10.1109/CloudCom.2011.68}}</ref> 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 that previously could only be done by multiple administrators operating on their individual pieces of the physical stack.<ref>[http://www.networkcomputing.com/private-cloud/231000293 Onisick, Joe, "Private Cloud Automation, Orchestration, And Measured Service," Network Computing, June 23, 2011.]</ref>
Orchestration is often discussed in the context of [[service-oriented architecture]], [[Platform virtualization|virtualization]], [[provisioning]], [[Converged Infrastructure|converged infrastructure]] and '''dynamic datacenter''' topics. Orchestration in this sense is about aligning the business request with the applications, data, and infrastructure.<ref>{{Citation | title = A Business Resolution Engine for Cloud Marketplaces | series = IEEE Third International Conference on Cloud Computing Technology and Science (CloudCom) | year = 2011 | pages = 462–469 | publisher = [[IEEE]] | url = https://dx.doi.org/10.1109/CloudCom.2011.68 | doi = 10.1109/CloudCom.2011.68}}</ref>

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|web service choreography]].) Applications that decouple the orchestration layer from the service layer are sometimes called [[agile application]]s.{{citation needed|date=September 2016}}

A [[Business Process Execution Language#The BPEL language|distinction]] is often made between orchestration (a local view from the perspective of one participant) and [[Web Service Choreography|choreography]] (coordination from a global multi-participant perspective, albeit without a central controller).{{citation needed|date=September 2016}}

==Cloud computing==
[[Cloud computing]] introduces more-granular and specific meanings of the terms "workflows" and "processes" as used in different domains. Processes can be identified at both the level of inter-company business and the level of wide area network ("the cloud") operations. An "orchestrator" is understood to be the entity which manages complex cross-domain (system, enterprise, firewall) processes and handles exceptions. Since an orchestrator is valuable in fulfillment, assurance, and billing processes,<ref>{{cite web|title=What is Billing?|url=http://www.flexiant.com/2012/03/13/a-few-moments-on-cloud-billing/|accessdate=2012-09-12|date=2012-03-13|author=Bligh, Alex}}</ref> service-aware incarnations of an orchestrator should be capable of adjustments based on feedback from monitoring tools. At the most basic level, an orchestrator is a human.{{citation needed|date=September 2016}}


The main difference between a workflow "automation" and an "orchestration" (in the context of cloud computing) is that workflows are processed and completed as processes within a single domain for ''automation'' purposes, whereas ''orchestration'' includes a workflow and provides a directed action towards larger goals and objectives.<ref name="Erl" />
The main difference between a workflow "automation" and an "orchestration" (in the context of cloud computing) is that workflows are processed and completed as processes within a single domain for ''automation'' purposes, whereas ''orchestration'' includes a workflow and provides a directed action towards larger goals and objectives.<ref name="Erl" />
Line 21: Line 11:
In this context, and with the overall aim to achieve specific goals and objectives (described through quality of service parameters), for example, meet application performance goals using minimized cost<ref name="sc2011workflow">{{cite journal|last=Mao|first=Ming|author2=M. Humphrey|title=Auto-scaling to minimize cost and meet application deadlines in cloud workflows|journal=Proceedings of 2011 International Conference for High Performance Computing, Networking, Storage and Analysis (SC2011)|year=2011|url=http://dl.acm.org/citation.cfm?doid=2063384.2063449|doi=10.1145/2063384.2063449|isbn=978-1-4503-0771-0}}</ref> and maximize application performance within budget constraints,<ref name="ipdps2013scaling">{{cite journal|last=Mao|first=Ming|author2=M. Humphrey|title=Scaling and Scheduling to Maximize Application Performance within Budget Constraints in Cloud Workflows|journal=Proceedings of the 2013 IEEE 27th International Symposium on Parallel and Distributed Processing(IPDPS2013)|year=2013|url=http://dl.acm.org/citation.cfm?id=2511429|doi=10.1109/IPDPS.2013.61|isbn=978-0-7695-4971-2|pages=67–78}}</ref>
In this context, and with the overall aim to achieve specific goals and objectives (described through quality of service parameters), for example, meet application performance goals using minimized cost<ref name="sc2011workflow">{{cite journal|last=Mao|first=Ming|author2=M. Humphrey|title=Auto-scaling to minimize cost and meet application deadlines in cloud workflows|journal=Proceedings of 2011 International Conference for High Performance Computing, Networking, Storage and Analysis (SC2011)|year=2011|url=http://dl.acm.org/citation.cfm?doid=2063384.2063449|doi=10.1145/2063384.2063449|isbn=978-1-4503-0771-0}}</ref> and maximize application performance within budget constraints,<ref name="ipdps2013scaling">{{cite journal|last=Mao|first=Ming|author2=M. Humphrey|title=Scaling and Scheduling to Maximize Application Performance within Budget Constraints in Cloud Workflows|journal=Proceedings of the 2013 IEEE 27th International Symposium on Parallel and Distributed Processing(IPDPS2013)|year=2013|url=http://dl.acm.org/citation.cfm?id=2511429|doi=10.1109/IPDPS.2013.61|isbn=978-0-7695-4971-2|pages=67–78}}</ref>


==See also==
Cloud service orchestration consists of these elements:{{citation needed|date=September 2016}}
* [[Web Service Choreography|Choreography]]

* [[Configuration management]]
* ''Composing'' of architecture, tools, and processes used by humans to deliver a defined Service.
* [[Infrastructure as code]]
* ''Stitching'' of software and hardware components together to deliver a defined Service.
* [[Server provisioning]]
* ''Connecting'' and ''Automating'' of workflows when applicable to deliver a defined Service.
* [[Service-oriented architecture]]

Orchestration is critical in the delivery of cloud services for these reasons:{{citation needed|date=September 2016}}

* Cloud services are intended to scale-up arbitrarily and dynamically, without requiring direct human intervention to do so.
* Cloud service delivery includes fulfillment assurance and billing.
* Cloud services delivery entails workflows in various technical and business domains.

Examples of orchestration software include among others [[Kubernetes]] container orchestration software or [[HP operation orchestration]] software.


== References ==
== References ==
Line 41: Line 24:
[[Category:Business terms]]
[[Category:Business terms]]
[[Category:Computing terminology]]
[[Category:Computing terminology]]
[[Category:Orchestration software]]

Revision as of 10:13, 17 December 2018

Orchestration is the automated configuration, coordination, and management of computer systems and software.[1]

A number of tools exist for automation of server configuration and management, including Ansible, Puppet, Salt and Terraform.[2]

Usage

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.[3]

The main difference between a workflow "automation" and an "orchestration" (in the context of cloud computing) is that workflows are processed and completed as processes within a single domain for automation purposes, whereas orchestration includes a workflow and provides a directed action towards larger goals and objectives.[1]

In this context, and with the overall aim to achieve specific goals and objectives (described through quality of service parameters), for example, meet application performance goals using minimized cost[4] and maximize application performance within budget constraints,[5]

See also

References

  1. ^ a b Thomas Erl. Service-Oriented Architecture: Concepts, Technology & Design. Prentice Hall, ISBN 0-13-185858-0.
  2. ^ Yevgeniy Brikman (2016-09-26). "Why we use Terraform and not Chef, Puppet, Ansible, SaltStack, or CloudFormation".
  3. ^ A Business Resolution Engine for Cloud Marketplaces, IEEE Third International Conference on Cloud Computing Technology and Science (CloudCom), IEEE, 2011, pp. 462–469, doi:10.1109/CloudCom.2011.68
  4. ^ Mao, Ming; M. Humphrey (2011). "Auto-scaling to minimize cost and meet application deadlines in cloud workflows". Proceedings of 2011 International Conference for High Performance Computing, Networking, Storage and Analysis (SC2011). doi:10.1145/2063384.2063449. ISBN 978-1-4503-0771-0.
  5. ^ Mao, Ming; M. Humphrey (2013). "Scaling and Scheduling to Maximize Application Performance within Budget Constraints in Cloud Workflows". Proceedings of the 2013 IEEE 27th International Symposium on Parallel and Distributed Processing(IPDPS2013): 67–78. doi:10.1109/IPDPS.2013.61. ISBN 978-0-7695-4971-2.