オーケストレーション (コンピュータ)

オーケストレーション: orchestration)は、複雑なコンピュータシステム/ミドルウェア/サービスの配備/設定/管理の自動化を指す用語。

何らかの知的制御や自律制御として議論されることが多いが、技術的解説と言うよりも大部分は単なるアナロジーである。実際には、オーケストレーションは制御理論の要素としてオートメーションやシステムの考え方を持ち込んだものと言える。

このようなコンピュータシステムの「オーケストレーション」という用語は、仮想化プロビジョニングの文脈で語られることが多く、バズワード的要素が強い。

若干異なる用法として、Webサービスインタフェースを通して情報交換する過程を指すこともある(SOA)。

オーケストレーションの例

  • Apache ODE (Orchestration Director Engine) は、WS-BEPL 1.1 および 2.0 準拠のビジネスプロセス管理 (BPM) エンジンであり、2つの通信層をサポートする。1つは Axis2 (Webサービスでの HTTP転送)、もう1つは(ServiceMix を使った)JBI標準に基づく。ホットデプロイメントが可能で、プロセス/インスタンス/メッセージの管理インタフェースを備える。
  • Oracle BPEL Process Manager は、BPEL 標準に基づくプロセス群の設計/展開/監視/管理を容易にするフレームワークを提供する。Oracle SOA スイートのオーケストレーション・ソリューションとされる。
  • Intervoice Media Exchange には、メディア・インタラクションの起動と管理向けに設計されたオーケストレーション・エンジンが含まれる。State Chart eXtensible Markup Language(SCXML)を複雑な相互作用の構築フレームワークとして初めて商用製品で採用した。
  • TIBCO BusinessWorks は、BPEL、Webサービスなどのオーケストレーションツール
  • Microsoft BizTalk Server は、BPM用オーケストレーション・エンジンを含む。
  • NetBeans Enterprise Pack はBPELの視覚化設計が可能で、WebサービスやBPELプロセスの実行/テスト/デバッグのオーケストレーションを可能とするオープンソースのSOAツール。
  • OpenText Process Suite はSOAに基づいたインテグレーションを行い、様々な業務モデル(プロセスモデル、ケースモデル、ルール、BAM)を組み合わせ、シングルプラットフォーム上で運用・監視を提供する。

なお(、仮想化プロビジョニングに過ぎないかもしれないものの、)海外のつとに有名なツールも、AnsiblePuppetSaltTerraform[1]、AWS CloudFormation[2]など、サーバーの構成と管理を自動化するためのツールが多数あり[3]Container OrchestrationとしてKubernetesソフトウェアなどのさまざまなソリューションやまたはAWS EKS、AWS ECS、Amazon Fargate[4]などのマネージドサービスがある。

関連項目

脚注

  1. ^ Yevgeniy Brikman (2016年9月26日). “Why we use Terraform and not Chef, Puppet, Ansible, SaltStack, or CloudFormation”. 2019年12月7日閲覧。
  2. ^ AWS CloudFormation とは - AWS CloudFormation”. 2019年12月7日閲覧。
  3. ^ Giangntc (2019年4月12日). “AWS CloudFormation Introduction”. 2019年12月7日閲覧。
  4. ^ AWS Fargate(サーバーやクラスターの管理が不要なコンテナの使用)_ AWS”. 2019年12月7日閲覧。