DevOps実践の鍵は、テスト工程のパラレル化にありDevOps支援ツール紹介【第1回】

ITサービスのリリースサイクルを速めるために、開発と運用が密に連携する「DevOps」という概念が注目を集めている。だが、その実践のためにはさまざまな課題がある。ベンダー各社にDevOps実践の鍵を聞く。

2013年08月23日 08時00分 公開
[内野宏信,TechTargetジャパン]

 昨今、「DevOps」という言葉が企業の関心を集めている。一言でいえば「Dev(開発担当者)とOps(運用担当者)が連携してサービスのリリースサイクルを速める」といった概念だ。市場環境変化の加速に伴い、今、企業には市場の声を迅速に製品・サービスに反映することが求められている。その実現のためには、製品・サービスを速いペースでリリースし、市場ニーズをくみ取りながら改善を重ねるアジャイル開発のアプローチが不可欠となる。DevOpsは、その具体的な手段として注目されているわけだ。

 だが開発部門と運用部門の間には、常に“壁”が立ちはだかってきた。開発部門はビジネス部門の要求に応えるために、スピーディな開発、テスト、リリースを目指す。一方、開発成果物を本番環境にリリースし、安定的に運用しなければならない運用部門としては、開発のスピードよりも成果物の品質を重視したい。こうした相反するミッションを持つ両部門の利害をどう捉え、どう連携させればリリースサイクルを加速させ、ビジネスの進展につなげられるのか?

 こうしたDevOps実践の課題について、近年、複数のベンダーがそれぞれの考え方に基づいてDevOpsを支援する製品・サービスを提供している。本連載ではベンダー各社の製品・サービスを通じてDevOpsトレンドの今を探っていく。今回はCA TechnologiesのDevOps支援製品群を紹介する。

DevOps実践、4つのポイント

 「DevOpsというと、アプリケーションのデリバリ部分に注目する向きも多い。だが弊社では、開発側、運用側のニーズを担保しながらリリースサイクルを速めるとともに、アプリケーションライフサイクル全般をセキュアに運用することで、ビジネスの進展に確実につなげていくことをDevOpsと解釈している」

 こう話すのは、CA Technologies LISA事業部 事業部長の佐藤輝幸氏だ。同社ではDevOpsを考える上でアプリケーションの企画、開発、デリバリ、運用といったライフサイクル全般を視野に入れ、その実践の鍵として「合理的なアプリケーション企画・開発」「迅速・高品質なデリバリ」「SA(Service Assurance)」「安全性の担保」という4つのポイントを重視。これらを支援する以下の4製品をDevOps支援ソリューションとして位置付けている。

  • 「CA Clarity PPM」:プロジェクト&ポートフォリオ管理ツール
  • 「CA Application Performance Management」:アプリケーション性能管理ツール
  • 「CA LISA Service Virtualization」:サービス仮想化ツール
  • 「CA IdentityMinder」「CA ControlMinder」「CA SiteMinder」「CA AuthMinder/RiskMinder」:セキュリティツール

 このうちDevOps実践の核となるのは、SAを支援する「CA Application Performance Management」(以下、CA APM)と、迅速・高品質なデリバリを実現する「CA LISA Service Virtualization」(以下、CA LISA SV)だという。

ALT CA Technologiesの佐藤輝幸氏

 CA APMはアプリケーション性能問題の原因特定を支援する製品。従来のように、サーバ、ネットワークといった各システム構成要素の監視結果を組み合わせてアプリケーションの性能を管理するスタイルでは、原因箇所の特定にどうしても時間がかかってしまう。CA APMはエンドユーザーの視点でアプリケーションのパフォーマンスを監視する、従来とは逆の監視アプローチをとる。これにより全システム構成要素の稼働状況を統合的に監視し、原因箇所の迅速な特定を可能としている。

 「ビジネスへの貢献を考えると、アプリケーションを本番環境にリリースした後、何か問題があれば迅速に原因を特定し、開発部門にフィードバックして改修を依頼する必要がある。まずはこうした“ネガティブフィードバック”を迅速に行える環境を築き、リリース後のアプリケーションの安定運用を狙うことがDevOpsの1つのポイントと考える」

 とはいえ、リリースサイクルを加速させてリリース回数を増やせば、それに比例してネガティブフィードバックも増えることになる。従って、ネガティブフィードバックは極力抑える方が望ましい。そのためにはアプリケーションの品質をスピーディかつ確実に担保できるテストの仕組みが不可欠となる。この実現を支援するのがCA LISA SVだ。

テスト工程の制約をどう解消するか

 佐藤氏は「テストの迅速化・確実化を阻害する要因」として、以下の3つを挙げる。

  • 連携先システムに時間的なテスト利用制約があり、十分な連携テストが行えない「利用不可制約」
  • 連携先システムが未完成のために結合テストに待ち時間が発生する「未完成制約」
  • コスト事情によりクラウドなど従量課金ベースの外部サービスとの連携テストが十分に行えない「コスト制約」

 「これらによって、例えばテストAが終わるまでテストBはできない、といった具合にテスト計画にはどうしても一定の待ち時間が発生する。納期までの時間やコストが足りないために、十分な品質検証が難しい状況も生まれやすい。そこでCA LISA SVは連携先システムの仮想サービスを生成することで、テスト作業の時間・コスト面での制約を解消し、テスト作業のパラレル化による工期短縮を促進する」

