自律型ハイブリッドクラウドプラットフォーム
CloudConductorのご紹介

2013年12月6日
TIS株式会社

0SDxの次にくるもの―CloudConductorのコンセプト1

クラウドの位置付けの変化
毎年10月のGartner Symposiumにおいて発表される「戦略技術」記事における“cloud”の出現回数は急伸している
2011年*1 7回
2012年*2 19回
2013年*3 14回
2014年*4 30回 (本文約1800語中)(1) Mobile Device Diversity and Management(2) Mobile Apps and Applications(3) The Internet of Everything(4) Hybrid Cloud and IT as Service Broker(5) Cloud/Client Architecture(6) The Era of Personal Cloud(7) Software Defined Anything (SDx)(8) Web-Scale IT(9) Smart Machines(10) 3-D Printing

あらゆる技術はクラウドを前提とする：
サービスインフラ視点(1)(4)(5)(6)(7)(8)
アプリケーション視点(2)(3)(9)(10)*1 http://www.gartner.com/newsroom/id/1454221*2 http://www.gartner.com/newsroom/id/1826214*3 http://www.gartner.com/newsroom/id/2209615*4 http://www.gartner.com/newsroom/id/2603623

2

プライベートクラウドへの幻滅とソフトウェア定義への期待②SDxがもたらす果実は何か?

①なぜユーザはプライベートクラウドに失望しているのか?

*1 Gartner (2013/09/10).
3

日本における仮想化のハイプ・サイクル：2013年(INF-13-116). リサーチノート.

プライベートクラウドへの失望とは?
ITR White Paper (2013/04/17)「クラウド化で実現するIT基盤統合～オープンクラウドによるROI創出～」*1
・大手流通業(年商4,000億円)におけるコストシミュレーションによれば、オープンクラウド環境への移行は仮想統合のみに比して22%の削減効果
・ハードウェア、ソフトウェアの調達、保守および運用におけるコスト節減効果・システムダウンに対する機会損失リスク抑制

クラウド利用によってTCOを削減することができる利益貢献につながる効果が期待されている
Gartner(2013)*2「今後3年間に、大企業の過半数はハイブリッドクラウドを活用するようになる」

仮想化、標準化、自動化により所有と運用のコストを削減

メトリクス、セルフサービス、自動プロビジョニングによりアジリティを実現*1 http://www.itr.co.jp/library/public/ITR_WhitePaper/ITR_WP_C13040049.pdf*2 http://www.gartner.com/newsroom/id/2599315
4ソフトウェア定義に関する最近の動き
プロプライエタリ製品ベンダーの戦略

相互に影響を及ぼしつつ発展

システム／アプリケーション
Cisco Application Centric Infrastructure (ACI)*1
・・・リソースポリシーベースでシステムの設計、構築、運用を自動化
IBM Open Cloud Architecture*2
・・・IaaSレベルからSaaSレベルまでをオープン仕様で統合
IBM PureFlex System / PureApplication System*3
・・・システム設計、インフラ構築、AP設定の知識をパターン化
データセンター
VMware Software-Defined Datacenter (SDDC)*4・・・DC内のリソースを統合的に管理および制御
Juniper Networks MetaFabric*5
・・・複数DCのリソースを統合的に管理および制御
コンピューティングリソース
ネットワークオープン・アーキテクチャ

serverspec

Trema

SDxの対象は、コンピューティングリソース、ネットワークからデータセンター、さらにシステム基盤全体にまで拡大*1 http://www.youtube.com/watch?v=iHeBZTxpPsM*2 http://www.ibm.com/developerworks/cloud/library/cl-open-architecture/⇒SDxはシステム設計、構築、運用における*3 http://www-06.ibm.com/ibm/jp/puresystems/*4 http://www.vmware.com/jp/software-defined-datacenter/index.html
定型作業の自動化・機械化を促す*5 http://www.juniper.net/us/en/solutions/enterprise/metafabric/
5

TISの提案―CloudConductor(仮称)CloudConductor(仮称)としてOSS公開※名称はリリース時変更される可能性があります*1 http://www.tis.co.jp/news/2013/20131128_1.html
6CloudConductorが実現する価値

ハイブリッドクラウド環境における、メトリクス管理、セルフサービス、自動プロビジョニングの実現

ねらい

目的

