Overview

CloudConductorは、次の4つの特徴を持っています。

オーケストレーション

複数のサーバが連動して動作する複雑なシステム全体を、整合性が保たれるように適切な順序で機械的に構築し、想定通りに構築されたことを自動的にテストする。CloudConductorはこれをオーケストレーションと呼んでいます。

オーケストレーションが提供する価値

CloudConductorを用いることで、複雑なシステム全体をクラウド上へ一気に作り上げることができるようになります。労働集約的で品質にブレのある手作業によるインフラ運用から脱却し、検証済みで高品質なインフラ運用を誰でも簡単に手に入れることができる世界へ、CloudConductorはあなたを導きます。

より深く知りたい方へ

CloudConductorがオーケストレーションする範囲は幅広く、システムを構成する複数のサーバやネットワーク、ストレージといったクラウドリソースの適切なサイジングと配備から、OSの起動やミドルウェアのインストールと設定、及びアプリケーションのデプロイまで、システムを構築する際に実施する様々な作業が対象となります。またバックアップやリストア、監視など、定常的な運用作業もオーケストレートすることができます。

CloudConductorを用いたシステム全体のオーケストレーションは、今すぐ試してみることができます。Getting Startedをご参照ください。

パターン

サーバやネットワークからミドルウェアまで、システムが必要とするインフラ全体を機械的に構築し、想定通りに構築されたことを機械的にテストするスクリプトの集合体。CloudConductorはこれをパターンと呼んでいます。

パターンが提供する価値

熟練したインフラエンジニアの設計ノウハウをパターンとして標準化することで、検証済みで高品質なインフラを誰でも簡単に再利用できるようになります。またパターンを中心に据えることで、テスト駆動開発や継続的インテグレーションといったアジャイル開発のプラクティスをインフラ運用の現場へ導入できるようになります。

より深く知りたい方へ

CloudConductorでは、役割に応じて「Platform」と「Optional」という2種類のパターンを使い分けます。「Platform」パターンは、Webサーバ – APサーバ – DBサーバの連携といったシステムを構成する骨格を表現するパターンです。一方「Optional」パターンは、監視やロギングなどの機能を「Platform」に後から付加するために用います。このように役割を分けることで、最初から複雑なインフラ運用を作り込むのではなく、必要な機能を後から差し込めるようになります。パターンに関するより詳細な解説は、パターンとはをご参照ください。

またTomcatを用いた3階層システムを構築するPlatformパターン監視機能を追加するOptionalパターンなど、各種サンプルパターンも公開しています。Githubのcloudconductor-patternsリポジトリも合わせてご参照ください。

ライフサイクルイベント

ネットワークやサーバ、ミドルウェアの設定からアプリケーションのデプロイ、あるいはバックアップ等の日々の運用まで、システムは構築されてから破棄されるまで様々なイベントに出会います。CloudConductorはこれをライフサイクルイベントと呼んでいます。

ライフサイクルイベントを意識する価値

ライフサイクルイベントを意識して作られたパターンを用いてインフラをオーケストレートすることで、イベント発生時に各サーバは、果たすべき役割に従って自分自身をあるべき姿へ自律的に再構成できるようになります。ライフサイクルイベントを起点にすることで、システム全体の整合性を維持した見通しの良い運用が可能となります。

より深く知りたい方へ

CloudConductorには、setupconfiguredeployspecbackuprestoreという6つの組み込みイベントが定義されています。これらのライフサイクルイベントはCloudConductorが適切なタイミングで呼び出しますが、CloudConductorのCLIやAPIを通じて利用者が任意のタイミングで発火させることもできます。また個別にカスタマイズした運用を行うために、利用者が独自のカスタムイベントを定義することもできます。

ライフサイクルイベントの詳細は、パターン仕様のtask.yml節やMetronomeのOverviewをご参照ください。

マルチクラウド

CloudConductorを用いたオーケストレーションは、特定のクラウドのAPIやアーキテクチャに依存しません。CloudConductorを用いることで、利用者はクラウドの差異を意識せずにパターンからシステムをオーケストレートできるようになります。

マルチクラウドに対応する価値

特定のクラウドにロックインされることなく様々なクラウドを透過的に利用できるようにすることで、例えばシステムの成長に従って最適なクラウドへ乗り換えていくことができるようになります。また甚大災害時には生き残ったクラウドを探し出してシステムを立ち上げ直すこともできるようになります。

より深く知りたい方へ

現行リリース(version 1.1)は、Amazon Web ServicesOpenStackに対応しています。次期リリース(version 2.0)でクラウドの操作を抽象化するツールを取り込むことで、対応可能なクラウドを増やしていく予定です。

現行リリースが対応しているクラウドリソースについては、パターン仕様のtemplate.json節をご参照ください。