IBM流「DevOps」でシステム開発はどう進化するのか?

今やソフトウェア開発の世界において、グローバルでの企業競争を勝ち抜くためには、スピード、コスト、クオリティなどあらゆる面で他社を凌駕しなければならない――。そうした中で注目を集めているのが、開発担当者と運用担当者が連携し、アプリケーションのリリースサイクルの短期化を目指す「DevOps」だ。今後企業が運用開発現場をあるべき姿に変貌させるべく、日本IBMが長年にわたり培った知見をお伝えしていく。

» 2013年10月02日 10時00分 公開
[PR/ITmedia]
PR

開発生産性を高めるためのIBM流DevOpsとは?

 開発担当者と運用担当者が連携し、アプリケーションのリリースサイクルの短期化を目指す開発方法論「DevOps」。この新たなテーマへの関心が近年になり急速に高まっている。背景には、経営環境の変化がさらに加速する中、業務基盤であるアプリケーションの新規開発や変更をより早いペースで可能にするアジャイル開発の重要性があらゆる企業で増していることがある。つまり、開発と運用のあり方を見直すことが企業の生き残りの重要な鍵になっているのだ。

日本IBM ソフトウェア事業 ラショナル事業部 理事 事業部長の渡辺公成氏 日本IBM ソフトウェア事業 ラショナル事業部 理事 事業部長の渡辺公成氏

 もっとも、IT部門はこれまでにも、「開発スピード」と「安定性」の相反するミッションを持つ開発部門と運用部門の間の“壁”を突き崩すことで、開発生産性の向上に取り組んできた。「それらとDevOpsの一番の違いは、“システム”ではなく“ビジネス”の視点でアジャイル開発を試みている点だ」と解説するのは、日本IBMのソフトウェア事業 ラショナル事業部で理事 事業部長を務める渡辺公成氏である。

 「システム整備の狙いは競争力の強化にある。ならば、直接的なユーザーである事業部門、さらに顧客も巻き込み、システムが要求に応えられているかを検証することが不可欠だ。我々の考えるDevOpsは、ユーザーからのフィードバックを基にアジャイル開発を指向している点で、開発と運用の連携にとどまっていた従来からの取り組みとは一線を画している」(渡辺氏)

 ただし、その実践までの道のりは決して平たんではないという。現状、開発と運用の双方で、多くの業務が“人”を中心に行われ、業務標準化も依然として道半ばであることから、効率化にも限界がある。また、アプリケーション品質の確保のためには入念なテストは不可欠だが、そのことが結果的に、リリース期間を長引かせる事態を招いている。

 日本IBMでは、ソフトウェア開発ツール「IBM Rational」と、運用管理ソフトウェアの「IBM Tivoli(現Cloud & Smarter Infrastructure)」との連携強化を通じ、ユーザーを巻き込んだ形での開発生産性の向上を側面から支援してきた。そんな同社が、企業におけるDevOpsの推進を支援すべく、2013年8月から提供を開始したのが、アプリケーションリリースを自動化および管理する製品「IBM UrbanCode」である。

リリースプロセスを可視化しIT部門の連携を促進

 UrbanCodeはアプリケーションの統合テストからステージング、本番環境への実装までの一連のプロセスを自動化し、いわゆる継続的なデリバリを実現するためのツールと位置付けられる。アプリケーションのリリース自動化により、大幅な工数削減、手作業によるエラーを防止し、リリース作業の監査対応を強化する「IBM UrbanCode Deploy」と、開発したアプリケーションの混在環境へのリリースを計画から実行、実績まで包括的に管理する「IBM UrbanCode Release」で構成される。

 その特徴としてまず挙げられるのが、リリースプロセスを極めて容易に定義でき、その可視化が図れることだ。

 従来のリリース管理ツールは利用に際してスクリプトを記述することが求められたため、専門知識を備えた人材配置が必要とされるとともに、担当者以外には記述内容、つまりリリースプロセスの理解が困難だった。対して、UrbanCodeではBPMツールと同様に、「Webサーバの起動」、「アプリケーションのインストール」など多様なテンプレートが用意されており、マウス操作だけでプロセス定義が可能。その内容もGUIにより把握が容易であり、プロセスの可視化を通じて、開発と運用が互いに協力しあえる環境整備につなげられるという。

 日本IBMのソフトウェア事業 ラショナル事業部でITテクニカル・セールス&ソリューションズ部長を務める永井修氏は、「アプリケーションの多様化に伴い、リリースのためのスクリプトも“肥大化”“スパゲッティ化”が加速し、メンテナンスし続けるのは容易ではない。だが、UrbanCodeでは専門知識がなくとも手順を修正できることから、この問題への抜本的な解決が図られており、ビジネス変化への柔軟な対応が可能になったのだ」と強調する。