システム設計、構築、運用における定型作業の自動化と機械化・システム設計、構築、運用におけるアジリティ・ハイブリッドクラウド活用による柔軟なシステム設計

自律型ハイブリッドクラウドプラットフォーム
ソフトウェアCloudConductor
プライベートクラウド
複製
複製システム構成パターン
システム構成パターン設計／登録

複製
パブリッククラウドA
システム構成
パターン
リポジトリ

自動拡張

パターン登録者
複製システム配置指示
パブリッククラウドB

パターン利用者
7

オープンなエンタープライズシステム基盤におけるアジリティ
サービスマネジメント
フレームワーク①SLAに沿ってシステム構成を標準化し、パターンをリポジトリに格納

クラウドA
システム企画担当者
システム・インテグレータ
システム構成パターン
リポジトリ
ダッシュボード②-b.
システムの状況を適宜監視し、自律的に拡張や修復
Cloud
Conductor②-a.
システム構成パターンに従って適切な環境にデプロイ(ネットワーク構築／設定、仮想マシン作成、OS設定、ミドルウェアインストール／設定、アプリケーションデプロイ、・・・)②ユーザ部門からの要求に応じて、システム構成パターンを選択

システム運用管理担当者
8

オープンなエンタープライズシステム基盤における柔軟な設計① “PrivateCloud”タイプのパブリッククラウド
システム構成パターンを作成①-a. “PublicCloud”タイプの“PublicCloud”
システム構成パターンを作成①-b. 複数クラウドを含む混成型でDR環境バックアップオプション“DR”付きのシステム構成パターンを作成

Backup type: “DR”

システム構成パターン
リポジトリ
Active環境

システム企画担当者
システム・インテグレータ“PrivateCloud”②適切なパターンを選択しデプロイ

プライベートクラウド
システム運用管理担当者
9CloudConductorが実現するシステムレイヤの仮想化
アプリケーションレイヤ
ERP

自動化／自律化プロセス
Corp.
SCM CRM
BIMDMWebシステムレイヤ
システムパターン選択
サービスマネジメント・フレームワーク CloudConductor
非機能要求・システムパターンリポジトリ・システムデプロイフレームワーク

デプロイ・スクリプト

システムデプロイ(システム依存パラメータ指定)

システムパターン

仮想リソースレイヤ

10CloudConductorのデザイン

11

CloudConductorの価値観 – オープン性
公開と再利用○ソースコードや検証ドキュメント等は、原則的に全て公開する○既存の規格やOSSをフル活用する
・OASIS/TOSCA, DMTF/CIMI
・OpenStack, DeltaCloud, Trema, Chef, Ruby, ・・・
ロックインの回避○特定のCloud事業者やハードウェア、ソフトウェアにロックインされない“Standing upon the shoulders of giants” By mushon
http://www.flickr.com/photos/mushon/282287572/

12

CloudConductorの価値観 – エコシステム
コミュニティの醸成○幅広い参加者を募ってコミュニティを組織する・OSSコンソーシアム クラウド部会
・産官学の連携
叡智の形式知化と集合知化○フツウのエンジニアがパターン化（形式知化）した“システム”を公開し、公開されたパターンの利用者が改善を提案できる場を作る“Wikified Authorship” By mushon
http://www.flickr.com/photos/mushon/245403938/

13

CloudConductorのアーキテクチャ – パターンの登録
デザインポリシー○モダンブラウザの能力を最大限に活用し、サービスをステートレス化する○外部の構成管理サービスを活用する○リコメンドサービスを切り出し、拡張性を担保する（次バージョン以降）①SLAに沿ってシステム構成を標準化し、パターンをリポジトリに格納※次バージョン以降
リコメンドエンジン

パターン登録者
ActiveRecord
EJS
sinatraunicorn

REST / HTTP

nginx

Backbone.js

JointJSjquery-UI
Bootstrap.js①-1：パターン化されたシステム構成を登録

Ruby

Modern Browser
リポジトリGUI①-2：システム構成パターンをXML化し構成管理サービスへ登録

メタデータ REST / HTTP
ストア

リポジトリサービス

14

システム構成システム構成パターンのの実体
パターン

github等の構成管理サービス

