HPが提唱するDevOps実現の確実な切り口はテストツールの革新から
企業におけるICTの活用をコスト削減や期間短縮のためではなくビジネスの革新や競争力強化につなげるために素早くソフトウェアを開発し、実装する。開発と運用を一つのチームと考え素早く回す発想がDevOpsと称されてもてはやされている。
ただ実際は日本の大手企業においては運用は社内の運用チーム、システムやアプリケーションの開発はシステムインテグレータ任せ、または情報システム担当の子会社等が行う場合が多い。米国のケースに見られる開発チームと運用チームの壁を無くして効率を上げるという状況とはだいぶ異なるのが日本の実情だろう。
今回、日本ヒューレット・パッカード株式会社(以降、HP)のシニアコンサルタントである藤井智弘氏に日本におけるDevOpsの実態、HPが推進するDevOps実現のためのツールとサービスについて話を伺った。
まず日本におけるDevOpsの進み具合について教えてください。
まだ日本ではそれほど進んでいないのではと思います。というのは実際にお客様に「DevOpsについて教えてほしい」と声をかけて頂いた時に説明に伺っても実際に来られるのは主に開発サイドの人ばかりで、開発と運用が一緒にサイクルを回すのがDevOpsなんですと説明しても、運用の人にはなかなか届かないんですね。実際に運用の観点からDevOpsをやりたいというお客様は非常に少ないと思います。まだ日本では開発チームが主導して「いかに開発を素早く行うか?」という文脈でツールの調査や試用を始めているという段階なのではと感じています。
それでは日本ではDevOpsは根付かないということなんでしょうか?
アマゾンのようにDevOpsを実践して短期間でどんどん更新をかけていく企業もありますが、一方でそういった要件が求められていない領域というのもあるわけです。その領域ではそれほど頻繁にアプリケーションのデプロイを行う必要はありません。たとえばライフ・クリティカルのように正常に稼働することが厳格に求められるような領域では、十分なアプリケーションのテストや動作確認が必要になりますので、必ずしもDevOps=短期リリースサイクルという図式が正しいとは限りません。バグが起こったら「ごめんなさい」では済まないアプリケーションというのが実際に存在しますし。
そうは言っても開発とテストに対していかにして工程に必要な期間を短縮するのか? というのは常に求められているわけで、その部分にDevOps的な発想やツールを使っていくというのは有効だと思います。ウォーターフォール的な開発手法からアジャイルな開発手法に移っていくというのは大きな流れとしては既に起こっていると思いますので、これからはDevOpsの実践への関心も高まっていくのではないでしょうか。
その場合のHPとしての提案はどういうものになるのでしょう?
HPはクライアントサーバー型のシステムがもてはやされた時代から様々なツールを提供してきました。アジャイルなシステム開発が必要とされている現代においてもそのニーズに対応するアプリケーションライフサイクルマネージメント(ALM)の一環としてツールを提供しています。今回、特にテストのためのツールを先日ラスベガスで行われたカンファレンス(HP Discover 2015)で発表しました。「LeanFT」というツールですが、xUnitやCucumberのようなテストフレームワークと一緒に、アプリケーションのGUI機能テスト(Functional Testing)を行えるようにするツールで、Visual StudioやEclipseなどのIDEのプラグインとして利用できるものになります。使い慣れたツールからWebのGUIまでテストを行うことが可能になりますので、従来の方法よりもより早い段階からテストを回すことが可能になります。
もう一つは、DevOpsの導入を実際に企業の開発チームと運用チームに参加して頂いて検討するワークショップがあります。これは先日のカンファレンスで体験版が行われましたが、実際にHPのコンサルタントがファシリテーションを行いながら、お客様の中でDevOpsを実践していく際の問題点や具体的な進め方を議論していくものです。いわゆるカリキュラムができ上がったトレーニングというものではなく実際にお客様の現状を見据えながら、いかに開発と運用を一体化していけるのか? を一緒に考えるというものですね。これは日本でも既に実施されていますので、今後はツールだけではなくこのワークショップを通じてHPとしてのDevOpsを拡げていければと思います。
LeanFTについてもう少し詳しく教えてください。
HP Unified Functional Testing(以降、UFT)は、GUIおよびAPI(WebサービスやREST API等)の機能テストを自動化するツールです。Windows OSの上で動くスタンドアローンのプログラムであり、専用のUIを持っています。操作の記録やチェックポイント(テスト途中での値の検証等)の設定は極力GUIベースで行われ、自動実行用のスクリプトを生成します。画面上のボタンやフィールドを、「オブジェクト」として認識して独自にリポジトリに記録します。画面上の絶対座標ではなく、「オブジェクトに対する操作」として記録することで、画面レイアウトが変更されても、スクリプトの修正を最小限に抑えることができます。
これに対して、LeanFTはEclipseやVisual Studioで作成されるJavaやC#のテスト用スクリプトの中でGUIテストが記述できるよう、APIライブラリとランタイムの実行エンジンを提供します。UFTの持つ強力なオブジェクト認識やリポジトリ機構をそのまま使ってIDEから実行する形式です。アジャイル開発を行うプログラマーは、xUnit等を使って単体テストレベルから振る舞いテストまで、同じツール環境の中でコードもビジネスロジックも同じ言語で記述するというアプローチを採るケースが増えています。しかし、これまではGUIテストが絡んだ段階で、使い慣れたEclipseやVisual Studioから切り換えて専用のテストツールを使わなければなりませんでした。LeanFTは、このギャップを解決します。従来の開発手法では、ある程度アプリケーションができ上がるとテスト担当者がテストを行うというスタイルであるのに対し、アジャイル開発の場合はプログラマーがテストまで行うことを想定しています。UFTは前者のテスト担当者によるテストを想定しているのに対し、LeanFTは後者のプログラマーによるテストを想定しています。
同じツールの中でGUIまで開発とテストが行えることでより速く開発と進めることができるようになります。
DevOpsというとどうしてもChefやPuppet、Jenkinsのようなオープンソース系のツールがメインになっているように思えますが、HPとして対応はどうなっていますか?
HPとしてもオープンソースにはコミットをしていまして、特にOpenStackなど大きなコントリビューションを行っているプロジェクトもあります。DevOpsのツールに関しても対応を進めていますし、全てを自社の製品で完結させるというのはHPとしてはあまり選択しない方法論なんですね。ただオープンソース系のツールはプログラマーが主に使うことを想定されていることが多いんですが、実際には企業内にはプログラマーではないテストの専任の方もいらっしゃるわけで、HPとしてはそういう人に合った最適なツールを提供することも重要視しています。実際にはHPとしてもHelionというPaaSも持っていますので、その辺りは幅広くソリューションを提供できると考えています。
◇ ◇ ◇
HPの推進するDevOpsは単なるツールの提供だけではなく、適応領域の選択や企業文化に合わせた無理のない導入支援まで幅広い視野で見据えているようだ。これまでツールやPaaSなどのプラットフォームだけがクローズアップされてきたDevOpsだがもう一度、自社の現状を顧みて無理のない応用を考えた時に検討されるべきパートナーだろう。
HPのDevOpsソリューション |
---|
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- モバイルアプリのテスト時における5つの課題とHPEが考えるテスト自動化とその先
- さまざまな開発環境の世界
- コードギャラリーとZend Platformによる統合
- Javaの開発環境Eclipseを使いこなす!
- モバイルアプリの継続的テストフレームワーク、配信後のユーザー体験を測定―Think IT Mobile Developer Seminar 2015レポート
- 徹底解剖!Eclipse
- Zend Studio for Eclipseの紹介
- Visual Studio 2008が変える!デジタルワークスタイル像
- 【デモ動画あり】実現可能な地に足の着いたDevOpsの第一歩を踏み出そう
- CNCFのCTO、Chris氏の「Cloud Native Predictions for 2021 and Beyond」に見る、クラウドネイティブに関する予測【前編】