ALT 図1 テスト工程の時間・コスト面の制約を解消し、テスト作業のパラレル化を促す(出典:CA Technologies)

 具体的には、「仮想サービス生成機能」により、連携先システムの振る舞いをエミュレートして仮想サービスを生成。これにより連携先システムの実体がなくてもテストを可能とする仕組みだ。仮想サービスの生成方式には以下の2種類がある。

  • 動的な生成:連携先システムが既にある場合、連携先システムとのリクエスト/レスポンス通信の内容をCA LISA SVでキャプチャーし記録することで仮想サービスを自動的に生成
  • 静的な生成:連携先システムが開発途中などでまだなく、トラフィックをキャプチャーできない場合に、仕様書やWSDL(Web Service Definition Language)、トラフィックログなどから静的に仮想サービスを生成
ALT 図2 仮想サービスのモデル編集画面

 「仮想サービスを使ってテストを行うことで、単体テストの段階で結合テスト、結合テストの段階で総合テストといった具合に、テストをパラレル化し、テスト計画全体を前倒しすることができる。また従来、連携先システムがある場合は、テストにおいて手作りのスタブ(下位モジュールを代替するダミーモジュール)を使う例が多かった。しかしスタブ開発はコーディングが必要な上、開発の品質も求められる。このためスタブの作り直しが発生したり、本来コンポーネント開発に注力すべきスタッフがスタブ開発に奪われたりしてしまう例も少なくなかった。CA LISA SVはそうした非効率を解消し、テストのスピードと品質を向上させる」

ALT 図3 生成された仮想サービスのトランザクション編集画面

 この他、「仮想サービスメンテナンス」として、2つの機能を備える。1つは、仮想サービス生成後にオリジナルのシステムに仕様変更が生じても、仮想サービスとオリジナルの差異を自動的に検出・修正する「セルフヒーリング」機能。もう1つは、一度生成した仮想サービスに任意のデータを追加することで、1つの仮想サービスをベースにさまざまなテストシナリオを実行できる「仮想サービス カスタマイズ」機能だ。

 「例えば10倍の負荷が掛かった状態など、仮想サービスにさまざまな状況を想定した数値を設定してテストすることもできる。受注システムのテストなら『ある一定のタイミングで、システムの負荷が急激に高まる』ことを想定し、負荷の状態、負荷が高まる時間などをCA LISA SVに設定してテストするといった具合だ。つまりテスト環境と本番環境の違いによるアプリケーションの品質担保の問題解決にも寄与する」

 なお、生成した仮想サービスはWebベースのGUI画面による簡単な操作で、仮想サービス実行環境に配備可能とし、ユーザーのスキルの問題にも配慮した。仮想サービス実行環境を、用途や負荷に応じてマルチサーバ構成にスケールアウトできる点も特徴だという。

DevOpsは『時間のゆとりと心のゆとり』をもたらすもの

 CA LISA SVは海外では2007年に発表。北米を中心に金融、保険、通信、小売など多数の大規模企業が導入しているという。日本国内でも2012年10月の発表以来、着実に導入企業を伸ばしつつあるそうだ。今後は2012年に買収したアプリケーションデリバリツールベンダー、Nolioのテクノロジを使った、リリース作業を自動化・無人化する製品「CA LISA Release Automation」の提供を予定(2013年8月現在、発表時期は未定)。DevOps支援製品のポートフォリオを充実させる構えだ。

 佐藤氏は、「もちろん人や組織、プロセスの在り方も考慮しなければDevOpsの実践は難しい。だが、ツールはリリースサイクルの加速を阻むさまざまな制約を解消する上で、非常に大きな鍵を握っている。弊社では、DevOpsとは開発・運用に携わる人たちに『時間のゆとりと心のゆとり』をもたらすものであり、それらがアプリケーションの品質、ビジネス価値を向上させる源になる、と考えている。今後もこうした考え方に基づいて、各社個有の課題に応える形で支援製品を提案していきたい」と話している。

ITmedia マーケティング新着記事

news136.png

ジェンダーレス消費の実態 男性向けメイクアップ需要が伸長
男性の間で美容に関する意識が高まりを見せています。カタリナ マーケティング ジャパン...

news098.jpg

イーロン・マスク氏がユーザーに問いかけた「Vine復活」は良いアイデアか?
イーロン・マスク氏は自身のXアカウントで、ショート動画サービス「Vine」を復活させるべ...

news048.jpg

ドコモとサイバーエージェントの共同出資会社がCookie非依存のターゲティング広告配信手法を開発
Prism Partnerは、NTTドコモが提供するファーストパーティデータの活用により、ドコモオ...