複雑化する環境における並行プロジェクトも支援

 リリースの自動化にあたって懸念されるのがアプリケーション品質である。自動化を通じて確かに人手作業の大幅な削減が見込まれるものの、品質確認がおろそかになればソフトウェアの質の低下を招き、本番稼働後のトラブルを引き起こしかねない。

日本IBM ソフトウェア事業 ラショナル事業部 ITテクニカル・セールス&ソリューションズ部長の永井修氏 日本IBM ソフトウェア事業 ラショナル事業部 ITテクニカル・セールス&ソリューションズ部長の永井修氏

 この問題に対するUrbanCodeの“解”が、統合テストからステージング、本番までの各段階で品質をチェックする「セキュリティゲート機能」である。同機能は、「単体テストをクリア」、「ビルドエラーなし」など、事前定義されたクライテリアによってソフトウェア品質を検証段階でチェックするもの。検証基準に満たない場合には次の段階への移行を止めることで、リリースの安全性を確保できる。

 「自動化による品質面の不安を指摘する声は少なくない。だが、各段階での検証によって、基準以下のソフトウェアのリリースを的確に制御し、品質を確実に担保することが可能になるわけだ」(永井氏)

 一方で、システム環境が複雑さを増すにつれ、リリース管理の業務負荷も高まる。いつ、どの環境に、どのアプリケーションをリリースするか。これらの情報はこれまで、エクセルなどを利用しつつ人手で管理されてきたが、アプリケーションやプラットフォームがさらに多様化する中で、人手での管理はもはや限界に近づいている。

 UrbanCodeにはそれらの情報の管理機能も実装。管理画面を介したリリース計画、さらに現状のリアルタイム把握を通じ、リリース環境における問題のいち早い発見も実現できる。リリース状況が共有されることで、管理者の指示を仰ぐことなく、現場主導で作業判断が下せるのだ。

 「例えば、2014年1月のNISA(小額投資非課税制度)の開始を控え、証券会社はアプリケーションの変更を進めているが、システムの構造上、ホスト系と分散系の同時リリースが必要だったり、プラットフォームが複数にわたるケースも少なくない。高度なリリース管理機能を備えたUrbanCodeは、そうした複雑な環境の見える化を実現し、安全に同時並行で作業を進めることが可能になるわけだ」(渡辺氏)

