ビジネス環境の変化がもたらす「新しいDevOps」の在り方
DevOpsのプラクティスといえば、CI(Continuous Integration)や CD(Continuous Delivery)、またクラウドを使った「Infrastracture as code」などがキーワードとして挙げられるが、日本アイ・ビー・エム(以下、日本IBM)でRational製品のテクニカルセールスに携わる黒川氏は「最近、DevOpsの考え方が少し変わってきた」と語る。
黒川氏は、そのキーワードとして「ワクワク感」と「ユーザー価値」の2つを挙げる。開発者が「何のためにこのアプリを作るのか」を実感しつつ、「ユーザーのために何をするのか」を考えながら開発に取り組むことで、プロジェクトを盛り上げ、成果を出していく。これにより、企業と開発者の価値を高めるというわけだ。それは、このセッションで黒川氏が紹介する2つの事例に共通する事柄だという。
事例を紹介する前に、黒川氏はDevOpsの現在の定義の確認と今後の変化について、資料から分析を行った。IBMが企業のCEOを対象に実施したインタビューによると、企業に最も影響を与える外部要因として、「テクノロジー」を挙げるCEOが急激に増えているという。2004年では「テクノロジー」が6位であったことを鑑みると、当時のITはコストセンターとみなされていることが明らかだ。そして2013年には、迅速にビジネスを進め、競争力を高める存在として認識されていることがわかる。黒川氏は「技術者にとって、今は新しいことに取り組みやすい時期にある」と語る。
一方、アジャイル開発の普及度をIBMが調査したところ、2009年には取り組み中を含めて30%台だったが、2013年には80%近くまで上昇している。こうした急速な普及について、黒川氏は「様々な成功事例が紹介されると同時に、失敗事例が出てきたことで、アンチテーゼとなっているのが大きい」と推測し、「DevOpsにも同じ流れが来るのではないか」と語る。
黒川氏は、DevOpsで最も知られた「ハートの絵」を示し、価値観や方向性の異なるメンバーが「ビジネスの目的」のもと、一丸となってプロジェクトを進める大切さを改めて紹介。CIやCDはプラクティスとして知られ、実際に様々なプロジェクトで活用されてきた。
しかし、2009年と2013年では、DevOpsを取り巻く環境が大きく変わった。DevOpsは、ビジネス変化に俊敏に対応するITテクノロジーとして、大いに期待されているという。また、ビジネス変化は「SMACS(Social/Mobile/Analytics/Cloud/Security)」にあるとした。
この変化は、事業部門がソーシャルやモバイルを「儲かるもの」と認知し始めたことに起因する。つまり、自分たちがユーザーとして触っているから実感を得ているというわけだ。となれば、もはやDevOpsは開発と運用の連携にとどまらない。ユーザーも含めて仮説の構築と検証を繰り返し、開発速度を高めることが必要となる。
そしてもう1つ、迅速で的確なシステム開発を実践する上で重要なカギとして、エリック・リース氏の著書で示された「リーンスタートアップ」という考え方がある。リーンスタートアップでは、最低限の製品やサービス、試作品を作って顧客の反応をみる。そしてフィードバックがあれば反映し、その繰り返しでサービスを優れたものにしていく。
こうした2つの観点から、黒川氏は「事業部門と開発部門が連携するアジャイル開発の範囲に加え、DevOpsは顧客から運用部門までを全て網羅する。そこで持続的なイノベーション、フィードバック、改善などを実現し、リーンスタートアップを支える」とDevOpsを位置づけた。
「ユーザーを含めたDevOps」と「コラボレーティブな開発環境」の2つの事例
こうしたDevOpsの位置づけを踏まえ、黒川氏は2つの事例を示した。1つめは世界最大級のソフトウェアテストサービス「uTest」の例である。
uTestは、200ヵ国に約10万人のテスターを抱えるコミュニティを運営している。クラウドソーシングにより、世界中で実際の使用環境に近い形でモバイルアプリケーションなどのテストができることが強みだ。
たとえば、モバイルアプリ開発において、事業部門はユーザー価値の向上、開発部門は機能追加や障害対応に対する迅速性、テスト部門は障害レポートの起票の手間、ユーザーは不満や障害をすぐに直してもらえないなど、様々な課題を持っている。
そこでuTestでは、DevOpsサイクルを加速化する仕組みを導入した。ユーザーの障害情報はクラウドに蓄積され、必要に応じて事業部門にフィードバックされると同時に、直接設計者や開発者にもクラッシュログや障害の傾向分析といった形で送られるという仕組みだ。画面スクリーンショットやCPU利用率、メモリー使用率、スタックトレース、充電率などが自動的に取得されて送られる。デモンストレーションでは、「画像が不明瞭で見えにくい」というユーザーからの指摘を受けて、迅速に担当者が対応する流れが紹介された。こうした仕組みによって、顧客から運用部門までを含めた継続的なモニタリングを実現し、継続的な改善を行いながらビジネスを前進させることが可能になったという。
uTestにおけるDevOpsプラクティスのポイントについて、黒川氏は、実際に動いた後に「運用品質のモニターおよび検証」でしっかりモニターすることと、ユーザーからの直接フィードバックのように「ループバックを拡大する」ことをあげ、「今後は当然のことになる。CIもCDも継続的モニターに集約される」と評した。
そして、そのエッセンスとして「頻繁で正確なビルドの配布」のような自動化、ユーザーにも使える直感的な操作といった「容易さ、シンプルさ」、そして、本番だけでなく「テスト段階のメトリックス収集」や「ユーザーからの直接フィードバックの継続的な収集」などを挙げた。さらに、ユーザーの感情・心情(肯定的・中立・否定的)を分析する「センチメント分析」も紹介。この感情の分析と品質メトリクスを組み合わせることで、マーケティングへの有用性がより高まるというわけだ。
今後はuTestとの連携で「Mobile Quality Assurance」として展開する予定とのこと。現在Open Betaで公開されているので、興味がある人は試してみるとよいだろう。
もう1つ、DevOpsプラクティスの事例として紹介されたのが、銀行や小売業などに企業向けモバイルソリューションを提供している「PointSource」の例である。
PointSourceでは、「対応の迅速性」および「ユーザーからの要求への柔軟な対応」の実現と、地理的な問題やコミュニケーションミスなどによる「ユーザーとの摩擦」の解消を、課題として抱えていた。そのために、コストをかけずに早期のプロジェクトを立ち上げ、ユーザーまで含めたコラボレーション環境を構築することが急務とされた。
そこでPointSourceに導入されたのが、IBMの「JazzHub」と「BlueMix」を活用した「開発クラウド」環境である。JazzHubは計画やタスクやソースの管理を行うSaaS、BlueMixは開発したアプリケーション実行を行うPaaSである。会場では、これらが実現する新しいクラウドベースの開発手法が、デモンストレーションにより示された。
黒川氏はPointSourceの事例について、クラウド上にコラボレーティブ開発環境を構築するポイントを紹介。早期にアプリケーションを見せ、素早いフィードバックによって、ライフサイクルマネジメントを行うことが重要だとした。
また、トレーサビリティーを確保することも重要なポイントである。開発者にとって最も不快なのは「何のためにこのアプリを作るのか不明であること」だという。開発環境は、そこを担保するものが望ましい。各メンバーのアクティビティがわかり、「誰が何をやってるかわからない」ことのないコラボレーション環境を構築できれば、全体のモチベーションが高まり、ビジネススピードも上がっていく。
黒川氏は「今後は継続的なモニタリング、継続的な改善をDevOpsが支え、SaaSやPaaS上でコラボレーティブ開発が行われるようになるだろう。特に、ユーザーと事業部門をつなぐ仕組みには大きなニーズがある。また、テクノロジーの進化はどんどん速くなり、開発者はそれを追っていかなければならない。好奇心を忘れずにどんどん追ってほしい」と語り、講演を締めくくった。
なお、JazzHubとBlueMixは無料で試せるようになっている。関心のある方は試してみるとよいだろう。
日本アイ・ビー・エム株式会社
〒103-8510 東京都中央区日本橋箱崎町19-21
TEL: 0120-04-1992