No.8 CorticonをDockerで利用する方法とメリット
2016.11.08 Progress Corticon
本エントリーは株式会社アシスト様が寄稿したエントリー(https://www.ashisuto.co.jp/product/category/brms/progress_corticon/column/detail/brmstech08.html)を転載したものとなります。
|
Progress Corticon は実装での配備方式の柔軟さに優れていますが、さらに今回はCorticonサーバがDocker Hubで利用できるようになり、柔軟性がさらに高まり、ユーザはCorticonのルールサービスを簡単にDockerコンテナに配備できるようになりました。
Dockerとは
Dockerはアプリケーションとそれと依存関係のあるコンポーネントのすべてをソフトウェアコンテナの中に含めて配備を可能にするテクノロジーです。
コンテナを利用することでアプリケーションの作成、配備、実行が単純で簡単になります。
アプリケーションとすべての関連ライブラリおよび依存関係をひとつにパッケージすることで、開発者はどんなDockerホストでも環境に関係なく安心してアプリケーションを動作させることができます。
別の見方としてDockerは仮想マシンと捉えることができます。
しかしDockerは一般的な仮想マシンの様に仮想オペレーティングシステム全体を構成するのではなく、アプリケーションとその実行に必要なリソースだけを提供し、複数のアプリケーションは同じLinuxカーネルをシステムとして使用します。
Dockerは独立した資源の抽象化レイヤを提供し、複数のコンテナを単一のOSインスタンス上で動作させることが可能です。
これによって仮想マシンの起動時におけるオーバーヘッドを減らせるだけではなく、仮想マシン毎に必要だったメンテナンスにかかる手間も省くことができます。
DockerやLXC、libvirt、Zonesなどのコンテナツールは仮想マシンと同様に環境を分離し、資源を自由に配分できる利点を持っていますが、その構造上のアプローチの特徴により、さらにポータブルで効率的に資源を利用できます。
|
まず、コンテナはそれぞれのゲストOSを必要としません。 コンテナはアプリケーションをユーザスペースの中のひとつの分離したプロセスとして稼働させ、他のコンテナとOSカーネルを共有します。 このため起動、停止に要する時間は数秒ですみ、コンテナの仮想マシンと比較して顧客の要望に応えることができます。
Docker HubにあるCorticonとは
Corticon Serverは Java EE アプリケーションサーバとして実装することができ、そこに配備されたルールはRESTまたはSOAPサービスとして利用できます。
現在ではCorticon ServerのオフィシャルイメージがDocker Hubから利用可能になっています。 Corticon Serverの基本イメージはJDK、Tomcat 7とCorticon Serverの実装であるaxis.warで構成されています。
Corticon Docker Hubレジストリには、Corticonの最新バージョンとこれまでのリリースバージョンが登録されています。 利用したいバージョンやホットフィックスを選べるようにタグ付がされており、必要性に応じて最適なバージョンのCorticonを容易に構成することができます。
Docker Hubで選んだCorticon Serverのイメージを構成して稼働させるのは非常に簡単です。
Corticon Serverイメージのビルド手順
1.最初にDockerファイルを作成します。
2.Dockerファイルには最初にFROMステートメントでビルドに使用する基本イメージを指定します。
FROM corticon/docker ラインにDocker Hubで公開されている最新の corticon/dockerイメージを指定します。 別のバージョンを使用するには単純にFROMステートメントで選択したタグを変更するだけすみます。
例えば、 FROM corticon/docker:5.5.2と指定すれば、Docker Hub上のCorticonバージョン5.5.2の基本イメージをもとにして利用するイメージをビルドすることが可能です。
3.Corticonのライセンスファイルを追加します。
ライセンスファイルをDockerイメージの中のCORTICON WORKホルダにコピーします。
ADD CcLicense.jar /opt/corticon/work/
4.デシジョンサービスの.edsファイルと.cddファイルをCDDディレクトリへコピーします。
ADD Order.eds /opt/corticon/work/cdd/
ADD DecisionService.cdd /opt/corticon/work/cdd/
5.Dockerイメージをビルドする
Dockerイメージをビルドするためにdocker buildコマンドを実行します。
$ docker build -t corticon
ローカルリポジトリにCorticonイメージがビルドされたら、そのイメージをdocker runコマンドを使用して配備します。
$ docker run -p 8080:8080 corticon
Docker Hubを利用してCorticon Serverイメージをビルドするのに必要な作業は以上です。
さらに細かな設定の方法やその他の情報については、 Corticon Docker Hub account を参考にしてください。
DockerによるCorticon利用のメリット
Docker Hubから作成したCorticon Serverイメージを使用することでCorticon環境のセットアップを非常に簡単に行うことができる上に、latestタグのついたイメージを使用すれば、最新のホットフィックスが適用されたCorticonを稼働させることができます。
バージョンアップ前のテストや検証のためにCorticon Serverの異なるバージョンを用意する必要がある場合でも、Docker Hubに用意されているそれぞれのバージョンのcorticon/dockerイメージを使用してビルドを行えば簡単に構築することが可能です。
DockerでのCorticonイメージの起動ではOSをブートする必要がなく、単にコンテナを作成するだけですみ、それには数秒しかかかりません。
Dockerを上手く利用してバージョン変更等、Corticon環境構築の手間を減らしてはいかがでしょうか。
著者紹介
|
株式会社アシスト 情報基盤事業部 製品統括部プログレス推進部 |