CloudConductorのアーキテクチャ – パターンの選択
デザインポリシー○モダンブラウザの能力を最大限に活用し、サービスをステートレス化する○“要求”に対して最適なパターンを選択できるように、対話型インタフェースやリコメンドエンジン等を活用する（次バージョン以降）②ユーザ部門からの要求に応じて、システム構成パターンを選択※次バージョン以降※次バージョン以降

対話エンジン

リコメンドエンジン

パターン利用者②-3：システム構成
パターンを選択し、指定すべきパラメータに答える②-2：要求に対して適したシステム構成パターンを取得

EJS
sinatraunicorn

Dashboard

REST / HTTP

nginx

Backbone.js

JointJSjquery-UI
Bootstrap.js

Modern Browser②-1：対話しながら要求を入力

リポジトリサービス
REST / HTTP②-4：具体的なパラメータを埋め込み、システム構成パターンを具象化

Ruby
GUIサービス

15

CloudConductorのアーキテクチャ – “システム”のデプロイ
デザインポリシー○サービス自身だけでなく内部処理もステートレス化し、並列処理を可能にする○クラウドリソースを抽象API経由で操作し、個別クラウドへの依存を局所化する○ネットワークを抽象API経由で操作し、NW仮想化技術への依存を局所化する（次バージョン以降）※次バージョン以降
パブリッククラウド③システム構成パターンに沿って適切な環境にデプロイ
OASIS / TOSCA TC

等 ※次バージョン以降（Amazon Web Services）

アプリデプロイ
抽象層
ActiveRecord

sinatraunicorn

REST / HTTP

nginx

GUIサービス③-1：具象化したシステム構成パターンを渡す

Ruby

システム
モデルデータDMTF / CIMI

プライベートクラウド

等(CloudStack)クラウド抽象層（DeltaCloud）③-2：適切な順序で各抽象APIをコール

何らかのNorthboundAPI※次バージョン以降
ネットワーク抽象層

プライベートクラウド(OpenStack)③-3：個別クラウドのAPIをコールしNWとノードを構築③-4：適切なレシピを適用しノードをセットアップ

デプロイサービス
リポジトリサービス※ CIMI : Cloud Infrastructure Management Interface※ TOSCA : Topology and Orchestration Specification for Cloud Applications
16

github等の構成管理サービス

仮想マシン
仮想マシンをマシンをセットアップする
する
セットアップ
レシピのレシピの実体

CloudConductorのアーキテクチャ – 運用
デザインポリシー○監視項目や運用手順もテンプレートから“デプロイ”する○通常はデプロイされた“システム”で完結して運用が行われる（次バージョン以降）○スケールアップ等の運用指示はCloudConductorから行われる（次バージョン以降）④システムの状況を適宜監視し、自律的に拡張や修復

Internet Gateway

デプロイされた “システム”の例

システム運用担当者
Dashboard

FireWall

VPN接続上に仮想ネットワークを構築

WebServer
GUIサービス
APPServer

DBServer※次バージョン以降
運用サービス運用④-1：デプロイされたルールに従い、監視と通常運用を行う④-2：必要な監視情報を取得し、自律的にイベントを指示する
17

DBServerクラウドを跨ったデータベースのレプリケーション

CloudConductorのデータ構造 – パターンとモデルと実体“デザインパターン”との類似性
CloudConductor

デザインパターン
GoF デザインパターン- Composite Pattern

システム構成テンプレート - あるテンプレート

パターン
適用するドメインと言語を元に具体化

ディレクトリとファイルのモデル適用するクラウドと要件を元に具体化 特定環境で動作する “あるシステム” のモデル

モデル
具体的な実体へ
インスタンス化

具体的なディレクトリとファイル構造/

bin

具体的な実体へ
デプロイ

ls
cat

boot

実体
etc

X11

xinit

passwdX

18

実際に動作するシステムそのもの

CloudConductorのデータ構造 – コアモデル
CloudConductorのコアモデル （今後の機能拡張に従い変更される可能性アリ）

192013年度の取り組み

20

2013年度の取り組み
Ⅰ．“システム”のパターン化[Ⅰ- 1] システム構成テンプレートのスキーマ定義（ドラフト）作成と公開[Ⅰ- 2] システム構成テンプレートリポジトリ（α版）の作成と公開

Ⅱ．パターンから“システム”をデプロイ[Ⅱ- 1] “システム”をデプロイするソフトウェア（α版）の作成と公開

