連載 :
  インタビュー

【デモ動画あり】実現可能な地に足の着いたDevOpsの第一歩を踏み出そう

2016年5月19日(木)
Think IT編集部

今回は、これまでなかなか導入が進まなかったDevOpsの現実解として、リーズナブルにはじめられる開発〜結合テストの短縮化について紹介する。具体的なイメージを確認できるデモ動画も用意しているので、何から手を付けるのが効果的なのかを考える際にぜひ参考にしていただきたい。

企業間の競争が激化しユーザーのニーズも変化し続ける中、企業のIT部門はこれまで以上にスピードを求められているはずだ。その対策として数年前から“DevOps”が提唱されているものの、その本格活用にはまだまだ課題を抱える企業が多いのではないだろうか。なぜ国内でいっこうにDevOpsが浸透しないのか、その課題は大きく2点あると考えている。本稿では、現状を分析するとともに、DevOpsで効果を出すために最適な第一歩を考えていきたい。

なぜDevOpsを自社に持ち込めないのか

今回は、日本ヒューレット・パッカード(以下、日本HPE)ソリューションコンサルタントの三木 啓一氏に国内でのDevOpsの状況について詳しく伺った。多くのユーザーの話を聞いていると課題は以下の2点に尽きるという。

地に足の着いたDevOpsを解説する日本ヒューレット・パッカード ソリューションコンサルタントの三木氏

1. 組織を横断した変更や標準化など課題も多く、既存の企業文化の変革に踏み切れない

DevOps、すなわち開発サイドと運用サイドが連携していくためには抜本的な改革が必要となる。社内を横断するような組織を作ってもうまく機能しなかったり、そもそも組織の役割を増やしたり変更してこれまでのやり方を変えることに抵抗する勢力もある。また、安易にツールを導入しても特定のプロジェクトでしか使われないなど、多くの現場で頓挫している。

2. プロセスの標準化・自動化がそもそも物理的に困難であるケースが多い

次に挙げられるのが、そもそも物理的に繋げることが難しい、あるいは不可能という課題だ。例えば、セキュリティ上の制約等で、開発環境と本番・運用環境のネットワークセグメントやロケーションが分断されていると、開発~運用までを一気通貫でつなぎ込むことが困難になる。また、国内ではSIerに開発や保守を委託しているケースが多く、欧米の内製化の文化とは異なりコントロールがしづらい状況にあるというのもよく聞く話だ。

ITがビジネスに大きく貢献するために必要とされているDevOpsだが、こうした多くの課題を抱えている中では一足飛びに実現できないのが現実だろう。そこで日本HPEでは、開発~結合テストの領域に区切って短縮化することで社内の課題を解決し、誰もがDevOpsの第一歩を踏み出せるような“リーズナブルなDevOps”のはじめ方を提唱している。

DevOpsの全体像から考えるDevOpsの現実解

リーズナブルなDevOpsがどういうものか詳しく見て行く前に、いちどDevOpsの全体像をおさらいしておきたい。DevOpsの定義はさまざまだが、一般的には「市場投下までのスピードを短縮してユーザー体験とサービスを改善しビジネス上の成果を出す取り組み」といったものだ。日本HPEの資料をもとに説明すると、「計画」「開発」「テスト」「本番」「ユーザー経験」の5つのフェーズを継続し頻繁に繰り返してユーザーからのフィードバックを改善に繋げていくことが重要になる(図1)。

図1:日本HPEが提唱するDevOps全体像:フィードバックを含むエンド・ツー・エンドへの適用

まずは最初の一歩を

リーズナブルなDevOpsではまず第一歩として、手を着けやすく効果が出やすい「開発」と「テスト」のフェーズ、具体的には「継続的インテグレーションとテスト」および「継続的デリバリとデプロイメント」に注力し、開発から結合テストまでを効率化するアプローチを推奨したい。開発の初期段階に注力することで、組織の文化的な差異や環境までを大掛かりに変革する必要がなく、比較的実現性の高いステップだと言える。

また、結合テスト以降のフェーズとして、適用範囲を本番環境まで広げることでより効果を出すことができることも魅力的である。

一連のフローをデモ動画で確認しよう

今回はこの一連のフローを分かりやすく理解できる特別なデモ動画を用意しているのでぜひご覧いただきたい。テーマは開発やテストだが、現場の技術者のみならず、DevOpsに関わる多くの担当者にとっても必見の内容だ。これを見ればDevOps導入の最初の一歩をかんたんに理解できるようになるはずだ。

DevOps解説ムービー公開中。全体版の視聴、ダウンロードはリンク先のページをご確認ください。
【デモ動画】どこから手を付ける? DevOpsの現実的な落としどころ

開発〜結合テスト DevOpsを実現するソリューションと方法論

続いて、動画でも紹介した開発〜結合テストまでのフローをより詳しく順に説明していこう。開発担当はソースコードを変更したら開発環境としてインフラを構築・設定し、その上に変更後のアプリケーションを配置していく。そしてQA担当がテスト環境で機能テストを実施、最後にステージング環境で結合テストを行うといった具合だ。それぞれの担当部門では、個々のタスクを自動化しているケースもあるかもしれない。しかし、全体のフローを考えると、それぞれの担当者の作業の進捗度合いなどから、ボトルネックが発生する。これでは、DevOpsが目指すスピードアップが実現できない。

