本検証ではクラウドネイティブアプリケーションの一つである、RACKにの検証を実施する。クラウドネイティブアプリケーションとは、プログラマブルにクラウド環境の制御を行いサービスを実現するアプリケーションである。クラウドネイティブアプリケーションを開発する場合、クラウド環境で提供されているネイティブなAPIを利用し開発者が一から実装することが必要となる。RACKを用いると、クラウドネイティブアプリケーションを開発する上で必要なAPIが提供されているため、比較的容易に開発が可能となる。CTC伊藤忠テクノソリューションズが開発し、OSSとして公開しているアプリケーションフレームワークである。RACKは、OpenStack上で直接動作するアプリケーションを簡単に作成するための仕組みを提供しており、プログラマはRACKを使うことで、OpenStackとの連携を意識せずに、OpenStack上のリソースをスケールさせることができる。■プロジェクトの背景RACKアプリケーションを動かす場合、動作環境の構築に手間がかかってしまう。全てCLIベースなので、簡単にRACKアプリケーションを試すことができない。そのため、容易にRACKを動かせるようにWEBのGUIから動作できるRACKアプリケーション開発Toolを開発し、RACKアプリケーション開発の効率化を検討した。1.アプリケーションプログラムの作成2.アプリケーションを組み込んだ仮想マシンイメージの作成3.アプリケーションの実行RACKアプリケーション開発は1.~3.の繰り返しを開発者が行うが、CLIで毎回実行するため煩雑になる。Tool)を開発した。Toolを用いると2.~3.の一連の作業をGUIで行い開発の効率化が可能と考える。Toolを用いたRACKアプリケーション開発は、Gitにソースを登録し(Push)、そのソースが実行できる仮想マシンのイメージを作成(Build)、アプリケーションの実行(Load&Run)の流れで行う。Toolは、RACKを動作させるためのクラウド環境(OpenStack環境)を複数作成することができる。AというRACKアプリケーションをプライベートクラウド環境で、BというRACKアプリケーションをパブリッククラウド環境で開発・実行することができ、それぞれを切り替えて使用することが可能である。特徴その2RACKアプリケーションの実行イメージを作成する場合に以下の1)~6)をCLIで毎回実行する必要がある。Toolを用いてBuildを実行すると、上記の1)~6)の処理を全て自動で実行しイメージの作成を行う。Toolの機能について説明する。アプリケーションは、OpenStack環境上に実行する環境を構築する。OpenStackへアクセスするには、URLや認証情報が必要となる。Toolが動作するサーバ上に構築したデータベースに保存する。Toolで現在作業中のOpenStack環境を確認し、別の環境へ切り替えることができる。Builder機能)RACKアプリケーションから複数のプロセス(仮想マシン)を起動できるが、その際使用する仮想マシンイメージは共通である。GitHubに登録されているソースや、必要なソフトウェアのインストールスクリプト等の格納場所をあらかじめ指定しておけば、その格納場所からダウンロードし、アプリケーションが動作する仮想マシンイメージを作成する。作成したイメージOpenStackへ登録する。Toolではこれらの工程(BUILD工程)を自動で行う。BUILD工程は同時に実行できる。表示画面では登録したアプリケーションは一覧表示、及び各アプリケーションのBuild状態(実行中/完了)を確認できる。Runner機能)(2)で作成したイメージを指定して、アプリケーションを実行することができる。RACKアプリケーション毎にOpenStack仮想ネットワーク環境を選択でき、各RACKアプリケーションを平行して実行することが可能である。RACK上のファイルシステムのパスを指定することで、アプリケーションの実行結果などを取得できる。■課題・今後の取り組みRACKを用いたクラウドネイティブアプリケーションのユースケースの提案及び、アプリケーションの開発を行い、RACKを活用していくことがあげられる。