開発と運用が連携してアプリケーションのリリースサイクルを速め、ライフサイクル全体を加速する――この実現のために、アジャイル開発など開発プロセスを加速させる動きはあっても、その後のテスト、リリースに関しては依然として人手で行われているケースが多い。
日本HPでは、このテスト、リリースプロセスの効率化にフォーカス。2013年5月30日、アプリケーションライフサイクル管理製品の最新版「HP Application Lifecycle Management 11.5」(以下、HP ALM)と、開発、テスト、本番環境へのデプロイといった一連のリリースプロセスを管理する「HP Continuous Delivery Automation」(以下、HP CDA)を発表した。
HP ALMはソフトウェアの品質管理ツール。コードの品質やトレーサビリティを担保しながら、要件管理、開発、テスト、運用といったアプリケーションライフサイクル全体を管理する機能を持つ。これにテスト環境を管理する「ラボマネジメント オートメーション」と呼ぶ機能を実装している点がポイントだ。
近年はWebアプリだけではなく、モバイルアプリ向けのテストも必要など、テストの種類が増えている。また、各プロジェクトチームが個別にテスト環境を作り、個別にテストを行っている上、使っているテストツールもプロジェクトごとに異なるなど、テストそのものが多様化している。また、負荷テストでは負荷生成用のマシンがテストマシンとは別に必要となるが、負荷テストは頻繁に行うものではない。このため、普段は負荷生成マシンを遊ばせており、複数のプロジェクトが終盤を迎えると、今度は負荷生成マシンが足りなくなるなど、時間、リソースの無駄が生じている例も多い。
そこでラボマネジメント オートメーション機能では、テストツール、テスト環境、テストリソースの組み合わせを「テストラボ」として定義、パターン化して一元管理することを可能とした。これにより、手作業による環境構築、維持管理のミスやロスを排除する仕組みだ。また、複数のプロジェクト間でテストラボを共有可能としているため、テスト環境の再利用効率、リソース使用効率の向上も狙えるという。
一方、HP CDAはリリースプロセスに起因する問題を解決するツールだ。具体的には、アプリケーションサーバ、データベースといった各システム構成要素を論理的にモジュール化し、各用途に向けて構築した環境を、モジュールの組み合わせ「モデル」として管理できる。また、アプリケーションのインストール手順やスクリプトなども1モジュールとして「モデル」に組み込むことができる。これにより、環境構築を迅速に行える他、開発と運用のコミュニケーションロスに起因する環境の不整合や作業ミスを未然に回避できるという。
また、リリースサイクルを安全に速めるためには、開発、品質保証テスト、ステージングテスト、本番環境へのデプロイなど、リリースプロセスを構成するフローを順守することもポイントになる。そこでHP CDAではリリースプロセスを統制するフローも定義可能とした。同時にCDAから同社の運用自動化製品「HP Operations Orchestration」などに指示を出し、各ステップで必要な環境を「モデル」に基づいて自動構築したり、ラボマネジメント オートメーション機能と組み合わせて、テスト環境の構築、テスト対象アプリのデプロイ、テスト実行を全て自動化することもできるという。
このように、テスト・リリースプロセスの標準化・自動化を重視している点が同社の特徴といえる。詳しい内容は以下の記事でまとめられている。
Copyright © ITmedia, Inc. All Rights Reserved.