そのため、HPEのソリューションではコードの変更から、インフラ環境のプロビジョニング、デプロイメント、更に対応するテストまでも自動実行し、開発〜テストフェーズを横断しながらプロセスを一気通貫で管理しているのだ。

ソースコード変更からシステムテスト実施完了まで一気に自動化
DevOpsを実現するHPEのソリューション
  1. インフラのプロビジョニング~デプロイメントとテストの統合 (HPE Codar Software)
  2. テストの自動化(HPE Unified Functional Testing / HPE LoadRunner)
  3. テスト管理 (HPE Application Lifecycle Management)

一つずつ詳しく見ていこう。

1. インフラのプロビジョニング~デプロイメントとテストの統合(HPE Codar Software)

HPEでは、Runbook Automationの分野を10年以上リードしてきたノウハウを元に、マルチベンダー、ヘテロジニアスなリソースプールより、必要なリソースを切り出して提供するテンプレートを多数提供している。また、ChefやPapet、Ansible等の成果物を取り込み一元的に管理したり、CIツールのJenkinsと統合することで、インフラのプロビジョニング~アプリケーションのデプロイメントまで自動化したりできる。

ここで重要なのが、インフラ環境のプロビジョニングやデプロイメント等、個々のタスクを自動化しているだけでなく、最も時間を要するテストも取り込んで一気通貫で自動化している点だ。HPE Codarは、インフラ構築、デプロイメント、アプリケーションのテスト、リリース判定までを行うコントローラの役目を担っている。 リリースバージョン毎に複数作成されるビルドのバージョンを管理し、それぞれどこまでテストが進捗しているのかを可視化することもできる。

Codarによるプロビジョニングの概要

2. テストの自動化(HPE Unified Functional Testing / HPE LoadRunner)

DevOpsを実現するためには機能テストの自動化は必須だと言える。特にリグレッションテストで大部分を自動化しなければならない。HPEでは、UFT(Unified Functional Testing)というツールを用いる。テスト管理で、変更対象の機能に紐づくテストスクリプトをダイレクトに呼び出すことで、ビルドからテスト実行までをシームレスに自動化している。さらに、テスト結果はALM(Application Lifecycle Management)という別のツールにフィードバックすることで、トレーサビリティを管理する。 昨今注目されているモバイルアプリにおけるテストの重要性に関しては以下の記事も参考になるだろう。

モバイルアプリのテスト時における5つの課題とHPEが考えるテスト自動化とその先

3. テスト管理(HPE Application Lifecycle Management)

テストを自動化するにも、実装する機能に対して実施するテストケースがマッチングできなければ、DevOpsのワークフローに取り込むことができない。どの機能を変更したらどのテスト項目を実施すべきなのか、そのテストの結果や検出した不具合を可視化することが重要だからだ。HPE Application Lifecycle Managementでは、こういったトレーサビリティを可視化し、テストケースにマッチする自動化されたUFTなどテストスクリプトを紐付けることができる。 Codarと同様に、既存で使っているOSS等を使っても良い。

テスト管理ツール「ALM」によるトレーサビリティ管理

DevOpsの第一歩へ向けて

開発〜結合テストの短縮化がもたらすメリットは、スピード向上や工数等の削減、あるいは網羅性の確保による品質向上など、ある程度目に見える形で効果を実感しやすい点だ。また、適用方法を工夫すれば短期間で実現することも可能になる。こうして効果が出やすい部分からスタートすることで、今後本格的にDevOpsを導入する際も社内のマネジメントを説得しやすくなる。これまでなかなか導入が進まなかったDevOpsの第一歩としては最適だ。

最後にデモ動画のリンクを再掲しておくのでぜひご覧いただきたい。これを見ればDevOps導入の最初の一歩をかんたんに理解できるようになるはずだ。

“オープンソース技術の実践活用メディア” をスローガンに、インプレスグループが運営するエンジニアのための技術解説サイト。開発の現場で役立つノウハウ記事を毎日公開しています。

2004年の開設当初からOSS(オープンソースソフトウェア)に着目、近年は特にクラウドを取り巻く技術動向に注力し、ビジネスシーンでOSSを有効活用するための情報発信を続けています。クラウドネイティブ技術に特化したビジネスセミナー「CloudNative Days」や、Think ITと読者、著者の3者をつなぐコミュニティづくりのための勉強会「Think IT+α勉強会」、Web連載記事の書籍化など、Webサイトにとどまらない統合的なメディア展開に挑戦しています。

また、エンジニアの独立・起業、移住など多様化する「働き方」「学び方」「生き方」や「ITで社会課題を解決する」等をテーマに、世の中のさまざまな取り組みにも注目し、解説記事や取材記事も積極的に公開しています。

連載バックナンバー

運用・管理インタビュー

本当に役立つプロダクト開発を目指し、ユーザーとなる社内の営業に向き合う

2024/11/13
15分という限られた時間で印象を残すには? KDDIアジャイル開発センターの、アジャイルな営業ツール開発とは
設計/手法/テストインタビュー

現場の声から生まれた国産テスト自動化ツール「ATgo」が切り開く、生成AIを駆使した次世代テスト自動化の最前線

2024/11/6
六元素情報システム株式会社のテスト自動化ツール「ATgo」概要と開発の背景、今後のロードマップについて、同社の石 則春氏と角田 聡志氏に聞いた。

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています