図1●Dockerを使うと、OS設定やミドルウエアなどアプリケーションの動作環境一式をパッケージ化して、異なる環境に容易に配備できる
図1●Dockerを使うと、OS設定やミドルウエアなどアプリケーションの動作環境一式をパッケージ化して、異なる環境に容易に配備できる
[画像のクリックで拡大表示]
写真●レッドハット、プロダクト・ソリューション事業統括本部、ミドルウエア事業部、事業部長の岡下浩明氏
写真●レッドハット、プロダクト・ソリューション事業統括本部、ミドルウエア事業部、事業部長の岡下浩明氏
[画像のクリックで拡大表示]
図2●OpenShift Enterprise 3のソフトウエア構成要素
図2●OpenShift Enterprise 3のソフトウエア構成要素
[画像のクリックで拡大表示]

 レッドハットは2015年7月22日、仮想マシンを使わずにDockerベースでPaaS型クラウドを実現する基盤ソフト「OpenShift Enterprise 3」を発表、同日出荷した。アプリケーションをクラウド型で開発・配備・実行するための環境一式を提供するPaaS基盤ソフト「OpenShift Enterprise」の最新版に相当し、中核技術として新たにコンテナ型仮想化ソフトのDockerを採用した。これにより、開発ライフサイクルを簡素化できるほか、アプリケーション更新時の反映などが容易になるとしている。価格(税別)は、最小構成(2コア、9時から17時のサポート)で年額63万9600円から。

 今回新たにアプリケーション管理の中核ソフトとして採用したDockerとは、開発したアプリケーションや、アプリケーションの動作に必要なミドルウエア群、仮想化されたOS環境などを、その設定パラメータとともにイメージとしてパッケージ化して配備・実行できるようにする技術である(図1)。構築したアプリケーションイメージは、Dockerが動作している任意のサーバー上に容易に配備して起動できる。レッドハットでミドルウエア事業部長を務める岡下浩明氏(写真)は、「市場に素早くアプリケーションを配備することがビジネスの要求だ。これを実現する技術がDockerだ」と価値をアピールする。

 OpenShift Enterpriseの従来版では、Cloud Foundryなどの他のPaaS基盤ソフトと同様に、仮想マシン型のPaaS基盤を独自技術を用いて実現していた。今回の新版ではこれを改め、DockerベースのPaaS基盤とした。Docker以外の構成要素としては、Dockerイメージの配備方法などを管理するオーケストレーションソフトとしてDocker運用ソフトのKubernetesを採用。さらに、JBoss(Javaアプリケーションサーバー)やDBMS(データベース管理システム)などのアプリケーション開発環境や、OpenShiftのWeb画面などを一式提供する(図2)。

Dockerによるアプリ開発を支援する機能群を提供

図3●様々なミドルウエアを組み合わせたDockerイメージのテンプレートを標準で57種類用意した
図3●様々なミドルウエアを組み合わせたDockerイメージのテンプレートを標準で57種類用意した
[画像のクリックで拡大表示]

 岡下氏はDockerの現状について「注目されているが企業でアプリケーション開発に使うためのノウハウがまだ揃っていない」と指摘。これに対してOpenShift Enterprise 3は、企業がDockerを使うためのベストプラクティスを実装したという。「アプリケーションの開発や配備にあたってDockerの知識は必要ない。PaaSを使って開発すればDockerを使っていることになる」(岡下氏)。

 例えば、開発を容易にする機能の一つとして、アプリケーションイメージの元になる57種類のテンプレート(TomcatとMySQLなどのソフトウエア構成)を標準で用意した(図3)。本番環境へのアプリケーション配備を支援する機能としては、システムを停止することなく本番環境を上書き(差し替え)する機能を提供する。配備したイメージを元に戻すロールバックもコマンド一つで容易という。

 運用面では、スケジューラーによってアプリケーションを起動・停止できる。システム障害時には、別システムの上でアプリケーションイメージを起動して障害から自動的に復旧可能。2015年内にリリースを予定する次期版(バージョン3.1)では、負荷に応じて同時に稼働させるイメージ(インスタンス)を自動的に増やすオートスケール機能を実現する予定である。

 アプリケーションの更新を支援する機能としては、アプリケーションイメージのバージョン管理ができる。イメージに分類用のタグを付けて管理することも可能。ミドルウエアに脆弱性が発見された場合のパッチ当てや再ビルドといった、アプリケーションイメージに更新がかかる場面でも、簡単な手順でイメージを差し替えられる。