SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

【デブサミ2014】セッションレポート (AD)

【デブサミ2014】13-B-4 レポート
ビジネスの成功と快適な開発を同時に実現する「DevOps」の事例を紹介

  • このエントリーをはてなブックマークに追加

 開発(Development)と運用(Operations)が協力し、ビジネス要求を反映したシステムを迅速に実現する手法として注目される「DevOps」。様々な自動化ツールが登場しているが、プロセスとカルチャーが定着していなければ実現は難しい。果たして実現するプラクティスと適用ロードマップとは何か。日本アイ・ビー・エム株式会社 ソフトウェア事業 Rational ITテクニカル・セールスの黒川敦氏が2つの事例を示しながら考察を行った。

  • このエントリーをはてなブックマークに追加
日本IBM ソフトウェア事業 Rational ITテクニカル・セールス 黒川 敦氏
日本IBM ソフトウェア事業 Rational ITテクニカル・セールス 黒川 敦氏

ビジネス環境の変化がもたらす「新しい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
顧客・事業部門を含めたDevOps

「ユーザーを含めたDevOps」と「コラボレーティブな開発環境」の2つの事例

 こうしたDevOpsの位置づけを踏まえ、黒川氏は2つの事例を示した。1つめは世界最大級のソフトウェアテストサービス「uTest」の例である。

 uTestは、200ヵ国に約10万人のテスターを抱えるコミュニティを運営している。クラウドソーシングにより、世界中で実際の使用環境に近い形でモバイルアプリケーションなどのテストができることが強みだ。

 たとえば、モバイルアプリ開発において、事業部門はユーザー価値の向上、開発部門は機能追加や障害対応に対する迅速性、テスト部門は障害レポートの起票の手間、ユーザーは不満や障害をすぐに直してもらえないなど、様々な課題を持っている。

 そこでuTestでは、DevOpsサイクルを加速化する仕組みを導入した。ユーザーの障害情報はクラウドに蓄積され、必要に応じて事業部門にフィードバックされると同時に、直接設計者や開発者にもクラッシュログや障害の傾向分析といった形で送られるという仕組みだ。画面スクリーンショットやCPU利用率、メモリー使用率、スタックトレース、充電率などが自動的に取得されて送られる。デモンストレーションでは、「画像が不明瞭で見えにくい」というユーザーからの指摘を受けて、迅速に担当者が対応する流れが紹介された。こうした仕組みによって、顧客から運用部門までを含めた継続的なモニタリングを実現し、継続的な改善を行いながらビジネスを前進させることが可能になったという。

ユーザーの直接フィードバックによるコラボレーティブな開発環境を実現したuTest
ユーザーの直接フィードバックによるコラボレーティブな開発環境を実現したuTest

 uTestにおけるDevOpsプラクティスのポイントについて、黒川氏は、実際に動いた後に「運用品質のモニターおよび検証」でしっかりモニターすることと、ユーザーからの直接フィードバックのように「ループバックを拡大する」ことをあげ、「今後は当然のことになる。CIもCDも継続的モニターに集約される」と評した。

 そして、そのエッセンスとして「頻繁で正確なビルドの配布」のような自動化、ユーザーにも使える直感的な操作といった「容易さ、シンプルさ」、そして、本番だけでなく「テスト段階のメトリックス収集」や「ユーザーからの直接フィードバックの継続的な収集」などを挙げた。さらに、ユーザーの感情・心情(肯定的・中立・否定的)を分析する「センチメント分析」も紹介。この感情の分析と品質メトリクスを組み合わせることで、マーケティングへの有用性がより高まるというわけだ。

今後はuTestとの連携で「Mobile Quality Assurance」として展開する予定とのこと。現在Open Betaで公開されているので、興味がある人は試してみるとよいだろう。

 

 もう1つ、DevOpsプラクティスの事例として紹介されたのが、銀行や小売業などに企業向けモバイルソリューションを提供している「PointSource」の例である。

 

 PointSourceでは、「対応の迅速性」および「ユーザーからの要求への柔軟な対応」の実現と、地理的な問題やコミュニケーションミスなどによる「ユーザーとの摩擦」の解消を、課題として抱えていた。そのために、コストをかけずに早期のプロジェクトを立ち上げ、ユーザーまで含めたコラボレーション環境を構築することが急務とされた。

 

そこでPointSourceに導入されたのが、IBMの「JazzHub」と「BlueMix」を活用した「開発クラウド」環境である。JazzHubは計画やタスクやソースの管理を行うSaaS、BlueMixは開発したアプリケーション実行を行うPaaSである。会場では、これらが実現する新しいクラウドベースの開発手法が、デモンストレーションにより示された。

PointSourceが採用した、IBMのJazzHubとBlueMixを活用した
クラウド・ベースの開発によるコラボレーション環境
PointSourceが採用した、IBMのJazzHubとBlueMixを活用したクラウド・ベースの開発によるコラボレーション環境

 黒川氏はPointSourceの事例について、クラウド上にコラボレーティブ開発環境を構築するポイントを紹介。早期にアプリケーションを見せ、素早いフィードバックによって、ライフサイクルマネジメントを行うことが重要だとした。

 また、トレーサビリティーを確保することも重要なポイントである。開発者にとって最も不快なのは「何のためにこのアプリを作るのか不明であること」だという。開発環境は、そこを担保するものが望ましい。各メンバーのアクティビティがわかり、「誰が何をやってるかわからない」ことのないコラボレーション環境を構築できれば、全体のモチベーションが高まり、ビジネススピードも上がっていく。

 黒川氏は「今後は継続的なモニタリング、継続的な改善をDevOpsが支え、SaaSやPaaS上でコラボレーティブ開発が行われるようになるだろう。特に、ユーザーと事業部門をつなぐ仕組みには大きなニーズがある。また、テクノロジーの進化はどんどん速くなり、開発者はそれを追っていかなければならない。好奇心を忘れずにどんどん追ってほしい」と語り、講演を締めくくった。

 なお、JazzHubとBlueMixは無料で試せるようになっている。関心のある方は試してみるとよいだろう。

お問い合わせ

日本アイ・ビー・エム株式会社

〒103-8510 東京都中央区日本橋箱崎町19-21

TEL: 0120-04-1992

URL: http://www-06.ibm.com/software/jp/rational/devops/

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/7679 2014/04/01 14:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング