IT編集部Tweet今回は、これまでなかなか導入が進まなかったDevOpsの現実解として、リーズナブルにはじめられる開発〜結合テストの短縮化について紹介する。具体的なイメージを確認できるデモ動画も用意しているので、何から手を付けるのが効果的なのかを考える際にぜひ参考にしていただきたい。企業間の競争が激化しユーザーのニーズも変化し続ける中、企業のIT部門はこれまで以上にスピードを求められているはずだ。その対策として数年前から“DevOps”が提唱されているものの、その本格活用にはまだまだ課題を抱える企業が多いのではないだろうか。国内でいっこうにDevOpsが浸透しないのか、その課題は大きく2点あると考えている。本稿では、現状を分析するとともに、DevOpsで効果を出すために最適な第一歩を考えていきたい。啓一氏に国内でのDevOpsの状況について詳しく伺った。多くのユーザーの話を聞いていると課題は以下の2点に尽きるという。組織を横断した変更や標準化など課題も多く、既存の企業文化の変革に踏み切れないDevOps、すなわち開発サイドと運用サイドが連携していくためには抜本的な改革が必要となる。社内を横断するような組織を作ってもうまく機能しなかったり、そもそも組織の役割を増やしたり変更してこれまでのやり方を変えることに抵抗する勢力もある。安易にツールを導入しても特定のプロジェクトでしか使われないなど、多くの現場で頓挫している。プロセスの標準化・自動化がそもそも物理的に困難であるケースが多い次に挙げられるのが、そもそも物理的に繋げることが難しい、あるいは不可能という課題だ。セキュリティ上の制約等で、開発環境と本番・運用環境のネットワークセグメントやロケーションが分断されていると、開発~運用までを一気通貫でつなぎ込むことが困難になる。国内ではSIerに開発や保守を委託しているケースが多く、欧米の内製化の文化とは異なりコントロールがしづらい状況にあるというのもよく聞く話だ。ITがビジネスに大きく貢献するために必要とされているDevOpsだが、こうした多くの課題を抱えている中では一足飛びに実現できないのが現実だろう。そこで日本HPEでは、開発~結合テストの領域に区切って短縮化することで社内の課題を解決し、誰もがDevOpsの第一歩を踏み出せるような“リーズナブルなDevOps”のはじめ方を提唱している。DevOpsの全体像から考えるDevOpsの現実解リーズナブルなDevOpsがどういうものか詳しく見て行く前に、いちどDevOpsの全体像をおさらいしておきたい。DevOpsの定義はさまざまだが、一般的には「市場投下までのスピードを短縮してユーザー体験とサービスを改善しビジネス上の成果を出す取り組み」といったものだ。テスト」「本番」「ユーザー経験」の5つのフェーズを継続し頻繁に繰り返してユーザーからのフィードバックを改善に繋げていくことが重要になる(図1)。図1:日本HPEが提唱するDevOps全体像:フィードバックを含むエンド・ツー・エンドへの適用まずは最初の一歩をリーズナブルなDevOpsではまず第一歩として、手を着けやすく効果が出やすい「開発」と「テスト」のフェーズ、具体的には「継続的インテグレーションとテスト」および「継続的デリバリとデプロイメント」に注力し、開発から結合テストまでを効率化するアプローチを推奨したい。開発の初期段階に注力することで、組織の文化的な差異や環境までを大掛かりに変革する必要がなく、比較的実現性の高いステップだと言える。結合テスト以降のフェーズとして、適用範囲を本番環境まで広げることでより効果を出すことができることも魅力的である。一連のフローをデモ動画で確認しよう今回はこの一連のフローを分かりやすく理解できる特別なデモ動画を用意しているのでぜひご覧いただきたい。テーマは開発やテストだが、現場の技術者のみならず、DevOpsに関わる多くの担当者にとっても必見の内容だ。これを見ればDevOps導入の最初の一歩をかんたんに理解できるようになるはずだ。DevOps解説ムービー公開中。全体版の視聴、ダウンロードはリンク先のページをご確認ください。続いて、動画でも紹介した開発〜結合テストまでのフローをより詳しく順に説明していこう。開発担当はソースコードを変更したら開発環境としてインフラを構築・設定し、その上に変更後のアプリケーションを配置していく。QA担当がテスト環境で機能テストを実施、最後にステージング環境で結合テストを行うといった具合だ。それぞれの担当部門では、個々のタスクを自動化しているケースもあるかもしれない。全体のフローを考えると、それぞれの担当者の作業の進捗度合いなどから、ボトルネックが発生する。これでは、DevOpsが目指すスピードアップが実現できない。そのため、HPEのソリューションではコードの変更から、インフラ環境のプロビジョニング、デプロイメント、更に対応するテストまでも自動実行し、開発〜テストフェーズを横断しながらプロセスを一気通貫で管理しているのだ。Management)一つずつ詳しく見ていこう。Automationの分野を10年以上リードしてきたノウハウを元に、マルチベンダー、ヘテロジニアスなリソースプールより、必要なリソースを切り出して提供するテンプレートを多数提供している。ChefやPapet、Ansible等の成果物を取り込み一元的に管理したり、CIツールのJenkinsと統合することで、インフラのプロビジョニング~アプリケーションのデプロイメントまで自動化したりできる。ここで重要なのが、インフラ環境のプロビジョニングやデプロイメント等、個々のタスクを自動化しているだけでなく、最も時間を要するテストも取り込んで一気通貫で自動化している点だ。Codarは、インフラ構築、デプロイメント、アプリケーションのテスト、リリース判定までを行うコントローラの役目を担っている。リリースバージョン毎に複数作成されるビルドのバージョンを管理し、それぞれどこまでテストが進捗しているのかを可視化することもできる。LoadRunner)DevOpsを実現するためには機能テストの自動化は必須だと言える。リグレッションテストで大部分を自動化しなければならない。Testing)というツールを用いる。テスト管理で、変更対象の機能に紐づくテストスクリプトをダイレクトに呼び出すことで、ビルドからテスト実行までをシームレスに自動化している。Management)という別のツールにフィードバックすることで、トレーサビリティを管理する。昨今注目されているモバイルアプリにおけるテストの重要性に関しては以下の記事も参考になるだろう。Management)テストを自動化するにも、実装する機能に対して実施するテストケースがマッチングできなければ、DevOpsのワークフローに取り込むことができない。どの機能を変更したらどのテスト項目を実施すべきなのか、そのテストの結果や検出した不具合を可視化することが重要だからだ。Managementでは、こういったトレーサビリティを可視化し、テストケースにマッチする自動化されたUFTなどテストスクリプトを紐付けることができる。Codarと同様に、既存で使っているOSS等を使っても良い。テスト管理ツール「ALM」によるトレーサビリティ管理DevOpsの第一歩へ向けて開発〜結合テストの短縮化がもたらすメリットは、スピード向上や工数等の削減、あるいは網羅性の確保による品質向上など、ある程度目に見える形で効果を実感しやすい点だ。適用方法を工夫すれば短期間で実現することも可能になる。して効果が出やすい部分からスタートすることで、今後本格的にDevOpsを導入する際も社内のマネジメントを説得しやすくなる。これまでなかなか導入が進まなかったDevOpsの第一歩としては最適だ。最後にデモ動画のリンクを再掲しておくのでぜひご覧いただきたい。これを見ればDevOps導入の最初の一歩をかんたんに理解できるようになるはずだ。DevOps解説ムービー公開中。全体版の視聴、ダウンロードはリンク先のページをご確認ください。スローガンに、インプレスグループが運営するエンジニアのための技術解説サイト。開発の現場で役立つノウハウ記事を毎日公開しています。2004年の開設当初からOSS(オープンソースソフトウェア)に着目、近年は特にクラウドを取り巻く技術動向に注力し、ビジネスシーンでOSSを有効活用するための情報発信を続けています。BooksシリーズでのWeb連載記事の電子書籍化など、Webサイトにとどまらない統合的なメディア展開に挑戦しています。連載バックナンバーシステム開発インタビューCircleCIのCTOがクラウド時代のCI/CDについて語る2020/1/14CI/CDソリューションを提供するCircleCIのCTOにインタビュー。クラウド時代のCI/CD、テストインプロダクションなどについて語ってもらった。Relicの始まりと新しいプラットフォームなどについて解説を行った。続きを読むクラウドインタビューLinkerdを開発するBuoyantがサービスメッシュの始まりと未来を語る2019/12/25CNCFがホストするサービスメッシュであるLinkerdの開発をリードするBuoyantのCEOとCTOにインタビューを行った。ITでは、より付加価値の高いコンテンツを会員サービスとして提供しています。ITのWebサイトにログインすることでさまざまな限定特典を入手できるようになります。VeloCloudが選ばれる理由2019/12/26クラウドインタビューLinkerdを開発するBuoyantがサービスメッシュの始まりと未来を語る2019/12/25ネットワークPRSD-WANとはなにか。三井住友銀行にデザイナー職がいる理由。HCDプロセスを活かしたものづくり2019/12/17全文検索エンジンによるおすすめ記事モバイルアプリのテスト時における5つの課題とHPEが考えるテスト自動化とその先アプリケーションライフサイクルの最適化がモバイルアプリの企業価値を高めるHPが提唱するDevOps実現の確実な切り口はテストツールの革新から日本HP、モバイル対応機能を拡張した自動機能テストツールの新バージョンを発表アプリの差別化を図るにはインフラ監視だけでは不十分。誠にありがとうございます。下記日程にて、メンテナンスを行います。ご理解いただけますよう、お願い申し上げます。状況により前後する場合がございます。※上記以外の会員機能(サイトへのログインなど)はご利用いただけます。VeloCloudが選ばれる理由SD-WANとはなにか。Linuxエンジニア育成への思いF5とNGINXの組み合わせで、サービス公開をよりセキュアに。ITがお届けするポッドキャストです。