「OpenShift」導入で開発/テスト環境の柔軟さを向上、従来の制約を排除―「Red Hat Forum 2016」
日立、大規模受託開発環境にコンテナを採用した理由を語る
2016年11月02日 07時00分更新
10月5日に開催された「RED HAT FORUM 2016 Tokyo」では、日立製作所 アプリケーションサービス事業部 担当部長の広瀬雄二氏が、同社の受託開発環境におけるコンテナ技術導入事例を紹介する講演を行った。「Red Hat OpenShift Container Platform」を採用し、自社内の開発環境やテスト環境におけるさまざまな課題を解決したという。
長い歴史を持つ受託開発ビジネス、そこで生じる「4つの課題」
広瀬氏の所属するアプリケーションサービス事業部は、大規模アプリケーションの受託開発を行う部門だ。1962年に座席予約システムの受託開発からスタートし、ほかにも金融機関の大規模システムなど「大きなもので(携わる開発者は)数百人、小さくとも50人ほどの体制」(広瀬氏)という規模の開発プロジェクトを手がける。また、受託開発サービスと併せて、既存アプリケーション(レガシーシステム)のマイグレーション、ライフサイクルマネジメント、統合開発環境といった関連サービスも提供する。
大規模アプリケーションの受託開発では、そのプロジェクトごとに要件も大きく異なる。ただし、共通して生じる問題は大きく4つあると、広瀬氏は説明する。「既存システムに関する情報/ドキュメント不足」「開発チームごとの作業プロセスのばらつき」「開発環境の維持/構築コストの増大」「テスト環境不足」の4点だ。
特にアプリケーションサービス事業部の場合は、プロジェクトに携わる開発者/開発チームも多いことから、こうした問題で生じる影響もまた大きなものになる。いかにして全体にガバナンス(統制)を効かせ、同時に各プロセスの平準化と自動化を進めることで、開発するアプリケーションの品質を高めつつ時間と手間の無駄を省いていくのかが、問題解決のカギを握っている。
開発/テスト環境にコンテナ技術を適用、メリットは「制約からの解放」
その中でも「開発環境の維持/構築コストの増大」や「テスト環境不足」の問題を解決するために、同事業部では新たにコンテナ技術を取り入れた統合開発環境を採用することを決断した。それぞれどんな問題を抱えており、それをコンテナ技術がどう解決しうると考えたのか。
まず、開発環境においては、開発チームごとに適切なソフトウェアスタックを構築/維持するためのコストが増大していた。特に近年、業務アプリケーションにおいてオープンソースソフトウェア(OSS)の活用が浸透してきたなかで、その構築と維持はいっそう難しいものになっていると広瀬氏は説明する。
「複数チームが同時に開発を進めるため、共通機能に関連する部分では同じバージョンのライブラリを使わなければいけない。ただし(バージョンアップによって)仕様やコンフィグファイルの書式が大きく変わったり、バグフィックスが取り込まれたりするため、なかなか追いつかない。最大で1日数回発生するテスト環境へのデプロイも、基本は手作業であり、そもそも作業が難しいうえに人手も足りていなかった」(広瀬氏)
広瀬氏らは、コンテナ技術を採用し、ソフトウェアスタックをコンテナイメージとして準備することで、テスト環境を丸ごと短時間でデプロイ可能になり、環境構築/維持の問題が解決できると考えた。
もうひとつの「テスト環境不足」も、上述の問題とやや近い部分がある。利用できるテスト環境用のリソース(ハードウェア)が限られているため、プロジェクト規模が大きい場合などには、それぞれのチームが割り当てられた時間帯の中でテスト環境を構築し、テストを実施することを強いられていたという。
これも、コンテナ技術を利用することで解決できる。コンテナ技術により、単一のハードウェア上に複数のテスト環境(ソフトウェアスタック)を独立した形で立ち上げられるので、複数チームが同時に(異なるライブラリバージョン環境下で)テストを実施することもできるようになった。
「コンテナテクノロジーを使うことで、より簡単により早く、より手軽に、なおかつ大きなハードウェア投資をしなくとも、この問題を解決できる。各チームが(テストにかけられる)時間の制約から解放される、というのが一番のメリットだ」(広瀬氏)