OSS、IBMの自動化ツールとの連携をサポート
最後の特長として「自動化ツールとの連携」が挙げられた。
IBMでは、各種CI・Buildツールとの連携機能をGitHub上で公開している。
自動化ツールとして思いつくものとして、たとえばApache Mavenがある。Java用プロジェクト管理ツールとして、よく使われているものだ。統一したビルドプロセスが提供され、ファイルに構成を行うことにより、様々なアプリの属性というものをしっかり処理しやすい形でビルドすることを可能にしている。
プラグインによって、様々な柔軟な拡張が可能になっており、Libertyプロファイルを操作するためのものがIBM自身により提供されている。
Mavenで利用できるLibertyプロファイルのGoalとして、サーバーの作成・始動・停止以外にも、アプリケーションのデプロイ・アンインストール、サーバーのパッケージングなどがある。Mavenにはビルド・ライフサイクルという考え方があり、そこに組み込む。
それからJenkinsがある。Javaで書かれたオープンソースのCIツールで非常に人気が高く、特にインターネット系の企業ではよく使われている。ソフトウェアプロジェクトのビルドとテストを複数のシナリオという形で書くことができる。ユーザーからの操作、特定のディレクトリへのファイルの配置、特定のプロセスの終了などを感知し、それらをトリガーとして処理を実行できる。また、複数サーバーでの分散ビルドやテストも実行可能だ。
こちらもプラグイン拡張ができるようになっており、WASのプラグインも提供されている。バージョン管理システム(VCS)やビルドツールとの連携が容易で、プラグインを使用すると処理を自動化できる。コーディングやスクリプトは不要だ。処理の完了もモニターしてくれる。
ただ、会社の事情やプロジェクトの条件により、OSSを使用するのが難しい場合もある。たとえばベンダーのサポートがきちんとあるような製品が求められるケースだ。
「その場合はもちろん、RationalなどIBMの数多くの製品を使い、DevOpsを実現していただけます」(田中氏)。たとえばUrbanCodeはJenkinsと同様、様々な処理をシナリオに沿った形で実行していくことが可能だ。シナリオはGUI画面上でのドラッグ&ドロップにより、ビジュアルに定義できる。
またBluemixというIBMの次世代のクラウドプラットフォームは、オープンソースのPaaSツールである「Cloud Foundry」をベースとして構成されている。ユーザー自身で様々なビルドパックを作ることにより、アプリ実行環境を可搬性を持って実装できるようになっている。
Bluemixではアプリケーションを実行するためJava、JavaScript、Rubyのランタイムを提供しているのだが、JavaのランタイムはLibertyプロファイルで実行される。ローカルの環境上のEclipseにBluemixのツールを入れると、ローカルで実行するのと同じような感覚で、LibertyプロファイルのアプリケーションをBluemixに上げ、チェックすることができる。
BluemixではCloud Foundryのツールがそのまま利用できるので、開発したアプリケーションをBluemixや、あるいはユーザーのVMware上の仮想環境へ自動的にデプロイすることもできるようになっている。
以上の様々なツールとの連携で、テストを、社内のオンプレミスの環境だけでなく、クラウド上で動的に行うことが可能になる。
最後に田中氏は「自動化に関しては検討段階というお客様がまだまだ多いかと思いますが、現在、各種OSSやベンダー製品が充実してきています。開発・テストと運用の自動化に、改めてチャレンジする最適のタイミングです」と語り、セッションを終了した。