Ⅲ．クラウドを跨った仮想ネットワーク抽象化の技術検証[Ⅲ- 1] WANを越えた仮想ネットワーク構築技術の検証と結果公開[Ⅲ- 2] RDBMSの分散レプリケーション技術の検証と結果公開[Ⅲ- 3] 分散ファイルシステム技術の検証と結果公開[Ⅲ- 4] NorthboundAPIの検証と結果公開

Ⅳ．活動成果の公開とコミュニティ化[Ⅳ- 1] ソフトウェア/技術検証結果のα版リリース[Ⅳ- 2] コンソーシアム準備（OSSコンソーシアム クラウド部会等）
21

Ⅰ．“システム”のパターン化[Ⅰ- 1] システム構成テンプレートのスキーマ定義（ドラフト）作成と公開[Ⅰ- 2] システム構成テンプレートリポジトリ（α版）の作成と公開● システム構成テンプレートのスキーマ定義（ドラフト）の作成と公開－ XML Schemaによるスキーマ定義（ドラフト）の作成と公開● サンプルテンプレートの作成と公開－ ローカルネットワーク上でのシンプルなWebアプリケーション－ クラウドを跨ってクラスタリングされたWebアプリケーション－ 自動的なスケールアップ・スケールダウン－ クラウドを跨ったバックアップ－等● システム構成テンプレートリポジトリ（α版）の作成と公開－ リポジトリ操作用API（α版）の仕様定義と公開－ GUIツールセットの作成と公開
22

Ⅱ．パターンから“システム”をデプロイ[Ⅱ- 1] “システム”をデプロイするソフトウェア（α版）の作成と公開● システム構成テンプレートを選択しパラメータを埋める機能の作成と公開－ （対話エンジンによる要件の引き出しは次年度以降）－ （リコメンドエンジンによる最適なテンプレート選択は次年度以降）● “システム”をデプロイする機能の作成と公開－ LAN上のOpenStack Havana on KVMへ“システム”をデプロイする機能の作成と公開－ （クラウドを跨ったネットワークの抽象化の実装は次年度以降）－ （アプリデプロイの抽象化の実装は次年度以降）－ （HAクラスタなど、高機能な自律運用のデプロイ検証は次年度以降）

23

