第1回 オーケストレーションとは

本コラムでは、オーケストレーション技術について解説していきます。第1回では、そのキーとなる標準仕様TOSCA(Topology and Orchestration Specification for Cloud Applications)について解説します。

TOSCAとは

TOSCAの概要

TOSCAとは、OASIS (Organization for the Advancement of Structured Information Standards) が定めたクラウドアプリケーション向けトポロジ・オーケストレーションに関する仕様です。以下の4つを実現することを目指して策定されました。

  • クラウド上のアプリケーション・サービスの可搬性の向上
  • 既存アプリケーションのクラウドへのより容易な移行
  • アプリケーション構成の柔軟な変更
  • 複数のクラウドを跨いだアプリケーションの構築と管理

TOSCAの構造

TOSCAではService Templateと呼ばれる構造体でサービスが規定されます。これは、「Topology Template」と「Plan」の大きく2つからなります。Topology Templateではシステム構成が定義され、Planではワークフローが定義されます。
Service Templateの構成要素とその概要を図1、表1にそれぞれ示します。

図1 Service Template構成要素

図1 Service Template構成要素
(引用)http://docs.oasis-open.org/tosca/TOSCA/v1.0/TOSCA-v1.0.html

表1 Service Template各要素の概要
要素 概要
Service Template サービス全体の記述
Node Type サービスを構成する各モジュールに関する汎用的な定義
Relationship Type ノード間の依存関係を汎用的に定義したもの
Topology Template Node TemplateおよびRelationship Templateをまとめたもの
Relationship Template Relationship Typeを具象化したもの
Node Template Node Typeを具象化したもの。Relationship Templateとあわせて有向グラフを構成する
Plan サービスの運用の側面を記述したもの

TOSCAの利用イメージ

クラウド上にWebサーバーをデプロイする場合の例

ここでは、OpenStack上の仮想マシン(CentOS)にTomcatをインストール(デプロイ)するケースをTOSCAで記述することを考えます。
この場合、例えば図2のように書くことができます。
この例では、OpenStackの基盤上に仮想マシンがあり、その仮想マシンの上にWebサーバーがあるという関係がServiceTemplateとして記述されます。また、OpenStack上に仮想マシンを作成し、そこにTomcatをインストールするという一連の流れがPlansとして記述されます。

図2 クラウド上にWebサーバーをデプロイする場合の例

図2 クラウド上にWebサーバーをデプロイする場合の例

この例では、CentOSのNode TemplateはOperating SystemのNode Typeに属しており、またOpenStackはCloud PlatformのNode Typeに属している事を表しています。
また、RelationShipに関しては、CentOS on OpenStackはHosted onのRelationship Typeに属し、Tomcat installed on CentOS はHosted onのRelationship Typeに属しています。

オーケストレーション

TOSCAを活用したオーケストレーション

このように、TOSCAを利用することで、ワークフローの制御、関係の記述、各種のリソース間に存在する依存関係などを表現することができるようになります。また一度サービスとして定義したものは、クラウド基盤の変更やOSのバージョンアップの場合でも定義を再利用できるというメリットがあります。
現在、TOSCAを利用してシステム構成を定義し、それを利用してシステム管理業務の自動化を実現するソリューションとして、クラウドオーケストレーションツールCloudifyや、OpenStack Tackerなどが出てきています。また各ベンダーにおいてTOSCAに対応した製品も見られるようになりました。それらを活用し、マルチクラウドのオーケストレーションや、NFV(Network Function Virtualization)への応用が実現されています。
次回以降は、当社で2017年より取り扱いを開始したCloudifyを使ったオーケストレーションについて、その概要から具体的な利用方法までを含めて紹介していきます。

Writer Profile

ソリューション事業部
SDIソリューションビジネスユニット SDIグループ
前田 繁章



第1回 オーケストレーションとは