About CloudConductor

CloudConductorはデザイン指向クラウドオーケストレーションソフトウェアです。

仮想化技術の発展にはめざましいものがあり、コンピューティングリソースやネットワーク、ストレージにいたるまでさまざまな派生製品が日々登場しています。しかし、こうした仮想化技術を利用すればオンデマンドでリソースを取得し、設定し、利用開始することはできるものの、たとえばWeb-AP-DBの三層サーバ構成からなるシステムを自動で構築するといった複雑なシステム構成を実現することは困難でした。このような課題に対してアプローチするソフトウェアが、オーケストレータ(orchestrator)、またはオーケストレーションソフトウェアと呼ばれています。つまり、複数のリソースが受け持つパートやピースをオーケストラのように全体としてまとめあげる、というイメージですね。具体的には、AWS CloudFormationや、OpenStack Heatなどがオーケストレータの機能を提供しています。

さて、このように、システムインテグレーションの現場では個々のリソースをまとめて設定するためのオーケストレータが重要となってきますが、現在のオーケストレーションソフトウェアはもっぱら特定のクラウドサービスやプロダクトに依存しています。ところが、たとえば、以下のようなケースはどうでしょうか。

  • 事業継続性計画(business contingency plan, BCP)に沿った災害対策、たとえばディザスタ・リカバリ(DR)サイトを簡単につくってデータ同期を設定したい
  • 自社がグローバル展開を考えており、それぞれの国ではそれぞれの国に適切なクラウド環境を使いたい:ある国ではAWS、別の国ではその国のベンダーが提供しているOpenStack API互換クラウド、など
  • ビジネスアジャイルなプロセスでパブリッククラウド上に小さなサイトを使って運用を開始するが、その中でうまくいきそうなものについてはプライベートクラウドに構築し直したい、ただしこの移行にはあまり費用をかけたくない

このように、システムがどのように運用されるのかを考えると、特定のクラウドサービスやプロダクトに依存するのではなく、どこにでもデプロイできるようなオーケストレーション機能が必要になってくるでしょう。これはまさに、オーケストラでどこのパートにどのような演奏をさせるかを事細かに指示することにできる、指揮者の役割です。演奏はオーケストラではなく指揮者がその特性を決定します。CloudConductorは、クラウドオーケストレーションにおける指揮者(conductor)として、オーケストレーションをリードします。

CloudConductorでは、個々のクラウドサービスやプロダクトに依存するオーケストレータに指示する「ピース」を構成定義テンプレートと呼んでいます。これはデザインパターンのように、特定目的に沿って抽象化されたパターンであり、とりわけシステム全体の信頼性や可用性、保守性(reliability, availability, serviceability, RAS)とそれを保証する運用プロセスに密接に関わっています。たとえばエンタープライズ・アーキテクチャの参照モデルを提供するTOGAFでいうところのinfrastructure architectureをカバーするインフラデザインパターンの取り組みともいえます。そこで、CloudConductorは、自らをデザイン指向クラウドオーケストレータ (design-oriented cloud orchestrator)と規定しています。この場合のデザインとはいわゆるアーキテクチャ設計または方式設計を表しています。

CloudConductorがシステムインテグレーションの作業効率化や構築したシステムの品質向上に寄与いたしますように!