クラウドとモバイルにも対応

 IBMはDevOpsをグローバルで注力する事業の1つとして位置付け、同社の多彩な製品/サービス群と組み合わせたソリューション提供を推進している。その適用領域として同社が期待を寄せるのがクラウドだ。

 IBMのクラウド戦略の柱と言えるのが、オープンソースのクラウド基盤ソフトウェア「OpenStack」で構築された基盤上での、仮想イメージ/パターンによるクラウド管理の共通化である。仮想イメージ/パターンはIaaSとPaaSの情報群をそれぞれカタログ化したものだが、その利用を通じて、プライベートやパブリック、ハイブリッドなど、クラウドの種類を問わず展開が自動化されるとともに、クラウド上で稼働するアプリケーションの可搬性を確保しつつ、さまざまなクラウド間での連携や移行が可能となる。

 オープンクラウド基盤ソフトウェア「IBM SmarterCloud Orchestrator」や統合型システムの「IBM PureSystems」はその実現に向け鍵となる製品だが、UrbanCodeはすでに両製品との連携を実現済みだ。

 「SmarterCloud Orchestratorにつながることで、UrbanCodeが管理するアプリケーションをクラウドへ自動展開することが可能となる。将来的に、OpenStackに対応した環境のすべてで同様のデプロイを実現する考えだ」(渡辺氏)

 同様に、モバイル領域での適用も積極化させている。スマートデバイスの普及を背景に企業でのモバイルアプリの利用が急速に進んでいるが、アクセス端末が多岐にわたることから、開発におけるデバイステストはあらゆる企業にとって頭痛の種。また、決済システムと連携するといった高度なシステム開発では、検証環境の整備に手を煩わされることもしばしばだ。

 この問題に対応すべく、UrbanCodeは「IBM Rational テスト仮想化/自動化ソリューション」やMEAP(Mobile Enterprise Application Platform)ソフトウェアの「IBM Worklight」との連携を推進。仮想環境でのバックエンドを含めたシステム全体の検証や、Android、iOS、Windows Phoneなど、多様な端末での動作検証を効率的に行える環境を整備した。

 「モバイルアプリのトラフィックは増加する一方だ。そのため、リアルでのテスト環境が用意されるのを待っていては、いつまでも開発に着手できない。そこで、本番前の事前テストのために、仮想環境への関心が高まっており、UrbanCodeはその点への配慮も払っているのだ」(渡辺氏)

オープンソース対応でツールの“共存”を目指す

 IBMではアジャイル開発の流れが加速する中、ソフトウェア開発におけるコラボレーションを支援するためのテクノロジープラットフォームである「Jazz」の強化に取り組んできた。そこでの基本コンセプトは、各コンポーネントをつなぐSOAのアプローチによる開発環境への柔軟な取り込みである。

 既に企業で各種の開発ツールが利用されていることを踏まえ、オープンソースへの対応を通じてそれらとの連携も図っている。CI(継続的インテグレーション)ツールとして広く利用されている「Jenkins」やシステム統合フレームワークである「Chef」との連携が実現されており、UrbanCodeで前者のビルドの結果確認や、後者のスクリプトの呼び出しも可能になっている。

 「開発ツールは世の中に数多く存在する。それらと適宜、連携しつつ最適な開発環境の実現を目指すのがIBMの基本的な考え。複数ベンダーの製品が混在する環境にあって、プロジェクト管理を的確に行えるよう、OSLC(Open Services for Lifecycle Collaboration)をベースに情報連携を目指す次世代プロジェクト管理データ交換アーキテクチャ協議会を国内ベンダーと共同で推し進めているのもまさにそのためなのだ」(渡辺氏)

 日本IBMは2013年10月28日、DevOpsが実現する各種ソリューションや、ソフトウェアにより実現されるイノベーションの道筋を提示するイベント「Innovate2013 The IBM Technical Summit」を開催する。同イベントでは、“爆速”で知られるヤフー株式会社のリーン・スタートアップの取り組みについて、同社CMO(Chief Mobile Officer)室の河合太郎氏が講演するほか、次世代プロジェクト管理データ交換アーキテクチャ協議会の具体的な成果紹介など、DevOpsの理解につながる多彩なセッションが予定されている。DevOpsに取り組み、IT部門が先頭に立って企業の競争力強化につなげるためにも、ぜひとも足を運んでおきたいイベントだ。

Innovate2013

※終了した「Innovate2013」の講演資料のダウンロードは、TechTargetジャパン上に開設しております「IBM DevOps情報ポータル」から可能です。資料ダウンロードの際はアイティメディアIDの取得が必要となります。


Copyright © ITmedia, Inc. All Rights Reserved.


提供:日本アイ・ビー・エム株式会社
アイティメディア営業企画/制作:ITmedia エンタープライズ編集部/掲載内容有効期限:2013年11月1日

Innovate2013 関連リンク

Innovate2013は終了いたしました。講演資料のダウンロードはTechTargetジャパン「IBM DevOps情報ポータル」から可能です。

関連ホワイトペーパー

企業が競争力を向上させるために、今後必須と考えられている「DevOps」。しかし開発と運用が緊密に連携することは決して容易ではなく、またDevOpsの精神が必要なのはその2チームだけにとどまらない。企業がDevOpsを実践するために、どんなステップが必要となるのか。

関連リンク

関連特集