クラウドネイティブアプリケーション検証

2014/10/02

プロジェクト名

クラウドネイティブアプリケーション検証


プロジェクト期間

2014年10月~2015年3月

 

■プロジェクト概要 

本検証ではクラウドネイティブアプリケーションの一つである、RACKにの検証を実施する。

 

クラウドネイティブアプリケーションとは、プログラマブルにクラウド環境の制御を行いサービスを実現するアプリケーションである。クラウドネイティブアプリケーションを開発する場合、クラウド環境で提供されているネイティブなAPIを利用し開発者が一から実装することが必要となる。RACKを用いると、クラウドネイティブアプリケーションを開発する上で必要なAPIが提供されているため、比較的容易に開発が可能となる。

 

RACKとは、Real Application Centric Kernelの略称。CTC伊藤忠テクノソリューションズが開発し、OSSとして公開しているアプリケーションフレームワークである。RACKは、OpenStack上で直接動作するアプリケーションを簡単に作成するための仕組みを提供しており、プログラマはRACKを使うことで、OpenStackとの連携を意識せずに、OpenStack上のリソースをスケールさせることができる。

 

 

■プロジェクトの背景

RACKアプリケーションを動かす場合、動作環境の構築に手間がかかってしまう。また、全てCLIベースなので、簡単にRACKアプリケーションを試すことができない。そのため、容易にRACKを動かせるようにWEBのGUIから動作できるRACKアプリケーション開発Toolを開発し、RACKアプリケーション開発の効率化を検討した。

 

1.アプリケーションプログラムの作成
2.アプリケーションを組み込んだ仮想マシンイメージの作成
3.アプリケーションの実行

 

RACKアプリケーション開発は1.~3.の繰り返しを開発者が行うが、CLIで毎回実行するため煩雑になる。沖縄オープンラボでは、RACKアプリケーション開発をより簡易的におこなえるようにRACKアプリケーション開発Tool(以降RACK WEB Tool)を開発した。RACK WEB Toolを用いると2.~3.の一連の作業をGUIで行い開発の効率化が可能と考える。

 

RACK WEB Toolを用いたRACKアプリケーション開発は、Gitにソースを登録し(Push)、そのソースが実行できる仮想マシンのイメージを作成(Build)、アプリケーションの実行(Load&Run)の流れで行う。

 

 

■RACKアプリケーション開発Tool 特徴その1

 

RACK WEB Toolは、RACKを動作させるためのクラウド環境(OpenStack環境)を複数作成することができる。たとえばAというRACKアプリケーションをプライベートクラウド環境で、BというRACKアプリケーションをパブリッククラウド環境で開発・実行することができ、それぞれを切り替えて使用することが可能である。

 

 

■RACKアプリケーション開発Tool 特徴その2

RACKアプリケーションの実行イメージを作成する場合に以下の1)~6)をCLIで毎回実行する必要がある。

 

 

RACK WEB Toolを用いてBuildを実行すると、上記の1)~6)の処理を全て自動で実行しイメージの作成を行う。そのため、開発者はソース修正後のイメージ作成を容易に行うことができる。

 

■機能詳細説明

 

RACK WEB Toolの機能について説明する。

 

RACK WEB ToolのUI画面

 

 

(1).OpenStack環境情報の設定

 

RACK アプリケーションは、OpenStack環境上に実行する環境を構築する。OpenStackへアクセスするには、URLや認証情報が必要となる。RACK WEB Toolでは、ユーザーが入力したOpenStack環境情報をRACK WEB Toolが動作するサーバ上に構築したデータベースに保存する。OpenStack環境情報は、複数の環境を設定することができ、ユーザーは、RACK WEB Toolで現在作業中のOpenStack環境を確認し、別の環境へ切り替えることができる。

 

(2).アプリケーションの仮想マシンイメージ作成(Application Builder機能)

 

RACKアプリケーションから複数のプロセス(仮想マシン)を起動できるが、その際使用する仮想マシンイメージは共通である。GitHubに登録されているソースや、必要なソフトウェアのインストールスクリプト等の格納場所をあらかじめ指定しておけば、その格納場所からダウンロードし、アプリケーションが動作する仮想マシンイメージを作成する。作成したイメージOpenStackへ登録する。RACK WEB Toolではこれらの工程(BUILD工程)を自動で行う。

BUILD工程は同時に実行できる。また、表示画面では登録したアプリケーションは一覧表示、及び各アプリケーションのBuild状態(実行中/完了)を確認できる。

 

(3).アプリケーションの実行(Application Runner機能)

 

(2)で作成したイメージを指定して、アプリケーションを実行することができる。なお、RACKアプリケーション毎にOpenStack仮想ネットワーク環境を選択でき、各RACKアプリケーションを平行して実行することが可能である。また、RACK上のファイルシステムのパスを指定することで、アプリケーションの実行結果などを取得できる。

 

■課題・今後の取り組み

 

RACKを用いたクラウドネイティブアプリケーションのユースケースの提案及び、アプリケーションの開発を行い、RACKを活用していくことがあげられる。また、クラウドネイティブアプリケーションを開発するにあたり、RACKのフレームワークが提供する機能の検証が必要と考える。

 

■成果報告

 

【平成26年度 沖縄オープンラボラトリ活動報告会】
日時:2015年2月20日(金)13:00-17:00
会場:沖縄IT津梁パーク 1F プレゼンテーションルーム(沖縄県うるま市)

 

成果報告資料

成果報告動画

 

 

 

 

Share on Facebook
Please reload