Ⅲ．クラウドを跨った仮想ネットワーク抽象化の技術検証[Ⅲ- 1] WANを越えた仮想ネットワーク構築技術の検証と結果公開[Ⅲ- 2] RDBMSの分散レプリケーション技術の検証と結果公開[Ⅲ- 3] 分散ファイルシステム技術の検証と結果公開[Ⅲ- 4] NorthboundAPIの検証と結果公開● VPN上にエッジオーバーレイによる仮想ネットワークを構築－ Trema Edge（OpenFlow1.3）を活用● PostgreSQLのWAN越え分散レプリケーションの性能と障害復旧－ DRBDによる2DC間での同期/非同期レプリケーション－ レプリケーション機能を用いた2DC間での同期/非同期レプリケーション● XtreemFSのWAN越えレプリケーションの性能と障害復旧－ 2DC 3ノード(2対1非対称）間でのWq/Rqレプリケーション● OpenDaylightやOpenVNet等の仮想ネットワーク抽象レイヤの調査● プロトコルアクセラレーション系のWAN高速化による性能改善効果の検証
24

Ⅳ．活動成果の公開とコミュニティ化[Ⅳ- 1] ソフトウェア/技術検証結果のα版リリース[Ⅳ- 2] コンソーシアム準備（OSSコンソーシアム クラウド部会等）● CloudConductor公開サイトの準備－ ソフトウェアのダウンロード－ Getting Startedやホワイトペーパーの公開－等● 情報公開－ 情報処理学会 全国大会
－ JISA/JUAS等での紹介－等● コミュニティの醸成－ OSSコンソーシアム クラウド部会－等
25クラウド部会への期待

26

クラウド部会への期待
有識者によるディスカッション- 「システム構成テンプレートとして表現すべき情報」のディスカッション- CloudConductorに盛り込む機能のディスカッション

CloudConductorの開発- CloudConductor自体へのPull Request- 技術要素の調査検証- ドキュメントの整理や英訳

CloudConductorの活用- CloudConductorを利用するソフトウェアの開発- 具体的なシステム構成テンプレートの作成と公開- 様々な環境下での動作検証

システム構成テンプレートの標準化- そもそも何をすれば良いのか？から
27

システム構成定義テンプレートとリポジトリ28

システム構成テンプレートとリポジトリ
 クラウドベンダーロックインの回避 構築/運用ノウハウの形式知化
 システム再利用性の向上①マシン、ネットワークなどクラウドリソースはベンダーに依存しない形式で定義
テンプレートファイル（イメージ）
クラウドに跨るマシンを・<MachineGroup>とし<MachineGroup>て定義<Machine id=“instanceA”><Infra>PublicCloud</Infra><Infra>PrivateCloud</Infra></Machine><NodeType>Scaleup</NodeType><Monitoring><CPU-Util>80</CPU-Util>
CloudConductor<MEM-Util>80</MEM-Util></Monitoring>
クラウド間で自動<MachineGroup>
拡張・・
システム構成
パターン
リポジトリ
29

パブリッククラウド

プライベートクラウド

システム構成テンプレートとリポジトリ
 クラウドベンダーロックインの回避 構築/運用ノウハウの形式知化
 システム再利用性の向上②運用項目もテンプレート内で定義しクラウドによる機能差異をCloudConductor側で吸収
テンプレートファイル（イメージ）・
クラウドに関係なく同一<MachineGroup>
グループのマシンを監視<Machine id=“instanceA”><Infra>PublicCloud</Infra><Infra>PrivateCloud</Infra></Machine><NodeType>Scaleup</NodeType><Monitoring><CPU-Util>80</CPU-Util>
CloudConductor<MEM-Util>80</MEM-Util></Monitoring><MachineGroup>・・
システム構成
パターン
リポジトリ
30

パブリッククラウド

プライベートクラウド

システム構成テンプレートとリポジトリ
 クラウドベンダーロックインの回避 構築/運用ノウハウの形式知化
 システム再利用性の向上②運用項目もテンプレート内で定義しクラウドによる機能差異をCloudConductor側で吸収
テンプレートファイル（イメージ）
・<MachineGroup><Machine id=“instanceA”><Infra>PublicCloud</Infra><Infra>PrivateCloud</Infra></Machine><Backup><Type>DR</Type><Target>PublicCloud</Target></Backup><MachineGroup>・・

あるクラウド上のシステ
ムを別クラウドにDRパブリッククラウド

CloudConductor

プライベートクラウド

システム構成パターンリポジトリ31

システム構成テンプレートとリポジトリ
 クラウドベンダーロックインの回避 構築/運用ノウハウの形式知化
 システム再利用性の向上③リポジトリにテンプレート（構築・運用ノウハウ）を集約することで再利用性の向上
構築・運用ノウハウの集約

パターン
登録者

クラウドA

サンプル
サンプル
サンプル

<Name></Name><Name></Name><Machines><Name>id="web-server"></Name><Machines><Machine<Machines><Machine
id="web-server"><Name>WEB
Server</Name><Machine id="web-server"><Name>WEB
Server</Name><Spec>small</Spec><Name>WEB Server</Name>. <Spec>small</Spec>. . <Spec>small</Spec>
. .
.

登録
リポジトリUI

システム構成パターン
リポジトリ

プロビジョニング

CloudConductor

クラウドB
参照・修正して登録
パターン
利用者

サンプル

<Name></Name><Machines><Machine id="web-server"><Name>WEB Server</Name><Spec>small</Spec>
.
.

サンプル

<Name></Name><Machines><Machine id="web-server"><Name>AP Server</Name><Spec>large</Spec>
.
.

32

デモ

33

デモ内容
① テンプレートの作成－ リポジトリGUIからサンプルテンプレートの作成② CloudConductorシステムの操作－ 作成したテンプレートからのプロビジョニング
デモ環境

httpPrivate Cloud (OpenStack)

Repository GUI+
Dashboard

CloudConductor

WEB

PaternRepository(git)34

AP

DB最後にCloudConductorは2013年度末にOSSとしてα版の公開を予定しています。

本資料、デモ動画は後日公開します。
Mail: cloudconductor@tis.co.jp
Twitter: @ccndctr
Github: https://github.com/cloudconductor
Facebook:
https://www.facebook.com/pages/CloudConductor/1452517274974717
35

ご清聴ありがとうございました。

36